close

Вход

Забыли?

вход по аккаунту

Новикова Екатерина Владимировна. Формирование кредитного портфеля банка в агентной модели экспериментальной экономики

код для вставки
3
АННОТАЦИЯ
ВКР 88 с., 21 рис., 10 табл., 24 источников, 3 прил.
БАНКОВСКАЯ
АГЕНТНАЯ
СИСТЕМА,
МОДЕЛЬ,
КРЕДИТНО-ДЕНЕЖНАЯ
ЭКСПЕРИМЕНТАЛЬНАЯ
ПОЛИТИКА,
ЭКОНОМИКА,
ДОМОХОЗЯЙСТВА, ЦЕНТРАЛЬНЫЙ БАНК, ЮРИДИЧЕСКИЕ ЛИЦА, ЗАЯВКИ
НА
КРЕДИТ,
КРЕДИТНЫЙ
ПОРТФЕЛЬ,
ИМИТАЦИОННОЕ
МОДЕЛИРОВАНИЕ.
Выпускная квалификационная работа посвящена разработке модуля
«Формирование кредитного портфеля» агентной модели экспериментальной
экономики.
В первой главе поясняется актуальность выбранной темы, описание
предметной области и обзор аналогов и прототипов агентной модели.
Во
второй
главе
описывается
структура
агентной
модели
экспериментальной экономики и информационное обеспечение модуля, а также, с
помощью нотации языка UML, были описаны возможности модуля в модели.
Помимо этого были реализованы алгоритмы формирования кредитного портфеля
по юридическим и физическим лицам.
В третьей главе был произведен выбор программных средств под
поставленную задачу, а также были описаны три пользовательских интерфейса,
первый для задания исходных данных, второй – для ввода управляющих
воздействий в процессе моделирования, третий – для вывода результатов. Был
проведен эксперимент с использованием статистических данных для проверки
работоспособности алгоритмов.
4
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1.ТЕОРЕТИЧЕСКИЕ
5
ОСНОВЫ
ФОРМИРОВАНИЯ
КРЕДИТНОГО
ПОРТФЕЛЯ
8
1.1 Понятие кредитного портфеля, его виды и состав
8
1.2 Обзор аналогов и прототипов агентной модели
12
2 АЛГОРИТМИЧЕСКАЯ РЕАЛИЗАЦИЯ МОДУЛЯ «ФОРМИРОВАНИЕ
КРЕДИТНОГО
ПОРТФЕЛЯ»
АГЕНТНОЙ
МОДЕЛИ
ЭКСПЕРИМЕНТАЛЬНОЙ ЭКОНОМИКИ
19
2.1 Структура агентной модели экспериментальной экономики
19
2.2 Информационное обеспечение модуля
26
2.3 Алгоритм формирования кредитного портфеля по юридическим лицам
31
2.4 Алгоритм формирования кредитного портфеля по физическим лицам
40
2.5 Общий алгоритм формирования кредитного портфеля
44
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ И ЭКСПЕРТАЛЬНОЕ ИССЛЕДОВАНИЕ 47
3.1 Выбор программного средства
47
3.2 Интерфейс агентной модели экспериментальной экономики
52
3.3 Экспериментальные исследования
58
ЗАКЛЮЧЕНИЕ
60
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
62
ПРИЛОЖЕНИЕ А (ОБЯЗАТЕЛЬНОЕ)
65
ПРИЛОЖЕНИЕ Б (СПРАВОЧНОЕ)
72
ПРИЛОЖЕНИЕ В (ОБЯЗАТЕЛЬНОЕ)
85
Удостоверяющий лист № 140203/п
86
Информационно-поисковая характеристика документа на электронном
носителе
87
5
ВВЕДЕНИЕ
Банковская система представляет собой взаимосвязанную совокупность
различных видов кредитных учреждений, а также национальных банков,
подчиняющихся кредитно-денежной политике:
1. Центробанк.
2. Совокупность коммерческих банков.
3. Другие кредитно-расчетных центры.
О наличии в стране банковской системы можно говорить, если в
достаточном количестве функционируют банки, кредитные учреждения, а также
экономические организации, которые выполняют отдельные банковские операции.
Согласно данным отчета Центробанка России от 01.04.2016 на общей
территории РФ было зарегистрировано 654 банка, которые могут проводить
банковские операции.
Что составляет около три пятых от общей доли всех зарегистрированных
кредитных организаций на 01.04.2016.
Для улучшения функционирования работы модели было принято решение
о написании модуля, который будет имеет возможность отобразить текущую
структуру банковской системы, в общем виде, беря во внимание особенности
сферы и недостаточное регламентирование её государством. Помимо этого, в
модуль
будет
вложен
функционал,
позволяющий
вывести
результаты
моделирования, которые в дальнейшем смогут являться вспомогательным
предметом анализа для банковских аналитиков.
Агентная модель экспериментальной экономики, которая будет включать
разрабатываемый
модуль,
является
результатом
междисциплинарного
исследования. Она сочетает различные направления таких сфер как социология,
экономика, когнитивная психология и имитационное моделирование, а также
содержит составляющие, характерные для искусственного интеллекта[1].
Наличие модуля и связанных с ним элементов банковского дела, дает
возможность модели производить наиболее точную симуляцию общества в рамках
6
её структуры, потому что только наличие кредитного портфеля дает возможность
функционировать составляющим экономики более приближенно к реальным
условиям.
Этому свидетельствует то, что деятельность юридических лиц на разных
этапах развития вплотную связана с обращением в кредитные организации с целью
приобретения денежных средств на реализацию своих планов, т.е организации
выдают кредиты юридическим лица.
Подобно предприятиям -
домохозяйства также могут воспользоваться
услугами кредитных организаций, в качестве заёмщиков, для удовлетворения
собственных потребностей.
Беря во внимание эти факты, вытекает необходимость реализации в модели
направлений, которые будут являться частью кредитного процесса.
Давая возможность для реализации кредитного процесса, появляется
перспектива отслеживания не только финансовой устойчивости, а также темпов
роста активов в любой момент времени, но и влияния различных факторов на
жизненный цикл банковских кредитов.
Центральные параметры модели банка – не затрагивающие частностей,
основаны на:
­ распоряжениях Центробанка;
­ сведениях, которые находятся в открытом доступе.
Поэтому нельзя в полной мере полагаться на то, что результаты,
выдаваемые модулем «Формирование кредитного портфеля», являются целиком
правдоподобными.
Одновременно
с
тем,
что
эти
данные
не
являются
целиком
правдоподобными, они в тоже время дают возможность отобразить общую
динамику, а также состояние области экономики.
Со стороны практики от лица государства интерес сводится касательно
денежной и кредитной политики и выполнении программ, которые касаются
отраслей, связанных с развитием к оценке эффективности управляющих
воздействий
7
Оценивание эффективности воздействия на экономическую систему и
выбор наилучшей комбинации воздействий реализовываются путем изменения
ставки
рефинансирования,
объема денежной
массы. В
результате
чего
накладываются лимиты на потоки экспорта и импорта, и движение капитала[1].
Целью данной работы является разработка модуля «Формирование
кредитного портфеля» агентной модели экспериментальной экономики.
Для выполнения поставленной цели необходимо выполнить следующие
задачи:
1. Изучить предметную область.
2. Обзор аналогов и прототипов агентной модели.
3. Разработать
алгоритмы
формирования
кредитного
портфеля
по
юридическим и физическим лицам.
4. Разработать инструментальные средства, реализующие разработанную
методику.
5. Проверка адекватности работы алгоритмов.
8
1.ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ФОРМИРОВАНИЯ КРЕДИТНОГО
ПОРТФЕЛЯ
1.1 Понятие кредитного портфеля, его виды и состав
Для того, чтобы осуществить основные цели данной работы, необходимо
провести анализ предметной области, изучить основные понятия и принципиально
важные различия.
Кредитно-денежная
Действенность
политика,
проводимой
банком
которая
проводится
кредитной
политики
самим
банком,
имеет
прямую
зависимость от формирования кредитного портфеля. Следовательно, ключевым
понятием данной работы является определение кредитного портфеля.
В теоретическом представлении банковского дела отсутствует единое
определение кредитного портфеля банка. Различные авторы представляют это
понятие по-своему, включая в него разные составляющие. Поэтому выделить
какое-то единое, точное и непротиворечивое определение пока не предоставляется
возможным.
По мнению Лаврушина О.И. кредитным портфелем банка является
совокупность выданных заемов, которые связанны с иными факторами риска,
связанные с кредитом, либо способами защиты от него [2].
В этом определении есть свои сторонники, однако, есть и те авторы,
которые трактуют это понятие иначе. В качестве примера можно привести понятие
«кредитного портфеля» из различных источников:
1. Кредитный
портфель
–
ссуды,
предоставленные
банком
своим
клиентам [3].
2. Кредитный портфель – это вся совокупность кредитов, выданных банком
и которая затрагивает каждый временной момент [4].
3. Кредитный портфель – итог производительности банка по выдаче
кредитов, который содержит совокупность всех кредитов, которые выдает банк, за
определенный такт времени [5].
9
4. Кредитный портфель- это остаток задолженности по-каждому выданному
банком кредиту физическому или юридическому лицу на соответствующую
дату [4].
Рассмотрим виды кредитного портфеля:
­ Нейтральный риск;
­ сбалансированный;
­ оптимальный.
Нейтральный риск, то есть кредитный портфель рассматривается через
небольшие показатели доходности и не высокие показатели рискованности. При
рискованном кредитном портфеле все наоборот.
Сбалансированный, то есть кредитный портфель состоит из набора
кредитов, выдаваемых банком, которые дают банку наибольший доход.
Оптимальный, то есть кредитный портфель помогает банку решить его
задачи. При этом главным отличием этого вида является высокое качество и
сходство задачам банка касаемо его политике.
Одним из видом функционирования банка является кредитование. Потому,
что операции связанные с ним, например, выдача кредитов, дают банку
возможность в получении наибольших доходов в том случае, когда кредитноденежная политика правильна.
Экономическая категория, которая представлена кредитом, определяет вид
отношений в обществе, связанный с движением стоимости при условии
возвратности.
Формами кредита являются товарная и денежная. В свою очередь, в
товарной форме реализуется передача стоимости во временное пользование в виде
конкретной вещи родовыми признаками.
В денежной форме кредит преобладает в современной экономической
системе. Погашение и представление его происходит с помощью денежных
средств. Неотъемлемой чертой кредита со стороны экономической категории
является возвратность стоимости заема, которую нельзя отменить волею одного из
субъектов кредитного отношения.
10
Банковские функции банк осуществляет через банковские операции. Такие
операции могут быть активными и пассивными. Расчетно-кассовые операции,
услуги по кассе, услуги между банками и другие услуги являются активными. При
этом в пассивных банковских операциях банк выполняет роль заемщика, а в
активных операциях – кредитора.
Существуют различные подходы к характеристике кредитного портфеля,
рассмотрим группу подходов, характеризующих уровень портфеля.
Содержание кредитного портфеля банка можно расценивать на прикладном
и категориальном уровнях. На категориальном уровне кредитным портфелем
являются отношения связанные с контрагентами банка и банком, которые касаются
возвратного стоимостного движения. Форма данных отношений - требования
кредитного характера.
Комплекс активов банка, которые выражены в виде депозитов, ссуд,
учтенных векселей, кредитов между банками, депозитов и прочих требований,
которые носят кредитный характер представляет собой кредитный портфель на
прикладном уровне [6].
Определив понятие и состав кредитного портфеля банка, следует перейти к
особенностям его формирования и факторам, влияющим на его формирование.
Формированию кредитного портфеля предшествует определение цели
кредитной организации, разработка кредитной политики, выведены приоритеты в
деятельности
(например,
приоритет
в
деятельности
ВТБ24
является
потребительское кредитование, что напрямую влияет на кредитной портфель
организации).
Кредитная политика – основной документ банка, отражающий в себе цели
и задачи, а также пути к их осуществлению. Как и любой внутренний документ,
кредитная политика утверждается руководством банка и является обязательной к
исполнению всеми сотрудниками организации.
Формирование кредитного портфеля происходит в несколько этапов.
11
Первый из них означает формирование некой системы, служащей верхней
границей в кредитовании. Такая граница устанавливается в соответствии с
кредитной политикой банка и целей деятельности кредитной организации.
Обозначение верхней границы кредитования способствует созданию
управляющего воздействия, а именно уменьшению уровня кредитного риска. Он
сопутствует процессу формирования кредитного портфеля, являясь противовесом
сущности портфеля – источника доходов.
Второй этап – отбор объектов подлежащих кредитованию для включения в
состав кредитного портфеля. Критерием данного отбора является оценка
кредитоспособности заёмщика. Оценка производится и для физических лиц, и для
юридических по разным методикам.
Однако, у данных методик есть определенные сходства: выявление целевого
назначения денежных средств, которые заёмщик собирается взять у банка, сфера и
вид деятельности заёмщика, подбор необходимого кредитного продукта, а также
поиск и вероятность возникновения кредитных рисков при выполнении операции
кредитования [7].
В первую очередь, возникает потребность в установление соответствия
между заявкой на кредит и политикой банка, которая затрагивает кредитование.
Если соответствие выполняется, то служащий отдела кредитования анализирует
кредитоспособность будущего заемщика.
Третий этап заключается в проведении анализа состояния кредитного
портфеля
и
управлением
состоянием
кредитного
портфеля,
который
характеризуется текущим мониторингом. В среднесрочный период (от одного года
до 5-7 лет) особенно остро стоит задача по разработке и применению мер по
улучшению качества кредитного портфеля коммерческой организации.
Проведение проверки состояния кредитного портфеля включает в себя
мониторинг структуры, относящейся к движению кредитов по различным
критериям.
Например, экономическим секторам, по срокам погашения, по степени
кредитного риска, по погашению и возвратности выданных банком ссуд, по
12
процентным ставкам, по отраслям, по срокам погашения (срокам кредитных
договоров) и т.п.
Такой подход дает возможность судить об общем риске портфеля, величине
резерва на возможные потери по ссудам, который необходимо формировать, а
также выявление соответствия кредитного портфеля кредитной политике,
стратегии и целям кредитной организации.
Если при анализе кредитного портфеля выявляются отклонения от
заданного стандарта, то руководством банка предпринимаются меры по
выявлению первопричин возникновения отклонений и в среднесрочный период
осуществляются необходимые мероприятия по уменьшению отклонений или
принятию мер по недопущению их возникновения в будущем.
1.2 Обзор аналогов и прототипов агентной модели
В современных экономических моделях получили широкое развитие
использование когнитивного и агентного подходов [8].
Развитие данных подходов связано с тем, что современный экономический
анализ всё больше интересуется движением экономических средств на самом
низком уровне (на уровне отдельных организаций, предприятий и домохозяйств).
Рассмотрим несколько примеров моделей:
«Опыт
построения
гибридной
агент-ориентированной
модели
с
нейронными сетями» - модель, которая описанна в работе Бахтизина А. Р.,
Бахтизиной Н. В.
В данной работе предлагается методический подход к разработке
гибридной агентно-ориентированной модели (ГАОМ), путем объединения АОМ,
вычислимых моделей общего равновесия (Computable General Equilibrium (CGE)
моделей) и нейронных сетей.
Нейронные сети, по мнению авторов модели, требуются для симуляции
обратной реакции домашних хозяйств на различные
сигналы макросистемы.
Работа данного аппарата выглядит следующим образом:
13
1. Формулирование цели моделирования поведения домашних хозяйств (к
примеру, прогнозирование трудовой мобильности между секторами экономики
или прогнозирование спроса на определенную группу товаров).
2.
Провидение специального социологического обследования для
получения массива данных относительно реакции людей (в рамках обозначенной
цели) на изменение макроэкономической ситуации (как правило, изменение
заработной платы) [9].
Специальное
обследование
имеет
смысл
проводить
только
в
исключительных случаях, поскольку для большинства задач можно использовать
существующие специализированные
БД мониторингов
экономического
положения населения России (RLMS или NOBUS).
Далее, в процессе обучения нейронной сети подбирается ее топология с
соответственно настроенными значениями ее параметров, наилучшим образом
отражающая поведение домашних хозяйств.
Управляющих параметров макросистемы (или входных переменных
нейронной сети) не много:
­ размеры заработной платы;
­ величинапенсий и пособий;
­ ставки некоторых налогов.
Естественно, что в реальной жизни число управляющих параметров шире,
к примеру, это могут быть методы не денежного стимулирования труда
работников (похвальные грамоты, знаки отличия и т.д.), но их количественное
измерение, а также степень влияния на мотивацию работников трудно
формализуемо.
Поэтому в предлагаемой методике предусматриваются только методы
прямого монетарного воздействия на домашние хозяйства.
Затем формируется набор агентов микроуровня, в своей совокупности
представляющих компоненты АОМ или «искусственное общество».
14
Следовательно,
виде
экономическая
система,
реализованная
в
CGE модели, представляет собой макроуровень, определяющий поведение
искусственных обществ, к примеру, в плане смены работы.
В свою очередь, искусственные общества представляют микроуровень, на
котором решения, которые генерируют люди, приводят к обратному воздействию
на экономическую систему, которое выражается, к примеру, в изменении
численности работников по отраслям экономики
или в изменении спроса
на
какой-либо вид конечной продукции.
В свою очередь, влияние на макроэкономическую систему извне, например,
изменение налоговых ставок, касается как напрямую агентов макроуровня, так и
опосредовано членов искусственных обществ, которые могут оказать сильное
обратное влияние [10].
С помощью данной модели можно извлечь количественные оценки на
экономическую систему эффекта от воздействий, который выражается в изменении
следующих важных показателей:
­ размера денежной массы в экономике;
­ зарплаты
работников
предприятий
государственной
формы
собственности;
­ депозитных ставок для физических лиц и предприятий;
­ ставок налога на имущество, НДС, налога на доходы физических лиц и
ЕСН, налога на прибыль предприятий и организаций;
­ размера социальных трансфертов домашним хозяйствам России (пенсии,
пособия и т.д.);
­ объема инвестиций в основные фонды предприятий государственной и
частной форм собственности.
Агентная модель экспериментальной экономики реализована семью
экономическими агентами.
Вдобавок агенты-производители представлены тремя из них. Перечислим
каждый из них [11].
15
Экономический агент №1 – государственный сектор экономики, который
состоит из:
­ предприятия;
­ доля государственной собственности в которых более 50 процентов.
Экономический агент №2 – рыночный сектор, который состоит из:
­ легально существующих предприятий;
­ организаций с частной и смешанной формами собственности;
­ организации со смешанной формами собственности.
Экономический агент №3-теневой сектор.
Экономический агент №4 - искусственные общества, представляющие
совокупность людей, работающих на предприятиях государственной и частной
форм собственности.
Помимо этого, в модели рассматривается искусственное общество,
состоящее
из
работников
легально
зарегистрированных
предприятий,
подрабатывающих на неофициальной работе.
Экономический
агент
№5
–
правительство,
представленное
совокупностью:
­ федеральных правительств;
­ региональных правительств;
­ местных правительств;
­ внебюджетных фондов;
­ некоммерческие организации, обслуживающие домашние хозяйства
(политические партии, профсоюзы, общественные объединения и т.д.).
Экономический агент №6 – банковский сектор, включающий в себя:
­ Центральный банк России;
­ коммерческие банки, действующие на территории России.
Экономический агент №7 – внешний мир. В данной версии модели все
экономические показатели внешнего мира задаются экзогенно
(т.е.
все
материальные и финансовые потоки определены для всех периодов времени,
16
исходя
из
того
или
иного
сценария
взаимодействия
отечественных
производителей с производителями других стран).
Главными различиями данной модели от разрабатываемой являются:
а) зависимости между объектами в модели, а также состояния
равновесия
на
рынках
достигаются
за
счёт
функциональных
зависимостей;
б) наличие нейронных сетей, требующих обучения на специальных
данных;
в) экономические
агенты
являются
агрегированными
и
функционируют как один объект.
2) «Влияние правительственных расходов и налоговой ставки на ВВП в
искусственной
экономической
системе
на
основе
агентов»
-
агентно-
ориентированная модель искусственной экономической системы из работы
Shigeaki Ogibayashi и Kousei Takashima.
Агентно-ориентированная модель искусственной экономической системы в
качестве автономных агентов принятия решений включает:
­ потребителей;
­ производителей;
­ банк;
­ правительство.
Рассчитывается, что производители делятся на три типа агентов:
­ розничные торговцы, которые производят конечные продукты для
потребителей [13];
­ оптовые торговцы, которые производят и поставляют сырье для
розничной торговли;
­ производитель оборудования, который поставляет оборудование для
производства других типов производителей.
Между тем потребители делятся на:
­ частных сотрудников, которые работают на частную компанию;
­ государственных служащих, которые работают на правительство.
17
Каждый агент имеет свой набор атрибутов и правил действия и
взаимодействует с другими во время моделирования.
Набор атрибутов включает в себя переменные состояния, такие как суммы
депозита, денежные средства и т. д., а также значения параметров, такие как
коэффициент изъятия депозитов, коммунальные услуги для каждого класса
продуктов и т. д.
Из-за взаимодействия между агентами во время моделирования, в
результате расчетов возникают факторы макроуровня, такие как ВВП, средняя
рыночная цена, коэффициент Джини, распределение потребительских активов и
т. д [14].
Переменные состояния каждого агента, которые относятся к наличности и
депозитам в начале каждого финансового периода заданы особыми уравнениями.
Каждый набор действий агента включает в себя единицы периода, где
один период считается одним месяцем в реальном времени.
В течение каждого периода некоторые переменные состояния агентов будут
изменяться в стоимости из-за взаимодействия между агентами. В конце каждого
финансового периода каждый агент производит расчеты по своим счетам методом
двойной записи.
Суммируя вычисленные данные всех агентов, определяется таблица
«затраты-выпуск» по отношению к искусственной системе и получается значение
ВВП за каждый финансовый период.
Главными различиями данной модели от разрабатываемой являются:
а) наличие более жёстких функциональных зависимостей на рынке;
б) отсутствие отраслевой и географической составляющей в экономике.
В таблице 1 представлен результат сравнительного анализа представленных
и разрабатываемой моделей.
18
Таблица 1– Обзор аналогов и прототипов
ГАОМ
(Бахтизин А.Р.,
Бахтизина Н.В.)
АМ искусственной
АМЭЭ
экономической системы
(Shigeaki Ogibayashi,
Kousei Takashima)
Многоагентная
+
+
+
+
-
-
+
-
-
-
-
+
-
+
+
+
-
-
модель
Агрегированные
агенты
Наличие нейронной
сети
Возможность
изменения
инфраструктуры
модели (регионы,
специальности,
отрасли)
Использование
бухгалтерского
баланса
Полные
функциональные
зависимости
19
2 АЛГОРИТМИЧЕСКАЯ РЕАЛИЗАЦИЯ МОДУЛЯ «ФОРМИРОВАНИЕ
КРЕДИТНОГО ПОРТФЕЛЯ» АГЕНТНОЙ МОДЕЛИ
ЭКСПЕРИМЕНТАЛЬНОЙ ЭКОНОМИКИ
2.1 Структура агентной модели экспериментальной экономики
Агентная модель экспериментальной экономики, которая будет включать
разрабатываемый
модуль,
является
результатом
междисциплинарного
исследования. Она сочетает различные направления таких сфер как социология,
экономика, когнитивная психология и имитационное моделирование, а также
содержит составляющие, характерные для искусственного интеллекта[1].
Модель является имитационной, что означает следующее:
1. Она реализована как компьютерная программа, работа с ней идет через
пользовательские интерфейсы, один для задания исходных данных, другой – для
вывода результатов [15].
2. Модель включает в себя набор информационных объектов, которые
создаются на основе данных на начало периода, а затем подвергаются изменениям
в соответствии с алгоритмами программы и индивидуальными решениями агентов.
3. ИМ являются стохастическими, то есть параметры моделирования – это
случайные числа, подчиненные некоторому закону распределения, поэтому
результаты каждого прогона модели будут уникальными. Для обеспечения
достоверности прогноза на модели совершают несколько (10-20) прогонов, после
чего статистически обрабатывают результаты [Naylor, Balintfy, Burdick, Chu,
1966.].
4. На ИМ можно проводить сценарные расчеты, задавая различные значения
параметров внешней среды, которые являются неуправляемыми и заранее не
предсказуемыми. После серии расчетов оцениваются последствия различных
управляющих воздействий при реализации различных сценариев.
Модель экспериментальной экономики использует в своей реализации
основные элементы системной динамики – накопители и потоки. Причём в
20
качестве накопителей в данной модели выступают бюджеты юридических лиц,
домашних хозяйств и государства в целом.
Состояние системы изменяется под действием времени и событий.
Ключевым звеном системы является агент, причём понятие агента в рамках
системы многообразно.
Агент может характеризоваться не только как отдельный человек, но и как
домохозяйство (совокупность индивидов, потребляющих товары и услуги),
юридические лица с различной организационно правовой формой хозяйствующего
субъекта.
Использование
социологических,
экономических,
банковских
исследований позволяет воспроизвести условия реального мира в уменьшенном
виде.
Рисунок 1 – Взаимосвязи между компонентами агентной модели
На рисунке 1 изображены группы экономических агентов со стороны
финансовых потоков и взаимосвязи между ними. В экономическом блоке можно
выделить реальный и финансовый сектор [16].
При этом реальный сектор рассматривается, как производящий и услуги, и
товары.
На рисунке 2 изображены в виде структуры, состоящей из трех уровней,
финансовые потоки между агентами разных типов.
21
Нижний уровень структуры состоит из отдельных агентов и домохозяйств,
состоящих из определенного количества агентов. Необходимость рассматривать
отдельно домашние хозяйства, обусловлено тем, что действующими субъектами в
экономических отношениях действующими субъектами являются не индивиды, а
именно домашние хозяйства. Например, потребителем конечных услуг и
продукции выступает именно домохозяйство, поскольку это обеспечивается за счет
его трудоспособных участников.
Рисунок 2 - Финансовые потоки между агентами разных типов
Из этого следует, трансферты (перемещение валюты или золота, то есть
денежных средств, и других экономических объектов из одной страны в другую) и
зарплата переходят в бюджет домохозяйств. И оплата услуг и товаров, которые
связаны со всеми субъектами домохозяйств, осуществляется из них. Еще одним
примером является трудовая миграция. Следует отметить, что более мобильным
22
является одинокий человек, потому что он может быстро переехать в более
перспективный для него регион. Но в случае, если на его попечении находятся
престарелые родители или маленькие дети, то происходит ограничение его
миграционной мобильности.
Домохозяйство также очень часто является заемщиком, чаще всего в
случаях связанных с долгосрочными ипотечными кредитами. Даже если ипотечные
кредиты оформлены на одного человека, у него по правилам должны быть
поручители, а возврат кредита идет из совокупного бюджета домашнего хозяйства.
Конечно, в домашнем хозяйстве имеется частный случай, то есть домашнее
хозяйство может состоять из одного человека.
Касаясь же процессов трудоустройства и образования, при отсутствии в них
миграционной составляющей, действующим субъектом является отдельный агент,
который закрепляется на соответствующем образовательном или рабочем месте.
В свою очередь, в разрезе депозитов, которые касаются физических и
юридических лиц, и размещения их в виде кредитов и привлечения денежных
средств, эмитированных государством рассматривается финансовый сектор.
Заработная плата и прибыль от организаций индивидам и обратный поток
оплаты товаров и услуг; оплата межотраслевых поставок организаций, закупки
импортной продукции и получение оплаты за экспортируемую; кредитнодепозитные потоки между финансовым, реальным сектором и домашними
хозяйствами являются основными финансовыми потоками.
С одной стороны, государство выступает в роле сборщика и эмитента
налогов и денежной массы соответственно, с другой – предоставляет трансферты
населению и субсидии как реальному, так и финансовому сектору, а также наряду
с юридическими лицами участвует в международном обмене капиталом [17].
Для реализации модели была выбрана модульная структура, что в свою
очередь зависело от сложности модели.
Образовательные, демографические и миграционные процессы уже
реализованы в отдельных модулях (рисунок 1), что позволяет воспроизводить
23
экономические процессы в уже существующей и более реалистичной симуляции
общества.
Следует подвести черту, что разработанная модель включает ряд
взаимосвязанных модулей, отражающих различные стороны функционирования
искусственного общества: «Демография», «Образование», «Трудоустройство»,
«Производство», «Потребление», «Финансовая система» и «Государственное
управление» (рисунок 1).
Финансовая система выделена на рисунке для того, чтобы показать роль
разрабатываемого модуля в агентной модели.
География разработанной модели задается в виде набора регионов.
Каждому региону России соответствует регион в модели, а также создается
дополнительный регион «Зарубежье» для отражения потоков импорта, экспорта и
процессов международной миграции.
Государственное управление включает налоговую, бюджетную систему и
систему
социального
обеспечения.
бюджетные организации
в
сферах
Данные
функции
образования,
реализуются
медицины,
через
социального
обеспечения, обороны и безопасности.
Рисунок 3 – Место разработанного модуля в модели экспериментальной
экономики
24
Вся
модель
представляет
собой
взаимосвязанные
и
постоянно
взаимодействующие компоненты, причем организация работы строится на том, что
существуют процессы одного микроуровня, которые находятся под управляющим
воздействием процессов макроуровня (рисунок 1).
В рамках данной модели эта схема является основным принципом
взаимодействия модулей разного уровня. С экономической точки зрения, система,
которая связана с образованием, рассматривается, как институт, главной задачей
которого является превращение неквалифицированной рабочей силы, то есть
учащихся, в квалифицированную рабочую силу, то есть выпускников.
Следует отметить то, что юридические лица разных форм организации и
государство, которое выполняет роль органа, главной задачей которого являются
управление и контроль,
-
действующие субъекты отношений, именно
экономических [1].
Рисунок 4 – Диаграмма вариантов использования агентной модели
Для данной модели предусмотрено взаимодействие с пользователем,
однако, его участие в процессах, происходящих внутри модели – минимально, что
25
делает данную модель удобной и интуитивно понятной в использовании. От
пользователя требуется ввести необходимые параметры, а также принять решение
о начале или о завершении моделирования.
Также, к пользовательским требованиям модели, в которой протекают
процессы модуля, можно отнести то, что пользователи программного обеспечения
должны владеть базовыми навыками работы с любой из версий операционной
системы, которая поддерживается агентной моделью: Windows XP, Windows Vista,
Windows
7,
Windows
администрирование
8,
Windows
оборудования
10.
Техническое
программного
обслуживание
обеспечения
и
должно
выполняться специалистами, имеющими соответствующую квалификацию и
навыки выполнения работ, например, системными администраторами.
Пользователями такого программного обеспечения могут быть различными
специалистами: научными работниками, которые специализируются в этой
области, студенты - экономисты, преподаватели, которые связаны с исследованием
вопросов финансового рынка и соответствующих областей экономики.
Пользователь программного обеспечения может выполнять следующие
операции:
1. Запускать работу модели.
2. Создавать модель.
3. Загружать данные модели.
4. Сохранять данные модели.
5. Изменять параметры моделирования системы.
6. Определять управляющие воздействия.
7. Выводить информацию в формате таблиц Excel, а также выводить общую
статистику с помощью интерфейса программы.
8. Завершить работу.
Нефункциональные требования модуля определяются общей моделью, так
как он напрямую интегрируется в нее.
К функциональным требованиям модуля относятся возможности:
­ формирования кредитного портфеля;
26
­ вывода данных в формате таблиц Excel;
­ вывода статистической информации о результатах формирования
кредитного портфеля;
­ ввода управляющих воздействий.
Диаграмма вариантов использования наиболее ярко позволяет показать
взаимодействие системы с пользователем и модулем, который реализован в данной
выпускной работе (рисунок 3). Детализированная диаграмма вариантов находится
в приложении Б.
2.2 Информационное обеспечение модуля
Информационное обеспечение – совокупность всех данных, необходимых
для выполнения требуемого проектирования.
Включает в себя описание основных стандартных методов, средств,
процедур, проектных решений, характерных для модели, а также правила и нормы
проектирования.
В первую очередь важно изучить общую структуру модуля «Формирование
кредитного портфеля», для выявления компонентов, которые участвуют во
взаимодействии с
другими модулями агентной модели экспериментальной
экономики.
Для начала опишем основные возможности модуля относительно его
пользователей. Для этого воспользуемся нотацией языка описания моделирования
UML. В UML используется набор графических нотаций – диаграмм.
В данном случае целесообразно воспользоваться диаграммой прецедентов
(вариантов использования). Прецеденты – описание со стороны пользователя
шагов, типичных взаимодействий пользователей, приводящих к
конечному
исходу.
С помощью них можно отразить внешний интерфейс конкретной системы и
указать на то, что система должна сделать.
Следовательно можно выделить действующих лиц – «Пользователь» и
«Модуль формирования кредитного портфеля».
27
«Пользователю»
характерны
следующие
варианты
использования:
управление работой модели, инициализация параметров модели, просмотр
статистики, ввод управляющих воздействий (ввод учетной ставки и ввод объема
кредитования финансовых организаций).
Действующее лицо «Модуль формирования кредитного портфеля»
выделено для подробного отражения его действий в модели.
Доступные для него варианты использования: управление работой модели,
генерация кредитного портфеля (обработка заявок на кредит и расчет кредитного
портфеля).
Диаграмма вариантов использования модуля приведена на рисунке 5.
Рисунок 5 – Диаграмма вариантов использования модуля
Модуль
является
расширяемым
компонентом,
адаптировать к изменениям, происходящим в общей модели.
который
возможно
28
Определим основные объекты моделируемой среды. К ним относятся:
предприятие, домохозяйство, заявка на кредит, генератор кредитного портфеля и
отчетность предприятия. В общем виде данные объекты и зависимости между ними
удобно представить в виде диаграммы классов, представленной на рисунке 6.
Запуск модуля «Формирование кредитного портфеля» осуществляется при
поступлении от заемщика заявки на кредит.
Заемщик – одна из сторон кредитных отношений, которая получает
денежные средства в пользование (в ссуду) и обязана их возвратить с учетом
соответствующего ссудного процента другой стороне в установленный ею срок.
При начале работы агентной модели в модуль поступают данные,
содержащие сведения о количестве агентов-банков, размер кредитного портфеля
для каждого из них, а также регион, к которому привязана данная организация. Всё
это в совокупности позволяет осуществить первичную проверку заёмщика, а также
осуществить деятельность агента-банка в сфере кредитования.
Рисунок 6 – Диаграмма классов модуля
29
Более детально взаимосвязи и также последовательные процессы можно
изобразить с помощью диаграммы деятельности. Исходя из диаграммы
деятельности, изображенной на рисунке 7, можно установить последовательность
процессов деятельности, происходящих в основных объектах: домохозяйства,
центральный банк, предприятие, юридические лица – кредитные организации.
Так, домохозяйства и предприятия, являющиеся заемщиками, имеют
одинаковые состояния, а кредитные организации являются центральными
объектами, которые проводят все кредитные операции, в то время как центральный
банк является вспомогательным объектом.
Рисунок 7 – Диаграмма деятельности
Основная руководящая информация, необходимая для модуля, поступает из
интерфейса управляющих воздействий.
В ответ на получение заявки начинает работать компонент оценки
кредитоспособности заёмщика, результатом работы, которого является одобрение
заявки или формирование отказа.
30
В соответствии с разницей в построении отчётной документации, система
чётко разграничивает физические и юридические лица на этапе получения заявки.
Выходными данными модуля являются сформированные списки одобренных
заявок от юридических и физических лиц по отдельности. Сам процесс
формирование кредитного портфеля можно подробно отобразить с помощью
диаграммы последовательности.
Рисунок 8 – Диаграмма последовательности
На диаграмме последовательности, изображенной на рисунке 8 можно
выделить все основные процессы, протекающие между состояниями и объектами,
описанных выше.
Помимо основных объектов, для детализации процессов, были добавлены
объекты кредитного портфеля, который проверяет и оценивает заявки, а также
распределяет их, генератор кредитного портфеля, занимающийся формированием
заявок [18].
31
2.3 Алгоритм формирования кредитного портфеля по юридическим лицам
Кредитование юридических лиц является одной из первостепенных задач
банка, поскольку, как правило ссуды, выдаваемые юридическим лицам, приносят
наибольший доход.
Однако, их кредитование также связано с большими рисками, которые
банку необходимо предусмотреть при составлении кредитного договора или вовсе
отказаться от кредитования заёмщиков, вызывающих подозрение.
Для большинства банков процент кредитного портфеля, распределяемый
между заёмщиками, конкретно – юридическими лицами достаточно велик.
Рисунок 9 - Алгоритм оценки кредитоспособности юридического лица, лист1
32
Рисунок 9, лист2
Выдача ссуды заёмщику-юридическому лицу, обязывает банк провести
обязательный анализ документации, которая предоставляется вместе с заявкой.
Исходя из данных этого анализа, банк решает, возможно ли кредитование
заёмщика, является ли приемлемым для него уровень риска от операции и т.п.
Для реализации данной возможности в модуле «Формирование кредитного
портфеля» был составлен алгоритм оценки кредитоспособности юридического
лица, который отображён на рисунке 9.
Алгоритм состоит из следующих, последовательно выполняемых, действий:
1. Отдельное место в оценке кредитоспособности заемщика занимают
модели оценки вероятности банкротства.
Цель таких моделей – выработка простого, оперативного и точного метода
заблаговременного выделения компаний, испытывающих финансовые затруднения
и близких к банкротству.
В
основе
методики
формирования
модели
лежит
распределение
предприятий на два класса: предприятия – потенциальные банкроты и прочие
33
предприятия (считается, что эта группа – стабильно функционирующие
организации).
Модель была разработана в 1968 г. профессором Нью-Йоркского
университета Эдвардом Альтманом при помощи метода дискриминантного
анализа.
Данный метод анализа являлся преобладающим и наиболее широко
используемым при оценке кредитоспособности заемщика в XX в., а Альтман по
праву считается пионером в вопросах классификации предприятий на группы
кредитоспособности.
Проанализировав отчетность сотен компаний, он вывел формулу для
прогнозирования
банкротства
предприятия,
которая
называется
Z-модель
Альтмана:
Z = 1,2 Х1 + 1,4 Х2 + 3,3 Х3 + 0,6 Х4 + Х5;
(1)
где Х1 – отношение оборотного капитала к сумме активов;
Х2 – отношение нераспределенной прибыли к сумме активов;
Х3 – отношение операционной прибыли к сумме активов;
Х4–
отношение
рыночной
стоимости
акций
к
сумме
кредиторской
задолженности;
Х5 – отношение выручки к сумме активов.
Значение показателя Z меньше 1,81 является признаком того, что
предприятие испытывает определенные трудности, а показатель Z, равный 2,7 и
более, говорит о небольшой вероятности банкротства. В 1983 г.
Альтман получил модифицированный вариант своей формулы для
компаний, акции которых не котировались на бирже:
Z = 0,717 Х1 + 0,847 Х2 + 3,701 Х3 + 0,42 Х4 + 0,995 Х5.
(2)
В этой формуле X4 – балансовая, а не рыночная стоимость акций.
Пограничное значение для этой формулы – 1,23.
34
2. Прежде всего проводится анализ финансового положения
заемщика,
когда рассматриваются количественные показатели экономического состояния
организации.
Для оценки используют несколько групп оценочных показателей:
- показатели рентабельности и оборачиваемости;
- коэффициент ликвидности;
- коэффициент наличия собственных средств.
Коэффициент ликвидности. Позволяет проанализировать способность
предприятия отвечать по своим текущим обязательствам [19].
В результате расчета устанавливается степень обеспеченности предприятия
оборотными средствами для расчетов с кредиторами по текущим операциям.
Коэффициент абсолютной ликвидности К1 является наиболее жестким
критерием ликвидности предприятия и показывает какая часть краткосрочных
долговых обязательств может быть при необходимости погашена за счет
имеющихся денежных средств , средств на депозитных счетах и высоколиквидных
краткосрочных ценных бумаг (итог Y баланса за вычетом строк 640 – «доходы
будущих периодов», 650 – «резервы предстоящих расходов»):
К1
При
расчете
=
стр.260 + стр.250
.
Раз.V (стр.690)
коэффициента
по
строке
(3)
250
учитываются
только
государственные ценные бумаги, ценные бумаги Сбербанка России и средства на
депозитных счетах.
При отсутствии соответствующей информации строка 250 при расчете К1
не учитывается.
Промежуточный
коэффициент
покрытия
(коэффициент
быстрой
ликвидности) К2 характеризует способность предприятия оперативно высвободить
из хозяйственного оборота денежные средства и погасить долговые обязательства.
К2 определяется как отношение:
К2 =
денежные средства +краткосрочные финансовые вложения + дебиторская задолженность
краткосрочные обязательства
;
(4)
35
или
К2
стр.260 + стр.250 +стр.240
.
Раз.V (стр.690)
=
(5)
Для расчета этого коэффициента предварительно производится оценка
групп
статей
«краткосрочные
финансовые
вложения»
и
«дебиторская
задолженность (платежи по которой ожидаются в течение 12 месяцев после
отчетной даты)».
Указанные статьи уменьшаются на сумму финансовых вложений в
неликвидные корпоративные бумаги и неплатежеспособные предприятия и сумму
безнадежной дебиторской задолженности соответственно.
Коэффициент текущей ликвидности (общий коэффициент покрытия) К3
дает общую оценку ликвидности предприятия, в расчет которого в числителе все
оборотные активы, в том числе и материальные (итог раздела II баланса):
К3
=
Раз.II (стр.290)
Раз.V (стр.690)
.
(6)
Для расчета К3 предварительно корректируются уже названные группы
статей баланса, а также «дебиторская задолженность (платежи по которой
ожидаются более чем через 12 месяцев)», «запасы» и «прочие оборотные активы»
на сумму соответственно безнадежной дебиторской задолженности, неликвидных
и труднореализуемых запасов».
Коэффициент наличия собственных средств К4. Показывает долю
собственных средств, предприятия в общем объёме средств предприятия и
определяется как отношение собственных средств (итог раздела III баланса,
увеличенный на сумму срок 640 - «доходы будущих периодов» и 650 – «резервы
предстоящих расходов» ко всей сумме средств предприятия (стр.700):
К4
=
Раз.II (стр.490)
стр.700
.
(7)
36
Показатели оборачиваемости и рентабельности.
Оборачиваемость разных элементов оборотных активов и кредиторской
задолженности рассчитывается в днях исходя из объёма дневных продаж
(однодневной выручки от реализации).
Объем дневных продаж рассчитывается делением выручки от реализации
на число дней а периоде (90,180, 270 или 360).
Средние (за период) величины оборотных активов и кредиторской
задолженности рассчитываются как суммы половин величин на начальную и
конечную даты периода и полных величин на промежуточные даты, деленные на
число слагаемых, уменьшенное на единицу.
Оборачиваемость оборотных активов:
Ооа =
средняя стоимость оборотных активов (по стр.290 баланса)
.
объем дневных продаж
(8)
Оборачиваемость дебиторской задолженности:
средняя стоимость дебиторской задолженности (по стр.230 + 240 баланса)
Одз=
. (9)
объем дневных продаж
Оборачиваемость запасов:
Оз =
средняя стоимость запасов (по стр.210 баланса)
.
объем дневных продаж
(10)
Аналогично могут быть рассчитаны показатели оборачиваемости других
элементов оборотных активов (готовой продукции, незавершенного производства,
сырья и материалов) и кредиторской задолженности.
Показатели рентабельности определяются в процентах и долях [20].
Рентабельность продукции (или рентабельность продаж) К5:
К5
=
прибыль от реализации
выручка от реализации
или
;
(11)
37
К5
=
стр.050 формы №2
.
(12)
стр.010 формы №2
Рентабельность деятельности предприятия К6:
К6
чистая прибыль
=выручка от реализации;
(13)
или
К6
=
стр.190 формы №2
.
(14)
стр.010 формы №2
Рентабельность вложений в предприятие:
Рввп
балансовая прибыль
=
итог баланса
;
(15)
или
Рввп
=
стр.140 формы №2
стр.700 баланса
.
(16)
Основными оценочными показателями являются коэффициенты К1, К2, К3,
К4, К5, К6.
Другие показатели оборачиваемости и рентабельности используются для
общей характеристики и рассматриваются как дополнительные к первым шести
показателям.
3. Оценка результатов расчетов шести коэффициентов заключается в
присвоении категории по каждому из этих показателей на основе сравнения
полученных значений с установленными достаточными [20]. Далее определяется
сумма баллов по этим показателям в соответствии с их весами.
Достаточные значения показателей:
- К1 – 0.1;
- К2 – 0.8;
38
- К3 – 1.5;
- К4 – 0.4 – для всех предприятий, кроме предприятий торговли и
лизинговых компаний (0.25 – для предприятий торговли и лизинговых компаний);
- К5 – 0.10;
- К6 – 0.06
Таблица 2 - Разбивка показателей на категории в зависимости от их фактических
значений
Коэффициент
1 Категория
2 Категория
3 Категория
К1
0,1 и выше
0,05 – 0,1
менее 0,05
К2
0,8 и выше
0,5 – 0,8
менее 0,5
К3
1,5 и выше
1,0 – 1,5
менее 1,0
К4
0,4 и выше
0,25 – 0,4
менее 0,25
К5
0,10 и выше
менее 0,10
нерентаб.
К6
0,06 и выше
менее 0,06
нерентаб.
Формула расчета суммы баллов S имеет вид:
S =0,05·КатегорияК1+0,10·КатегорияК2+0,40·КатегорияК3+
+0,20·КатегорияК4+0,15·КатегорияК5+0,10·КатегорияК6
(17)
Значение S наряду с другими факторами используется для определения
класса кредитоспособности заемщика [21].
Для
остальных
показателей
третьей
группы
(оборачиваемость
и
рентабельность) не устанавливаются оптимальные или критические значения
ввиду зависимости этих значений от специфики предприятия, отраслевой
принадлежности и других конкретных условий.
39
Таблица 3 - Таблица расчета суммы баллов
Показатель Фактическое Категория Вес показателя
значение
Расчет
суммы баллов
К1
0,05
К2
0,10
К3
0,40
К4
0,20
К5
0,15
К6
0,10
Итого
1
Оценка результатов расчетов этих показателей основана, главным образом,
на сравнении их значений в динамике.
4. Определение класса кредитоспособности.
Устанавливается три класса:
­ Первоклассные – кредитование, которых не вызывает сомнений;
­ Второго класса – кредитование требует взвешенного подхода;
­ Третьего класса – кредитование связано с повышенным риском.
Сумма баллов S влияет на класс кредитоспособности на основе суммы
баллов по шести основным показателям, оценки остальных показателей третьей
группы и качественного анализа рисков.
Сумма баллов S влияет на класс кредитоспособности следующим образом:
1) 1 класс: S=1,25 и менее. Обязательным условием к данному классу
является значение коэффициента К5 на уровне установленном для 1-го класса
кредитоспособности.
40
2) 2 класс: S от 1,25 до 2,35.Обязательным условием к данному классу
является значение коэффициента К5 на уровне, установленном не ниже чем для 2го класса кредитоспособности.
3) 3 класс: S>2,35.
2.4 Алгоритм формирования кредитного портфеля по физическим лицам
Модуль
«Формирование
кредитного
портфеля»
агентной
модели
экспериментальной экономики осуществляет приём и первичную обработку заявок
на получение кредита от отдельных агентов, привязанных к определённому
домохозяйству.
Таким образом в модели обеспечивается отражение немаловажной части
банковского сектора – кредитование физических лиц.
Оценка кредитоспособности физического лица представляет собой
алгоритм, изображенный на рисунке 10.
Рисунок 10 – Алгоритм оценки кредитоспособности физического лица, лист 1
41
Рисунок 10, лист 2
Рассмотрим поэтапно действия, осуществляемые модулем «Формирование
кредитного портфеля» при поступлении в него заявки на выдачу кредита от
физического лица.
1.Процентная ставка — сумма, указанная в процентном выражении к сумме
кредита, которую платит получатель кредита за пользование им в расчёте на
определённый период (месяц, квартал, год).
Процентная ставка = учетная ставка +страхование +маржа + риск.
(18)
где учетная ставка - инструмент денежно-кредитного регулирования, один из
методов
антиинфляционнной
политики,
с
помощью
которого Центральный банк воздействует на межбанковский
рынок и экономику страны (управляющее воздействие в
модуле), то есть ставка рефинансирования;
страхование - отношения (между страхователем и страховщиком) по защите
имущественных интересов физических и юридических лиц
42
(страхователей)
при
наступлении
определённых
событий
(страховых случаев) за счёт денежных фондов.
Месячная процентная ставка =
учетная ставка + страхование +маржа +риск
12
.
(19)
2. Расчет суммы кредита (S) и аннуитетного платежа (А).
Свободные денежные средства = ∑доход - ∑прожиточный минимум.
S=
Аннуитетный
количество периодов · свободные денежные средства
(1 + 0,5 · процентная ставка)
платеж
предполагает
выплаты
(20)
.
(21)
равными
суммами
задолженности банку в течение всего срока погашения пользования кредитом.
В соответствии с формулой аннуитетного платежа размер периодических
(ежемесячных) выплат будет составлять:
A = K · S;
(22)
где А - ежемесячный аннуитетный платёж,
К - коэффициент аннуитета,
S - сумма кредита.
Коэффициент аннуитета рассчитывается по следующей формуле:
К=
i · (1 + i)^n
;
(1+i)n −1
(23)
где i - месячная процентная ставка по кредиту (= годовая ставка / 12);
n - количество периодов, в течение которых выплачивается кредит.
С помощью приведённой выше формулы аннуитетного платежа вы можете
узнать ежемесячную сумму, которую нужно платить, чтобы погасить кредит.
3. Платёжеспособность — способность хозяйствующего субъекта к
своевременному выполнению денежных обязательств, обусловленных законом или
договором, за счёт имеющихся в его распоряжении денежных ресурсов.
Платежеспособность =
аннуитетный платеж ·∑ кредита
∑доход
.
(24)
43
4. Имущественная обеспеченность:
­ для долгосрочного кредита
Имущественная обеспеченность=
∑кредита
∑кредита+первоначальный взнос
Первоначальный взнос =
.
(25)
∑кредита ·15
100
.
(26)
­ для потребительского кредита
Имущественная обеспеченность =
∑кредита
∑кредита+ ∑накоплений
.
(27)
5.Присвоение класса кредитоспособности.
Платежеспособность и имущественная обеспеченность для юридических и
физических лиц различны.
Они зависят от номера класса, к которому принадлежит заявка (таблица 4,
таблица 5).
Таблица 4 – Присвоение класса кредитоспособности физическому лицу
(долгосрочный кредит)
Номер класса
Платежеспособность
Имущественная
обеспеченность
1
≤ 0,5
≤ 0,5
2
≤1
≤ 0,9
3
>1
44
Таблица 5 – Присвоение класса кредитоспособности физическому лицу
(потребительский кредит)
Номер
класса
Платежеспособность
Имущественная
обеспеченность
1
≤ 0,2
≤ 0,5
2
≤1
≤1
3
>1
2.5 Общий алгоритм формирования кредитного портфеля
Рассмотрим поэтапно действия, осуществляемые модулем «Формирование
кредитного портфеля» при поступлении в него заявки на выдачу кредита от
физического или юридического лица.
1. Ввод управляющих воздействий
­ учетная ставка %;
­ объемы кредитования финансовых организаций.
2. Проверка соответствия заемщиков обязательным требованиям:
­ для юридических лиц – рассчитывается формула
Z-модель
Альтмана (прогнозирование банкротства предприятия);
­ для физических лиц – оценивается возможность оплаты кредита
(если ежемесячный платеж меньше, чем доход – прожиточный минимум, то
есть свободные средства).
3. Оценка кредитоспособности:
­ для юридических лиц – расcчитываются показатели рентабельности
и оборачиваемости, коэффициенты ликвидности и наличия собственных
средств;
­ для физических лиц – расчитываются имущественная обеспеченность
и платежеспособность.
45
4. Присвоение класса кредитоспособности по оценкам предыдущего
пункта.
5. Формирование списка одобренных заявок, исключая заявки с третьим
классом кредитоспособности и расчет процентной ставки [22].
Оценка кредитоспособности физических и юридических лиц представляет
собой алгоритм, изображенный на рисунке 11.
6. Сортировка одобренных заявок по классу кредитоспособности
от
первого ко второму.
7. Разделение списка заявок по соответствующим регионам.
8. Для каждого региона получаем общую сумму запрашиваемых денежных
средств от заемщиков.
9. Сравнивается
полученную
сумму
с
доступными
средствами
соответствующего регионального банка.
Рисунок 11 – Алгоритм оценки кредитоспособности заемщиков, лист 1
46
Рисунок 11, лист 2
10.
Если доступных средств у регионального банка не достаточно, то
делается запрос центральному банку.
11.
Исходя из полученной суммы и имеющихся денежных средств у
регионального банка формируется список утвержденных кредитов.
Примечание: Для заёмщиков первой и второй категории модуль формирует
рейтинговый список, в соответствии с которым до момента исчерпания части
кредитного портфеля, отведенного для физических и юридических лиц,
производится выдача кредита. Оплата кредита производится в другом модуле.
47
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ И ЭКСПЕРИМЕНТАЛЬНОЕ
ИССЛЕДОВАНИЕ
3.1 Выбор программного средства
Для реализации мультиагентных систем, как программ, в настоящее время,
как
правило,
используются
различные
специализированные
программное
обеспечение и программные системы, содержащие комплекс средств как для
контроля и управления процессом, а также их взаимодействия и работы, так и для
программного описания деятельности самих агентов и состояния среды в целом.
Такие
системы
программного
обеспечения
называются
агентными
платформами. В настоящее время существует богатый набор таких платформ,
предназначенных для создания мультиагентных систем, и до сих пор этот набор
постоянно пополняется.
В него входят: StarLogo, NetLogo, AnyLogic, JADE, Eclipse AMP, Repast
Simphony, Jason. Реализация данных платформ весьма различна – они
представлены как отдельные среды разработки, как встраиваемые плагины, а также
подключаемые библиотек.
Также, эти системы могут использовать как уже существующие языки
программирования
различных
парадигм,
так
и
специальные
языки,
предназначенные для построения программных агентов, например, AgentSpeak в
системе разработки Jason.
По степени формализованности, степени взаимодействия с разработчиком,
системы можно разделить на две группы:
­ промышленные - более ограниченные в разработке, но предоставляющие
больше встроенных возможностей;
­ научные – дающие разработчику гораздо больше свободы в разработке.
По масштабу инструментария платформы можно также разделить на две
группы:
­ простые, такие как NetLogo и StarLogo, имеющие небольшой, но
эффективный ассортимент инструментов, что позволяет быстро создавать сложные
48
программы, однако при написании особо большой и сложной системы этого
инструментария может не хватить;
­ сложные наоборот, имеют более широкий инструментарий, что позволяет
целиком управлять процессом создания обширных программ и систем.
Теперь проведем анализ некоторых из предложенных таких программных
средств.
Система NetLogo разработана как наследник языка программирования Logo.
Система разрабатывалась во многом для обучения разработки многоагентных
сетей.
Обучение программированию происходит через концепты: links, observers,
turtle, patches.
Значительным преимуществом данной системы является то, что она
используется как для моделирования в научных целях, так и для обучения. Система
позволяет моделировать связные явления.
NetLogo поставляется с богатой библиотекой моделей, включая модели
различных областей, таких как физика, экономика, психология, химия.
Система дает возможность следить за изменениями в модели через
различные средства графического интерфейса, а также позволяет авторскую
разработку модификации существующих моделей и создание абсолютно новых
моделей.
NetLogo находится в свободном доступе на официальном веб-сайте. Он
используется в широком спектре образовательных контекстах.
SimPy
–
это
процессно-ориентированный
фреймворк
дискретно-
событийного моделирования, разработанных как надстройка для Python.
Его диспетчер событий основан на генераторах Python, и может быть
использован для асинхронной организации сети, или для реализации мультиагентных систем с искусственными, симулированными и реальными связями.
Процессы в SimPy определены, как говорилось раннее, генератором
функций Python, и, например, могут быть использованы для моделирования
активных компонент, таких как автомобили, покупатели или агенты. SimPy также
49
предоставляет широкое множество разных общедоступных источников для
моделирования точек перегруза с ограниченной пропускной способностью,
например, это могут быть тоннели, контрольно-кассовые пункты, сервера.
Симуляция может быть представлена как максимально быстро, в реальном
времени, так и вручную выполненная – в этом случае все события производятся
пошагово.
Большим плюсом SimPy является то, что он может быть частью большого
комплекса программного обеспечения и может отвечать за симуляцию различных
процессов происходящих в нем.
Пусть,
теоретически
считается
возможным
постоянно
выполнять
симуляции через SimPy, нет никаких вспомогательных функций, дающих такую
возможностью.
Но с другой стороны, SimPy не стоит использовать для симуляций с
определенным количеством шагов, с общедоступными источниками, или где
процессы не взаимодействуют друг с другом.
AnyLogic
-
инструмент
имитационного
моделирования,
который
поддерживает все подходы к созданию имитационных моделей: системно
динамический, процессно-ориентированный или иначе - дискретно-событийный,
и агентный подход, а также любую их комбинацию.
Гибкость,
уникальность
предоставляемого
AnyLogic,
и
возможности
позволяют
языка
контролировать
моделирования,
любой
аспект
моделируемой системы с абсолютно любым уровнем детализации.
Графический интерфейс AnyLogic, инструменты, а также библиотеки
позволяют в короткие сроки создавать модели для большого спектра задач от
моделирования
логистики,
производства,
бизнес-процессов
стратегических моделей развития компании и целых рынков.
вплоть
до
50
Рисунок 12 – Сравнение агентных платформ
Но, помимо специальных средств разработки, представляется возможным
использовать объектно-ориентированные языки программирования.
С их помощью и с помощью различных библиотек можно создавать
полностью контролируемые системы моделирования, что дает гораздо большее
преимущество в плане гибкости и мощности разрабатываемых систем, чем их же
создание с помощью агентных платформ [23].
Такие системы могут быть гораздо быстрее при обработке больших объемов
данных, что является важным фактором.
Использование языков более сложно, потому что требуют большего
внимания при проектировании и построении модели в целом, особенно при
использовании
доступных
структур
данных
-
это
целиком
влияет
на
производительность модели, при обработке больших объемов данных. В настоящее
время наиболее популярными языками при программировании мультиагентных
моделей являются C, C++ и Java.
51
Таблица 6 – Сравнительная таблица языков программирования
Возможности
Язык
Java
С
Python
С++
C#
ООП
Процедурный
ООП
ООП
ООП
+
+
-
+
+
-
-
+
-
-
Неявная типизация
-
-
+
+
+/-
Неявное
+
+
+
+
+
Сборщик мусора
+
-
+
-
+
Многомерные
+
+
+/-
+
+
+
+
+
+
+
-
+
-
+
+
+/-
-
-
-
LINQ
Парадигма
программирования
Статическая
типизация
Динамическая
типизация
типов
приведение
без
потери
данных
массивы
Динамические
массивы
Создание
объектов
на стеке
Язык запросов
Сейчас довольно широкое распространение получил язык С#. Как видно из
таблицы 6 - он обладает достаточно сильным инструментарием, позволяющий
справится с любой поставленной задачей, а также простым синтаксисом, огромным
количеством
различных
компиляторами.
структур,
и
открытыми
для
использования
52
Кроме того, язык C# включает в себя LINQ -Language-Integrated Query,
представляющий собой удобный и простой язык запросов к любому источнику.
LINQ позволяет работать со списками, массивами и словарями подобно работе с
таблицами базы данных используя язык, подобный SQL.
Специальные средства разработки не способны в полном объеме
реализовать возможности разрабатываемой модели, так как имеют некоторые
ограничения в рамках разработки, поэтому было решено использовать язык С# для
разработки модуля. К тому же, данный выбор обусловлен тем, что основная агетная
модель была написана на данном языке, что значительно облегчит интеграцию в
него модуля.
Интегрированная среда разработки (IDE) – это комплекс программного
обеспечения, используемый разработчиками для разработки других программ.
Такие среды могут быть интегрированы с системами управления версиями, что
значительно упросит работу с другими программистами или позволит эффективно
хранить проект.
Также, такие системы могут иметь средства для работы с архитектурной
составляющей и проектированием – браузер классов, построение различных
диаграмм, что значительно упросит работу.
В качестве интегрированной среды разработки была выбрана Visual Studio
компании Microsoft, так как на сегодняшний день это самый перспективный и
эффективный инструмент разработки для языка C#.
Это обусловлено и тем, что этот язык также был разработан компанией
Microsoft. Данная IDE имеет все вышеописанные преимущества, являющейся
серьезным комплексом для разработки программного обеспечения.
3.2 Интерфейс агентной модели экспериментальной экономики
Для осуществления взаимодействия с пользователем, а также ввода в
модель
данных,
которые
являются
моделирования, предусмотрен интерфейс.
необходимыми
для
осуществления
53
Пользовательский интерфейс (ПИ) – система средств и правил, которая
регламентирует и обеспечивает взаимодействие пользователя и программы. В
понятие ПИ входит помимо разнообразных изображений на экране, средства
обмена информацией системы и пользователя [15].
Перед реализацией программного модуля необходимо определить общий
принцип функционирования системы. Это удобно при помощи диаграммы
состояний. Полученная диаграмма представлена на рисунке 13.
Рисунок 13 – Диаграмма состояний модели
После запуска система находится в состоянии, в котором данные не
инициализированы.
При этом отображается стартовая форма (рисунок 14).
В данном состоянии требуется загрузить ранее сохраненные исходные
данные, либо ввести новые данные. При вводе новых данных открывается форма
ввода данных.
54
Рисунок 14 – Стартовая форма
При вводе исходных данных обязательно происходит их валидация.
Если при валидации возникают ошибки, то система остается в стартовом
состоянии,
иначе
переходит
в
состояние
ожидания
генерации
среды
моделирования.
Рисунок 15 – Интерфейс в состоянии готовности моделирования
В состоянии ожидания генерации среды моделирования можно ввести
другие исходные данные (рисунок 15), либо произвести генерацию среды
моделирования.
55
После генерации среды становится доступным запуск моделирования –
осуществляется переход в следующее состояние, в котором доступна форма
запуска моделирования.
Она позволяет задать период моделирования и запустить непосредственно
его процесс. Это представлено на рисунке 16.
Рассматривая модуль отдельно от агентной модели экспериментальной
экономики, взаимодействие с пользователем осуществляется путём ввода
необходимых показателей в специальные поля для ввода информации, а также
принятия решения о начале работы самого модуля.
Дальнейшее взаимодействие модели и модуля происходит без участия
интерфейса.
Оно
осуществляется
путём
управляющих
взаимодействий,
передаваемых из других модулей агентной модели экспериментальной экономики
и служат решением для начала или завершения моделирования.
Рисунок 16 – Форма моделирования
56
Дальнейшее взаимодействие модели и модуля происходит без участия
интерфейса. Оно осуществляется путём управляющих взаимодействий [23],
передаваемых из других модулей агентной модели экспериментальной экономики
и служат решением для начала или завершения моделирования.
В модуле «Формирование кредитного портфеля» агентной модели
экспериментальной экономики интерфейс ввода управляющих воздействий
выглядит следующим образом (рисунок 17).
Дальнейшая работа модуля скрыта от глаз пользователя и осуществляется в
управляемом основными механизмами моделирования режиме.
Рисунок 17 – Интерфейс ввода управляющих воздействий
По завершению моделирования модуля формируются его выходные данные
в формате Excel (статистика по юридическим лицам (рисунок 19), статистика по
физическим лицам (рисунок 18)), также их можно посмотреть на экране.
Помимо общих данных в Excel, выводится окно общей статистики, на
котором можно увидеть статистику по всем заемщикам (рисунок 20).
57
Статистика отображает как общие данные, так отдельно для каждого вида
заемщиков, отображая еще и процентное соотношение заявок и общую сумму
выделенных средств и многое другое.
После просмотра статистики можно заново запустить моделирование, либо
ввести новые исходные данные и повторить программный цикл.
Рисунок 18 – Статистика по физическим лицам
Рисунок 19 – Статистика по юридическим лицам
58
Рисунок 20 – Общая статистика
3.3 Экспериментальные исследования
Целью проведения эксперимента является проверка работоспособности
алгоритмов распределения кредитов, то есть правильно ли они интегрируются в
программу.
Для этого необходимо выполнить последовательно шаги:
1. Загрузка в программу данных о демографической и экономической
структурах населения;
2. Генерация среды (агенты, домохозяйства, юридические лица);
3. Моделирование операций в базовом году (2014 год): выплаты по
кредитам домохозяйствам и юридическим лицам, финансовый цикл финансовой
организации;
4. Формируется спрос на кредиты необходимые домохозяйствам, на
краткосрочные кредиты юридических лиц необходимые для поддержания текущей
ликвидности – из статистики;
5. Алгоритмы экономической динамики;
59
6. Формируется
спрос
на
долгосрочные
кредиты
необходимые
юридическим лицам [24];
7. Срабатывает алгоритм «Формирование кредитного портфеля».
Вывод: В ходе работы был сделан прогон моделирования на 2 года (20142015), то есть в течение 24 тактов модельного времени. Результаты прогона
представлены в таблице 7.
Таблица 7 – Сравнение статистических данных об объемах кредитования с
результатами моделирования
2014
Тип кредита
по
данным
2015
расчетные по данным расчетные
данные
Росстата
данные
30842,4
26354,2
34960,0
31755,3
11329,5
11258,4
10684,3
11033,6
1753,3
2319,1
1157,8
1652,4
Росстата
сумма кредитов
ю.л., млрд. руб
сумма кредитов
ф.л., млрд. руб
из них ипотечных
В таблице представлены суммы кредитов выданных нефинансовым
коммерческим организациям и домохозяйствам (по РФ в целом).
Про анализируя можно заметить, что отклонение реальных данных от
модельных
небольшие.
Следовательно,
программный
адекватно воспроизводит кредитные операции.
модуль
достаточно
60
ЗАКЛЮЧЕНИЕ
Текущее состояние прогресса математических методов и информационных
технологий позволяет строить прогноз комплексных социально-экономических
процессов на совершенно новом уровне по сравнению с прошлыми годами.
В рамках экспериментальной экономики разрабатываемая модель является
итогом междисциплинарного исследования. Помимо того, что она сочетает
различные направления имитационного моделирования, в ней также применяются
элементы искусственного интеллекта, когнитивной психологии, различных
направлений социологии и экономики [1].
Добавление в неё элементов банковского дела, позволяет осуществлять
наиболее точное проецирование общества на структуру модели, поскольку без
формирования кредитного портфеля функционирование экономики невозможно.
Этому свидетельствует то, что деятельность юридических лиц на разных
этапах развития вплотную связана с обращением в кредитные организации с целью
приобретения денежных средств на реализацию своих планов, т.е организации
выдают кредиты юридическим лица. Также и домохозяйства зачастую выступают
в качестве заёмщика кредитных организаций.
Для улучшения функционирования работы модели было принято решение
о написании модуля, который способен продемонстрировать текущее устройство
банковского сектора (в обобщенном виде, ввиду особенностей сферы и
недостаточного регламентирования её государством), вывести результаты
моделирования, которые в будущем могут служить предметом анализа банковских
аналитиков.
В контексте данной цели реализация модуля «Формирование кредитного
портфеля» является важным этапом для формирование комплексной оценки
влияния факторов на общество и экономику в целом.
Данный модуль в рамках модели важен, поскольку осуществляется
формирование кредитного портфеля. Также он может быть использован и для
практических, и для теоретических расчетов и исследований соответственно.
61
Теоретические исследования затрагивают интерес анализа экономических
циклов на микроуровне.
В
свою
очередь,
практические
расчеты
заключаются
в
оценке
эффективности управляющих воздействий со стороны государства затрагивающих
кредитно-денежную политику. На текущий момент это достигается изменением
процентных ставок по кредитам.
Осуществленные в модуле «Формирование кредитного портфеля» функции
позволяют производить кредитование юридических лиц и домохозяйств, что
является незаменимым в современном мире.
В ходе выполнения курсовой работы были выполнены следующие задачи:
1. Изучить предметную область.
2. Обзор аналогов и прототипов агентной модели.
3. Разработать
алгоритмы
формирования
кредитного
портфеля
по
юридическим и физическим лицам.
4. Разработать инструментальные средства, реализующие разработанную
методику.
5. Проверка адекватности работы алгоритмов.
В ходе данной работы было установлено, что разрабатываемый модуль
является необходимым для агентной модели. Тем самым поставленная цель и
задачи были успешно выполнены.
62
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
1. Машкова,
А.Л.
Прогнозирование
долгосрочного
развития
макроэкономических систем на базе агент-ориентированных моделей / А.Л.
Машкова // Государственное управление. Электронный вестник. – 2016. - №57. –
С. 49-68.
2. Машкова
социального
А.Л.
Бихейвиористический
поведения
агентов.
подход
Ежеквартальный
к
моделированию
интернет-журнал
«Искусственные общества». Том 9, номер 1-4, I-IV квартал 2014. С. 86-96.
3. Машкова А.Л. Когнитивная архитектура интеллектуального агента в
имитационных моделях социально-экономических явлений. Ученые записки ОГУ.
Серия «Гуманитарные и социальные науки» – 2014.-№5. С. 78-81.
4. SimPy.
[Электронный
ресурс]
//
SimPy:
[сайт].
URL:
http://simpy.readthedocs.org/en/latest/ (дата обращения: 17.05.2017)
5. Машкова А.Л. Интеллектуальный агент в социальной среде: нечеткие
оценки и правила принятия решений Известия ЮЗГУ. Серия «Управление,
информатика, вычислительная техника». – 2014.-№3.С. 12-19.
6. Лаврушин, О.И. Банковское дело: Учебник . – 2-е изд., перераб. и доп. /
Под ред. О.И. Лаврушина. – М.: Финансы и. статистика, 2005. – 672с.
7. Панова, Г.С. Кредитная политика коммерческого банка. / Г.С. Панова.
– М: ИКЦ «ДИС», 1997. – 464с.
8. Тавасиев, А.М. Учебник для студентов вузов, обучающихся по
экономическим специальностям. – 2-е изд., перераб. и доп. / А.М. Тавасиев. – М.:
ЮНИТИ-ДАНА, 2005. – 671с.
9. Коробова, Г.Г. Банковское дело: учебник / под ред. Г.Г. Коробовой. - изд.
с изм. - М.: Экономистъ, 2006. – 766с.
10.
Банковские риски : учебник / коллектив авторов ; под ред. О.И.
Лаврушина, Н.И. Валенцевой. - 3-е изд., перераб. и доп. - М. : КНОРУС, 2013. - 296
с.
11.
Банковское дело: кредитная деятельность коммерческих банков :
63
учебное пособие / Л.П. Кроливецкая, Е.В. Тихомирова. - М. : КНОРУС,. 2009. 280
12.
Кредитный портфель банка и анализ его коэффициентов и
показателей
[Электронный
ресурс].
Режим
доступа:
www.grandars.ru/student/finansy/kreditnyyportfel-banka.html
13.
Агафонова, М.В. Формирование кредитного портфеля современного
коммерческого банка / М.В. Агафонова // Современные наукоемкие технологии. –
2015. - №6. – С. 52-55.
14.
Центральный банк России Отчет о развитии банковского сектора и
банковского надзора в 2014 году. [Электронный ресурс]. Режим доступа:
http://www.cbr.ru/publ/bsr/bsr_2014.pdf
15.
Федеральный закон РФ от 02.12.90 г. № 395-1 «О банках и
банковской деятельности». [Электронный ресурс]. Режим доступа:
http://www.consultant.ru
16.
Айбазова, М.И. Совершенствование методики рейтинговой оценки
коммерческого банка [Электронный ресурс]. Режим доступа:
http://www.fa.ru/projects/mknrsa/skireports/II/Кредитноэкономический/Айбазова%
20М.И.docx
17.
Лаврушин, О.И. Оценка финансовой устойчивости кредитной
организации / кол. Авторов : под ред. О.И. Лаврушина и И.Д. Мамоновой. - М. :
КНОРУС, 2011. – 304с.
18.
Указание Банка России от 31.03.2000 №766-У (ред. От 21.12.2000)
«О критериях определения финансового состояния кредитной организации»
[Электронный
19.
ресурс]. Режим
доступа: http://www.consultant.ru
Соловьёв, С.В. Технология разработки прикладного программного
обеспечения / С.В. Соловьёв, Р.И. Цой, Л.С. Гринкруг. – М: Академия
Естествознания, 2011. – 407с.
20. Машкова А.Л. Технологии агентного моделирования и поиска данных в
мониторинге
и
прогнозировании
явлений
социальной
Информационные системы и технологии – 2014.-№4.С.45-50.
напряженности
64
21. Машкова А.Л., Савина О.А. Анализ влияния институциональных
воздействий на протекание социально-экономических процессов на основе
агентного подхода. Экономические и гуманитарные науки. – 2015.-№3(278). – С.5261.
22. Машкова А.Л., Савина О.А. Управление инвестиционными программами
в
агентной
модели
экспериментальной
экономики
Научные
ведомости
Белгородского государственного университета. Серия Экономика. Информатика.
2015. №19 (216). Выпуск 36/1. С.86-90.
23. Машкова А.Л., Новикова Е.В. Субъективный образ мира и политический
выбор агентов: исследование динамики общественной распределительной системы
в долгосрочном периоде Искусственные общества 2015
24. Машкова
А.Л.,
Кононов
Н.С.
Моделирование
поведения
интеллектуального агента в условиях неопределенности внешней среды.
Информационные системы и технологии. – 2016. – № 1. – С. 17-25.
65
ПРИЛОЖЕНИЕ А (ОБЯЗАТЕЛЬНОЕ)
План счетов и выходные данные
Таблица А.1 – План счетов коммерческой организации
№
счета
Наименование счета
Тип
Балансовый
1
основные средства (ОС)
А
2
амортизация ОС
П
8
вложения в ОС
А
+
10
материалы
А
+
19
НДС по приобретенным материалам
А
+
20
основное производство
А
+
43
готовая продукция
А
+
51
расчетный счет
А
+
58
финансовые вложения
А
+
60
расчеты с поставщиками
А/П
+
62
расчеты с покупателями
А/П
+
63
расчеты с арендаторами
А/П
+
А/П
+
64
расчеты с владельцами арендуемых
помещений
+
66
расчеты по краткосрочным кредитам
П
+
67
расчеты по долгосрочным кредитам
П
+
68
расчеты по налогам
П
+
70
расчеты по заработной плате
П
+
75
расчеты с учредителями
П
+
80
уставный капитал
П
+
84
90
нераспределенная прибыль (непокрытый
убыток)
продажи
П
А/П
+
66
Продолжение таблицы А.1
90/1
выручка от продаж
90/2
себестоимость продаж
90/3
НДС с продаж
90/5
прибыль/убыток от продаж
91
прочие доходы и расходы
91/1
прочие доходы
91/2
прочие расходы
91/9
сальдо доходов и расходов
99
прибыли и убытки
А/П
А/П
67
Таблица А.2 – Статистика по физическим лицам
Id Заемщика
Id Региона
Сумма
Процент
Оценка
кредитосопобоности
Срок
e638afa5-1ba4-428d-9a29eb62e278ed52
3af74b28-e066-4f0f-910b8278943f3470
935cbf5b-9218-42d8-8fb03bb26d595f1d
2871eb9c-d543-4a5e-8e2b0499a3935a30
4aef3819-ec61-435d-b82c0760e67a4c1f
5cd62190-18fb-4c12-93ebc25df70b643c
67fbb1bd-0cc0-4915-8b783ee354eadc53
f1df09da-e467-4925-9d330eca9e0d8ef2
3bce358c-5b11-4073-a5806805e8a4c443
c8cd124e-7f4b-48cd-b475ee47afe49410
31f6665e-4f03-434d-ac38ff3063340a47
e9754f17-7919-4242-a43aea86436b1b4f
a44c38ef-2603-4ae2-9a6a200bc4716935
f9f169a6-9b83-4965-a5b8fe3eb80f2671
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
1000000
0,16
2
24
147790,4658
0,19
2
6
1000000
0,16
2
24
280252,3836
0,19
2
6
1000000
0,16
2
24
1000000
0,16
2
24
483922,1918
0,19
2
6
1000000
0,16
2
24
1000000
0,16
2
24
1000000
0,16
2
24
352229,0411
0,19
2
6
296135,7808
0,19
2
6
1000000
0,16
2
24
1000000
0,16
2
24
68
Продолжение таблицы А.2
098976d9-1aee-45c0-9d442530287102fa
81631dbb-f14a-445d-9f1f7e2079201d2b
3c0b6fa3-651d-479b-9bcaf43617cf3f7b
1e797e16-cb1c-4c8a-9bf5a1ea8d6d785b
840a4da7-dca0-4628-bdfe6a68e3be03b1
1c8e9cc7-b6e3-4b9b-a2200b19755d515c
34437d50-b668-4972-8ea61d16030b5dcc
a04dacdb-294b-475d-b2ddbb2ec8ae32f3
692f1d44-ce75-4de9-a9747fc3c14e67ea
2971d086-54de-4ab4-9f1f0325cd4c2932
bbdff65f-bdcb-428b-a76892a03de2069a
a83eaef8-cd7b-4e3f-bd8aba8885269491
2849eb61-a077-452c-b25389fe67aee980
9749c766-a18c-4b93-97b0d86c5136d909
ef168733-3d69-4d88-b6392886b450497f
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
ac7ff9d0-434c-4898-93fc2210269ed990
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
1000000
0,16
2
24
279697,5342
0,19
2
6
98007,78082
0,19
2
6
1000000
0,16
2
24
243939,8356
0,19
2
6
1000000
0,16
2
24
174583,6712
0,19
2
6
1000000
0,16
2
24
1000000
0,16
2
24
1000000
0,16
2
24
296195,9452
0,19
2
6
460056,9863
0,19
2
6
50872,32877
0,19
2
6
1000000
0,16
2
24
1000000
0,16
2
24
69
Продолжение таблицы А.2
9433a61f-c0bf-4dd5-a8d06951504087d5
0caf6da1-a594-4ccd-a7ab0ad5f051de17
f13faa55-58e4-4fe4-ae444cc53cb6f580
7e9e6c91-2b46-4557-a07d6f6aa6973cbd
20079c84-8c9f-498c-874716cb434cc87a
78482efc-dbe7-44b2-bfd54dc1a0e166e3
b77237d2-ccb5-4da8-95ab25c59bd853fd
92fb4130-00f1-4b6a-a1a5f617a90d266b
e61040da-562c-4c12-ac69397671edfd87
566b0db3-bb3d-4238-b38913f6c2727629
b6692ef6-ca90-4679-bd57ff32d42dd606
b3d15a13-f7ee-4906-a14cc0a8f7098882
5de1ac92-3637-40a2-90465c315efbce39
006d1d8a-7e9c-4117-a0e97c575eb7d351
1bc125bd-ada8-4169-ac7bcf5ecc2c2fc8
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
c1a0acf8-b7e7-488e-ad37cd3ae4b2acc9
1000000
0,16
2
24
184564,274
0,19
2
6
1000000
0,16
2
24
1000000
0,16
2
24
1000000
0,16
2
24
1000000
0,16
2
24
1000000
0,16
2
24
89230,46575
0,19
2
6
1000000
0,16
2
24
1000000
0,16
2
24
240383,4521
0,19
2
6
1000000
0,16
2
24
357677,2603
0,19
2
6
1000000
0,16
2
24
1000000
0,16
2
24
70
Таблица А.3 – Статистика по юридическим лицам
Id Заемщика
Id Региона
Сумма
Процент
Оценка
кредитосопобоности
Срок
c8b7a84e-526c-42d3-a3a904188245fa50
049d4143-1b8a-49b7-8537d8e034fe798d
9a1ac627-93b9-4e1e-8c2afd6548dd5b9c
cd31206c-f93d-4915-9588ce574865732b
9575347b-2f1b-4dd6-b0e532bc5680b39d
ca7c1f22-2ded-4bf2-845f4eaa31414472
b036b476-d6bb-4136-926e3685bdbea19f
86acc287-2f2c-4f8b-a9a28c7cfa3b4615
80cc156a-80d6-4ebf-a4d65145bd34348f
2748acf1-f42b-449d-bc2c83d88727a316
6ef461aa-2e69-494b-a81471ee80fe5c70
aec28fd1-96b6-4a74-bf15b1f4e50a8114
1645c4be-ecc8-4f6c-984a3b56a5ac0220
ac7ff9d0-434c-4898-93fc-2210269ed990
3988,56
0,37
2
24
ac7ff9d0-434c-4898-93fc-2210269ed990
2109,52
0,37
2
24
ac7ff9d0-434c-4898-93fc-2210269ed990
11442,87
0,25
1
24
ac7ff9d0-434c-4898-93fc-2210269ed990
25434,78
0,25
1
24
ac7ff9d0-434c-4898-93fc-2210269ed990
15021,72
0,25
1
24
ac7ff9d0-434c-4898-93fc-2210269ed990
6655,74
0,25
1
24
ac7ff9d0-434c-4898-93fc-2210269ed990
26609,52
0,25
1
24
ac7ff9d0-434c-4898-93fc-2210269ed990
27269,73
0,25
1
24
ac7ff9d0-434c-4898-93fc-2210269ed990
19337,78
0,25
1
24
c1a0acf8-b7e7-488e-ad37-cd3ae4b2acc9
7990,5
0,37
2
24
c1a0acf8-b7e7-488e-ad37-cd3ae4b2acc9
3820,95
0,25
1
24
c1a0acf8-b7e7-488e-ad37-cd3ae4b2acc9
22343,62
0,25
1
24
c1a0acf8-b7e7-488e-ad37-cd3ae4b2acc9
31250,24
0,25
1
24
71
Продолжение таблицы А.3
0ec82ce0-1dfc-48d5-a01d02f1c13f225b
3b21016d-2570-40f0-800d6b6c02efbe0d
353386b2-8a68-4ed5-bdc50df998e111a6
7f8de63a-2f1f-4b43-81b2ba0067dbf40f
2ac02cad-8150-43b7-bc762d6b20f4d62f
c1a0acf8-b7e7-488e-ad37-cd3ae4b2acc9
15735,25
0,25
1
24
c1a0acf8-b7e7-488e-ad37-cd3ae4b2acc9
14770,4
0,25
1
24
c1a0acf8-b7e7-488e-ad37-cd3ae4b2acc9
3302,37
0,37
2
24
c1a0acf8-b7e7-488e-ad37-cd3ae4b2acc9
14588,08
0,37
2
24
c1a0acf8-b7e7-488e-ad37-cd3ae4b2acc9
3225,09
0,37
2
24
72
ПРИЛОЖЕНИЕ Б (СПРАВОЧНОЕ)
Алгоритмическая реализация формирования кредитного портфеля
Структура – заявка на кредит от юридического лица, содержит данные заемщика - юридического лица.
struct EntityCreditApplication
{
/// Предприятие
ID entity;
/// Регион
ID region;
/// Сумма кредита, в рублях
double amount;
/// Срок, в месяцах
int term;
FinancialStatement form;
}
Структура – финансовая отчетность предприятия, содержит счета проводок юридического лица.
struct FinancialStatement
{
/// Id предприятия
ID entity;
double _240;
double _250;
double _260;
double _290;
double _470;
double _490;
double _590;
double _690;
double _700;
double _110;
double _510;
double _190;
}
Перечисление - тип заявки на кредит.
73
enum ApplicationTypes
{
/// Краткосрочный кредит
ShortTermLoan,
/// Ипотека
Mortgage
}
Структура - заявка на кредит от физического лица, содержит данные заемщика – физического лица.
struct HouseholdCreditApplication
{
/// Домохозяйство
ID household;
/// Регион
ID region;
/// Сумма кредита, в рублях
double amount;
/// Срок, в месяцах
int term;
/// Доход
double income;
/// Прожиточный минимум
double livingWage;
/// Тип заявки
ApplicationTypes type;
}
Структура - ответ на кредитную заявку, содержит некоторые данные о заемщике, а также данные по кредиту:
сумма, срок, процент и оценка кредитоспособности.
struct CreditResponse
{
/// Id предприятия или физ. лица
ID id;
/// Регион
ID region;
/// Сумма кредита
double amount;
/// Срок кредита
int term;
74
/// Процент по кредиту
double percent;
/// Оценка кредитоспособности
int rate;
}
/// Значения коэффициентов для первой категории
double[] FirstCatValue = { 0.1, 0.8, 1.5, 0.4, 0.1, 0.06 };
/// Значения коэффициентов для второй категории
double[] SecondCatValue = { 0.05, 0.5, 1, 0.25, 0.1, 0.06 };
/// Значения коэффициентов для третьей категории
double[] ThirdCatValue = { 0.05, 0.1, 0.4, 0.2, 0.15, 0.1 };
Функция – получение коэффициентов. На вход принимается отчет предприятия, на выход – массив полученных
коэффициентов.
double[] GetСoefficients(FinancialStatement form)
{
double[] k = new double[6];
k[0] = (form._260 + form._250) / form._690;
k[1] = (form._260 + form._250 + form._240) / form._690;
k[2] = form._290 / form._690;
k[3] = form._490 / form._700;
k[4] = form._510 / form._110;
k[5] = form._190 / form._110;
return k;
}
Функция – получить коэффициенты категории. На вход принимается массив коэффициентов, на выход – массив
коэффициентов категории.
double[] GetCoefficientsCategory(double[] k)
{
double[] cat = new double[k.Length];
Пока не пройдем все коэффициенты.
for (int i = 1; i <= k.Length - 1; i++)
{
Получение значение коэффициента для категории.
cat[i] = k[i] >= FirstCatValue[i] ? 1 : ((k[i] >= SecondCatValue[i]) ? 2 : 3);
}
return cat;
}
75
Функция – получить ответ на заявку от юридического лица. На вход принимаются: заявка юридического лица и
текущая процентная ставка.
CreditResponse GetApproved(EntityCreditApplication application, double discountRate)
{
Получаем коэффициенты категорий из данных заявки.
double[] cat = GetCoefficientsCategory(GetСoefficients(application.form));
double s = 0;
Пока не пройдем по всем значениям категорий.
for (int i = 1; i <= ThirdCatValue.Length - 1; i++)
{
Получаем значение суммы баллов.
s += cat[i] * ThirdCatValue[i];
}
Получаем класс кредитоспособности.
int rating = (s <= 1.25) ? 1 : ((s <= 2.35) ? 2 : 3);
Получаем Z модель Альтмана.
double z = 0.717 * application.form._290 /
application.form._700 + 0.847 * application.form._470 /
application.form._700 + 3.701 * application.form._510 /
application.form._700 + 0.42 * application.form._490 /
(application.form._590 + application.form._690) + 0.995 * application.form._110 /
application.form._700;
Создаем структуру ответа на заявку.
CreditResponse response;
if (rating <= 2 && z > 1.81)
{
Формируем ответ на заявку.
response = new CreditResponse()
{
id = application.entity,
region = application.region,
amount = application.amount,
percent = discountRate + 0.03 + 0.12 * rating,
term = application.term,
rate = rating
};
}
76
else
{
Формируем отказ на заявку(пустой ответ).
response = new CreditResponse()
{
id = application.entity,
region = application.region,
amount = 0,
percent = 0,
term = 0,
rate = 3
};
}
return response;
}
Функция – получить ответ на заявку от физического лица. На вход принимаются: заявка физического лица и
текущая процентная ставка.
CreditResponse GetApproved(HouseholdCreditApplication application, double discountRate)
{
double insurance = 0d;
double margin = 0d;
double risk = 0d;
Если ипотека.
if (application.type == ApplicationTypes.Mortgage)
{
insurance = 0.01d;
margin = 0.02d;
risk = 0.03d;
}
Если краткосрочный кредит.
else
{
insurance = 0.01d;
margin = 0.05d;
risk = 0.03d;
}
double rate = discountRate + insurance + margin + risk;
77
double percentRate = rate / 12d;
double annuityRatio;
double solvency;
double propertySecurity; // Имущественное обеспечение
double oz_kr;
int rating = 3;
Если ипотека.
if (ApplicationTypes.Mortgage)
{
annuityRatio = percentRate * Math.Pow((1d + percentRate), application.term) /
(Math.Pow((1d + percentRate), application.term) - 1d);
solvency = (annuityRatio * application.amount) / application.income;
propertySecurity = (application.amount / (application.amount + ((application.amount / 100) * 15)));
oz_kr = 0.3 * solvency + 0.7 * propertySecurity;
Определение класса кредитоспособности
if (solvency <= 0.5 && propertySecurity <= 0.5)
{
rating = 1;
}
else if (solvency <= 1 && propertySecurity <= 0.9)
{
rating = 2;
}
else if (solvency > 1)
{
rating = 3;
}
}
Если краткосрочный кредит.
if (ApplicationTypes.ShortTermLoan)
{
application.amount = (6 * (application.income - application.livingWage)) / (1 + 0.5 / rate);
application.amount = application.amount - randRate : application.amount + application.amount / 100 * rnd.Next(1, 50);
annuityRatio = percentRate * Math.Pow((1d + percentRate), application.term) /
(Math.Pow((1d + percentRate), application.term) - 1d);
solvency = (annuityRatio * application.amount) / application.income;
78
propertySecurity = (application.amount / (application.amount + application.income));
oz_kr = 0.7 * solvency + 0.3 * propertySecurity;
Определение класса кредитоспособности.
if (solvency <= 0.2 && propertySecurity <= 0.5)
{
rating = 1;
}
else if (solvency <= 1 && propertySecurity <= 1)
{
rating = 2;
}
else if (solvency > 1)
{
rating = 3;
}
}
}
Создать ответ на заявку.
CreditResponse response;
if (rating == 3)
{
Формирование отказа на заявку (пустая структура).
response = new CreditResponse()
{
id = application.household,
region = application.region,
amount = 0,
term = 0,
percent = 0,
rate = 3
};
}
else
{
Формирование ответа на заявку.
response = new CreditResponse()
79
{
id = application.household,
region = application.region,
amount = application.amount,
term = application.term,
percent = rate,
rate = rating
};
}
return response;
}
Функция - получить список заявок предприятий. На вход подаются список предприятий и контекст модели (данные
общей агентной модели). На выход выдаются список заявок на кредит.
List<CreditResponse> GetEntityLoanResponses(List<Entity> entities, ModelEnvironmentContext context)
{
Создаем список заявок.
entitysAnswers = new List<CreditResponse>();
Для каждого предприятия.
foreach (Entity entity in entities)
{
Если тип предприятия коммерческий.
if (entity.Type == EntityType.Commercial)
{
Формируем и добавляем заявку на кредит.
entitysAnswers.Add(CreditPortfolio.GetApproved(new EntityCreditApplication
{
entity = entity.Id,
region = entity.RegionId,
form = entity.GetFinancialStatement()
},
context.DiscountRate));
}
}
return entitysAnswers;
}
Функция - получить список заявок домохозяйств. На вход подаются список домохозяйств и контекст модели
(данные общей агентной модели). На выход выдаются список заявок на кредит.
80
List<CreditResponse> GetHouseholdsLoanResponses(List<Household> households, ModelEnvironmentContext context)
{
Создаем список заявок.
householdsAnswers = new List<CreditResponse>();
Для каждого домохозяйства.
foreach (Household household in households)
{
Формируем и добавляем заявку на кредит.
householdsAnswers.Add(CreditPortfolio.GetApproved(new HouseholdCreditApplication()
{
household = household.Id,
region = household.RegionId,
income = household.accounts[AccountNumber.HH_D2].Value
},
context.DiscountRate));
};
return householdsAnswers;
}
Функция – Найти региональный банк. На вход подается список предприятий (данные общей агентной модели) и id
региона. На выход подается предприятие.
Entity FindRegionalBank(List<Entity> entities, ID region)
{
Создаем пустое предприятие
Entity bank = null;
Для каждого предприятия
foreach (Entity entity in entities)
{
Если тип предприятия банк и регион совпадает.
if (entity.Type == EntityType.Bank && entity.RegionId == region)
{
Данное предприятие банк
bank = entity;
break;
}
}
return bank;
}
81
Функция - Получить полный объем кредитов по регионам. На вход принимается список заявок, на выход подается
словарь - id, сумма.
Dictionary<ID, double> GetRegionCreditAmounts(List<CreditResponse> responses)
{
Создаем словарь.
regionsAmount = new Dictionary<ID, double>();
Для каждой заявки
foreach (CreditResponse entityAnswer in responses)
{
Получаем id региона.
ID region = entityAnswer.region;
Если словарь содержит id региона.
if (regionsAmount.ContainsKey(region))
{
Добавляем сумму заема к общей сумме по регионам из словаря.
regionsAmount[region] += entityAnswer.amount;
}
else
{
Если такого региона нет, создать новую запись словаря с этим регионом.
regionsAmount.Add(region, entityAnswer.amount);
}
}
return regionsAmount;
}
Функция - Получить список оплачиваемых банком сумм по регионам – На вход принимается словарь общей суммы
заема – ID региона и сумма, контекст модели (данные общей агентной модели). На выход подается словарь – id
региона и оплачиваемая сумма.
Dictionary<ID, double> GetRegionBankValue(Dictionary<ID, double> regionsAmount, ModelEnvironmentContext
context)
{
Создаем словарь сумм по регоионам.
regionBankResourses = new Dictionary<ID, double>();
Для каждого значения общей суммы заема региона.
foreach (KeyValuePair<ID, double> kvp in regionsAmount)
{
Находим банк.
Entity bank = FindRegionalBank(context.entities.Values.ToList(), kvp.Key);
82
double bankValue = 0d;
Если банк не может выдать кредит, сумма 202 счета меньше суммы заема, то привлекаем средства центрального
банка.
if (kvp.Value > bank.accounts[AccountNumber.F_202].Value)
{
bankValue = bank.accounts[AccountNumber.F_202].Value + context.CentralBankValue;
}
else
{
Если банк может выдать кредит – добавляем сумму от банка в словарь.
bankValue = bank.accounts[AccountNumber.F_202].Value;
}
}
return regionBankResourses;
}
Функция – Распределить кредитный портфель – На вход принимается контекст модели (данные общей агентной
модели), и список всех заявок. На выход – список одобренных заявок.
List<CreditResponse> DistributeLoans(ModelEnvironmentContext context, List<CreditResponse> responses)
{
Среди всех заявок удаляем все с 3 классом кредитоспособности.
responses.RemoveAll(response => response.rate == 3);
Соритруем все заявки по возрастанию класса кредитоспособности.
responses.OrderBy(response => response.rate);
Получаем суммы, которые могут выдать региональные банки
Dictionary<ID, double> householdRegionBankValues = GetRegionBankValue(
GetRegionCreditAmounts(responses),
context);
Создаем список заявок.
creditResponses = new List<CreditResponse>();
Создаем словарь – сумма, список заявок.
regionResponses = new Dictionary<double, List<CreditResponse>>();
Для каждой суммы, выделяемой региональным банком.
foreach( kvp in householdRegionBankValues)
{
Добавляем в словарь заявку с одинаковым регионом.
regionResponses.Add(kvp.Value, responses.FindAll(response => response.region == kvp.Key));
}
83
Для каждой группы региональных заявок.
foreach( kvp in regionResponses)
{
double value = kvp.Key;
Для каждой заявки.
foreach( response in kvp.Value)
{
Если остались средства, выделяемые банком и эта сумма больше требуемого заема.
if (value > 0 && value > response.amount)
{
Добавляем заявку.
creditResponses.Add(response);
Вычитаем средства заема из общей суммы регионального банка.
value -= response.amount;
}
}
}
return creditResponses;
}
Функции – распределение кредитного портфеля для юридических и физических лиц. На вход подается контекст
модели и список предприятий и домохозяйств соответственно. На выход подается список распределенных заявок.
List<CreditResponse> DistributeLoans(ModelEnvironmentContext context, List<Household> households)
{
List<CreditResponse> householdAnswers = GetHouseholdsLoanResponses(households, context);
return DistributeLoans(context, householdAnswers);
}
List<CreditResponse> DistributeLoans(ModelEnvironmentContext context, List<Entity> entities)
{
List<CreditResponse> entityAnswers = GetEntityLoanResponses(entities, context);
return DistributeLoans(context, entityAnswers);
}
Функция – Сохранить в эксель. На вход подается список заявок и путь к сохраняемому файлу.
void SaveToExcel(List<CreditResponse> responses, string filePath)
{
Создаем строку
csv = new StringBuilder();
Добавляем первую строку – заголовки таблиц.
84
csv.AppendLine("Id Заемщика;Id Региона;Сумма;Процент;Оценка кредитосопобоности;Срок");
Записываем данные из всех заявок.
foreach (CreditResponse response in responses)
{
newLine = string.Format("{0};{1};{2};{3};{4};{5}", response.id,
response.region,
response.amount,
response.percent,
response.rate,
response.term);
csv.AppendLine(newLine);
}
Записываем файл.
File.WriteAllText(filePath, csv.ToString(), Encoding.UTF8);
}
85
ПРИЛОЖЕНИЕ В (ОБЯЗАТЕЛЬНОЕ)
Детализированные диаграммы
Рисунок 21 – Диаграмма вариантов
87
ИНФОРМАЦИОННО-ПОИСКОВАЯ ХАРАКТЕРИСТИКА
ДОКУМЕНТА НА ЭЛЕКТРОННОМ НОСИТЕЛЕ
Наименование
группы атрибутов
атрибута
1. Описание
документа
2. Даты и время
3. Создатели
4. Внешние ссылки
5. Защита
6. Характеристики
содержания
Обозначение
документа
(идентификатор(ы)
файла(ов))
Наименование
документа
Характеристики
документа на электронном
носителе
Презентация.pptx
Демонстрационные
плакаты
к
выпускной
квалификационной работе
Класс документа
ЕСКД
Вид документа
Оригинал документа на
электронном носителе
Аннотация
Демонстрационный
материал, отображающий
основные
этапы
выполнения
выпускной
квалификационной работы
Использование
Операционная
система
документа
Windows 10, Microsoft
PowerPoint 2016
Дата
и
время 18.06.2018
копирования документа
Дата
создания 06.06.2018
документа
Дата
утверждения 07.06.2018
документа
Автор
Новикова Е.В.
Изготовитель
Новикова Е.В.
Ссылки на другие Удостоверяющий лист
документы
№ 140203/п
Санкционирование
ОГУ имени И.С. Тургенева
Классификация
По законодательству РФ
защиты
Объем
информации 659 456 Б
документа
88
7.Структура
документа(ов)
Наименование плаката Титульный лист
(слайда) №1
Наименование плаката Цель и задачи работы
(слайда) №2
Наименование плаката Место разработанного
(слайда) №3
модуля в модели
экспериментальной
экономики
Наименование плаката Диаграмма вариантов
(слайда) №4
использования модуля
Наименование плаката Диаграмма
(слайда) №5
последовательности
Наименование плаката Алгоритм оценки
(слайда) №6
кредитоспособности
заемщиков
Наименование плаката Интерфейсы модели
(слайда) №7
экспериментальной
экономики
Наименование плаката Результаты работы
(слайда) №8
алгоритма распределения
кредитного портфеля
Наименование плаката Сравнение статистических
(слайда) №9
данных об объемах
кредитования в РФ с
результатами
моделирования
1/--страниц
Пожаловаться на содержимое документа