close

Вход

Забыли?

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

Масляк Роман Игоревич. Агентная модель для исследования влияния капитализации и доходности на курс акций компаний

код для вставки
АННОТАЦИЯ
ВКР 63 с., 26 рис., 1 табл., 21 источник.
АГЕНТНАЯ МОДЕЛЬ, АГЕНТ, ФОНДОВЫЙ РЫНОК, ИНВЕСТИЦИЯ,
АКЦИЯ,
ПОКУПАТЕЛЬ,
ДОХОДНОСТЬ,
ОТРАСЛЬ,
КОМПАНИЯ,
ИНВЕСТИЦИОННЫЙ ПОРТФЕЛЬ.
Выпускная квалификационная работа посвящена разработке агентной
модели для исследования влияния капитализации и доходности на курс акций
компаний.
В первой главе происходит анализ и описание процессов предметной
области, обзор основного прототипа, на основании которого происходит
построение модели, формулирование требований к разрабатываемой модели и
постановка задачи.
Во второй главе описывается этап проектирования логики диалога с
пользователем,
разработка
алгоритмов,
отражающих
основные
процессы,
протекающие в модели, также описывается формула для подсчета доходности
акций и последовательность действий, происходящих в модели.
В третьей главе осуществляется обзор средств разработки агентных систем
с последующим выбором необходимого, а также происходит описание готовой
модели и демонстрация примеров ее работы.
4
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
5
1 ОПИСАНИЕ ПРОЦЕССОВ ПРЕДМЕТНОЙ ОБЛАСТИ ИССЛЕДОВАНИЯ
ВЛИЯНИЯ КАПИТАЛИЗАЦИИ И ДОХОДНОСТИ НА КУРС АКЦИЙ
КОМПАНИЙ
7
1.1 Описание предметной области
7
1.2 Описание прототипов разрабатываемой информационной системы
10
1.3 Формулирование требований к разрабатываемой информационной системе 14
1.4 Постановка задачи
16
2 ПРОЕКТИРОВАНИЕ СИСТЕМЫ ИССЛЕДОВАНИЯ ВЛИЯНИЯ
КАПИТАЛИЗАЦИИ И ДОХОДНОСТИ НА КУРС АКЦИЙ КОМПАНИЙ
21
2.1 Моделирование процессов предметной области
21
2.2 Проектирование логики диалога с пользователем
25
2.3 Расчет доходности акций
28
2.4 Алгоритмическая реализация
29
2.5 Последовательность действий
35
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ СИСТЕМЫ ИССЛЕДОВАНИЯ ВЛИЯНИЯ
КАПИТАЛИЗАЦИИ И ДОХОДНОСТИ НА КУРС АКЦИЙ КОМПАНИЙ
39
3.1 Обзор программных средств для реализации
39
3.2 Описание работы информационной системы
45
ЗАКЛЮЧЕНИЕ
55
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
57
УДОСТОВЕРЯЮЩИЙ ЛИСТ № 140031/П
61
ИНФОРМАЦИОННО-ПОИСКОВАЯ ХАРАКТЕРИСТИКА ДОКУМЕНТА НА
ЭЛЕКТРОННОМ НОСИТЕЛЕ
62
5
ВВЕДЕНИЕ
Развитие информационных технологий находит активное применение в
финансовой
сфере.
развивающихся
Фондовый
рынок
России
молодых фондовых рынков,
относится
которые
к
категории
обладают высокой
доходностью, но и в то же время и высокой степенью риска. Появляется
потребность в упрощении взаимодействия покупателей на фондовом рынке,
исследовании их поведения и принципов принятия финансовых решений.
Наиболее подходящим инструментом для достижения этих целей можно
считать
агентное
имитационном
моделирование
моделировании,
–
относительно
которое
новое
используется
направление
для
в
исследования
децентрализованных систем, динамика функционирования которых определяется
не глобальными правилами и законами, а, наоборот, когда глобальные правила и
законы являются результатом индивидуальной активности членов группы.
Данный подход является альтернативой рассмотрению системы как множества
одинаковых типичных объектов. Агентное моделирование применяется во многих
отраслях науки (экология, социология, экономика и т.п.) с целью изучить
макроскопическое поведение сложной системы, состоящей из множества
относительно простых взаимодействующих элементов [1].
Цель выпускной квалификационной работы заключается в разработке
агентной модели исследования влияния капитализации и доходности на курс
акций компаний.
Актуальность данной работы заключается в том, чтобы создать новые
методы
и
инструментальные
средства
для
прогнозирования
социально-
экономических процессов динамики фондового рынка.
Основные задачи, которые требуется решить в ходе работы следующие:
1. Осуществить описание и анализ процессов предметной области, а
также обзор прототипов разрабатываемой информационной системы.
2. Сформулировать требования к разрабатываемой информационной
системе.
6
3. Осуществить моделирование процессов предметной области и логики
диалога с пользователем.
4. Разработать
алгоритмы
работы
и
пользовательский
интерфейс
информационной системы.
5. Осуществить обзор средств разработки агентных систем и выбрать
необходимые программные средства для реализации информационной системы.
6. Описать
реализованную
продемонстрировать примеры работы.
информационную
систему,
7
1 ОПИСАНИЕ ПРОЦЕССОВ ПРЕДМЕТНОЙ ОБЛАСТИ
ИССЛЕДОВАНИЯ ВЛИЯНИЯ КАПИТАЛИЗАЦИИ И
ДОХОДНОСТИ НА КУРС АКЦИЙ КОМПАНИЙ
1.1 Описание предметной области
Рассмотрим отрасли, в которых существуют крупные акционерные
общества
России.
Отрасль
-
совокупность
предприятий,
производящих
(добывающих) однородную или специфическую продукцию по однотипным
технологиям. Таковыми являются:
1. Добывающая отрасль. К этой отрасли относятся:
 топливно-энергетический комплекс (ТЭК);
 предприятия по добыче горно-химического сырья, чёрных и
цветных металлов и нерудного сырья для металлургии;
 предприятия по добыче нефти, газа, угля;
 предприятия по эксплуатации леса,
ловле рыбы и добыче
морепродуктов [2].
2. Перерабатывающая промышленность. В ней выделяются легкая
промышленность, которая ориентирована на конечную продукцию, и тяжелая,
ориентирована на оборудование. К этой отрасли относятся:
 предприятия по производству чёрных и цветных металлов;
 химических и нефтехимических продуктов;
 предприятия по производству машин и оборудования;
 предприятия
по
ремонту
паровозов
и
локомотивов,
и
теплоэлектростанций [3].
3. Торговля. Данный вид отрасли предполагает разделение на внешнюю и
внутреннюю торговлю в зависимости от места купли продажи. Внешняя торговля
подразделяется
на
импортную,
экспортную
и
транзитную,
потому
что
предполагает торговлю между на международном уровне. Внутренняя торговля
осуществляется в пределах одной страны и делится на оптовую и розничную:
8
 оптовая
торговля
предполагает
покупку
товара
в
большом
количестве. В данном виде торговли осуществляется продажа товаров
покупателям, целью которых является использование продукции в виде
сырья, либо дальнейшая перепродажа;
 розничная торговля – это процесс, в котором продажа товаров
осуществляется конечным потребителем [4].
4. Финансовый
сектор
–
банки.
Банки
являются
финансовыми
организациями, с помощью которых осуществляются различные операции с
денежными средствами и ценными бумагами. Кроме того, банки оказывают
финансовые услуги для государства, правительства, юридических и физических
лиц, могут привлекать и размещать денежные средства различных лиц под своим
именем, открывать банковские счета, проводить банковские операции. Банки не
могут осуществлять другие виды деятельности, такие как: торговую, страховую,
производственную [5].
Каждое акционерное общество, относящееся к выше перечисленным
отраслям, определяет оборот выпущенных акций и среднюю доходность,
отражающая процент дохода, который могут принести акции после их
приобретения. Рост надежности зависит от роста инвестиций. То есть компания
может повышать привлекательность своих акций за счет надежности, либо за счет
доходности. Например, у компании в конце года есть прибыль. Часть этой
прибыли пускается на инвестиции, часть – распределяется между акционерами.
Чем больше прибыли выделяется на инвестиции, тем больше надежность, если
больше прибыли выделяется на акции, то соответственно выше доходность.
Выделим
категории
финансовых
организаций,
покупателями акций. К ним относятся:
1. Государство.
2. Коммерческие банки.
3. Паевые инвестиционные фонды (ПИФ).
которые
являются
9
Отдельно
выделяются
платежеспособные
граждане
страны,
как
покупатели акций, которые могут совершать операции по покупке и продаже
акций на фондовом рынке.
Акции бывают привилегированные и обыкновенные. Обыкновенные акции
дают право на участие в управлении обществом (одна акция соответствует
одному голосу на собрании акционеров) и участвуют в распределении прибыли
акционерного общества [6]. Дивиденды по обыкновенным акциям выплачиваются
из чистой прибыли общества. Привилегированные акции вносят ограничения на
участие в управлении, а также дают дополнительные права в управлении (не
обязательно), но по сравнению с обыкновенными акциями имеют ряд
преимуществ: первоочередное выделение прибыли на выплату дивидендов,
возможность получения гарантированного дохода, первоочередное погашение
стоимости акции в момент ликвидации акционерного общества [6]. Дивиденды по
привилегированным акциям выплачиваются как из прибыли, так и из других
источников — на основании устава общества. Непосредственно сами акции
имеют рыночную стоимость, доходность – отношение прибыли, полученной с
одной акции к ее рыночной стоимости, надежность. Если у акции растет
стоимость, то, соответственно, ее процент доходности увеличивается, иначе –
уменьшается. Таким образом, у каждой категории покупателей имеются разные
предпочтения. Одни могут взять акции с высоким риском и высокой
доходностью, другие низким риском и соответственно низкой доходностью. Если
на определенную акцию в течение продолжительного времени не находится
покупатель, то ее стоимость падает. В связи с этим у каждого из покупателей есть
свои границы доходности акций и границы риска акций, благодаря которым он
принимает решение о покупке или продаже акций. После покупки акций той или
иной отрасли покупатели формируют собственные инвестиционные портфели, в
котором и хранят купленные акции. Каждый инвестиционный портфель является
индивидуальным для владельца.
10
1.2 Описание прототипов разрабатываемой информационной системы
В экономических моделях основным элементом является некое количество
взаимодействующих между собой «агентов». Агент представляет собой «некую
сущность,
обладающую
автономным
поведением,
активностью,
памятью,
контактами, возможность принимать решения в соответствии с некоторым
набором правил, взаимодействовать с другими агентами, окружением, а также
может изменяться» [7]. Кроме того, поведение агентов можно разделить на два
типа:
1. Активное
поведение.
Здесь
подразумевается,
что
причинами,
побуждающими агентов к действиям, является их внутренняя динамика, то есть
какие-либо события, происходящие через заданные промежутки времени.
2. Пассивное
поведение.
В
данном
случае
агенты
не
имеют
запланированных событий и откликаются только на прибывшие сообщения и
вызов методов.
Впервые агентно-ориентированная модель была разработана в конце 1940х гг. Создание инструмента вычисления, который представлен агентами с
набором определенных свойств – это основная идея, лежащая в основе агенториентированных моделей. Данный инструмент позволяет проводить симуляции
различных реальных явлений и событий. Также существует мнение, что агентноориентированные модели начали свое существование с времен создания Джоном
фон Нейманом первых вычислительных машин [8].
Агентное моделирование позволяет исследовать динамику глобальных
систем как результат совместной деятельности объектов микроуровня. Агентное
моделирование очень популярно на западе, особенно в США и Японии, однако,
анализ работ знаменитых ученых в этой области позволяет сделать вывод, что их
исследования
носят
либо
сугубо
теоретический
характер
отработки
инструментария, либо описывают социально-экономические процессы в самом
общем виде, без опоры на реальные данные. Без включения дополнительных
модулей, отражающих социально-экономические структуры этот класс моделей
можно считать дискретным аналогом системно-динамической модели.
11
Проведенный обзор показывает, что компьютерное моделирование
экономических процессов активно развивается как на Западе, так и в России.
Ключевым моментом моделирования является отражение правил принятия
решений агентами различных типов, для чего применяются методы когнитивного
моделирования и функции нечеткой логики [9].
Основным рассматриваемым прототипом является агентная модель
экспериментальной экономики (АМЭЭ).
На основании данной модели
разрабатывается отдельный модуль, который используется для исследования
влияния капитализации и доходности на курс акций компаний. Рассмотрим
подробнее прототип.
Агентная
модель
экспериментальной
экономики
есть
результат
междисциплинарного исследования, она сочетает в себе различные направления
имитационного моделирования, использует элементы различных направлений
социологии и экономики, искусственного интеллекта, когнитивной психологии.
Из системной динамики взята задумка накопителей и потоков, таким
образом, накопители - это бюджеты государства, юридических лиц и домашних
хозяйств. Динамика накопителей отражается в соответствии с принятой в России
системе
бухгалтерского
учета.
Идея
дискретного
времени
и
событий
используются для изменения состояния системы. Основной является идея агента,
и вдобавок ко всему, не только отдельные индивиды и домашние хозяйства
являются агентами, но и юридические лица разных организационных форм –
коммерческие,
бюджетные,
финансово-кредитные
организации.
Агенты
используют материалы в области создания интеллектуальных агентов и
когнитивной психологии, для того, чтобы отразить процедуры принятия решений.
Эта комбинация позволяет получить простую вычислимую архитектуру агента,
ориентированную на решение социально-экономических задач, в то время как
мульти-агентные
системы
искусственного
интеллекта
сосредоточены
на
инженерно-технических задачах. Теория принятия решений вносит весомый
вклад в исследование. Чтобы прогноз выглядел более адекватным, в модели
отображаются правдоподобные, а не идеальные решения экономических агентов.
12
Воспроизведение
половозрастной
и
классовой
структуры
населения
осуществляется при использовании данных социологических исследований. В
качестве
ядра
модели
выступают
экономические
структуры.
Для
их
формализации применяются сведения из области бухгалтерского учета и
финансов, отраслевой экономики. На рисунке 1 представлена структура модели.
Рисунок 1 – Структура модели
В нижней части модели расположены агенты и домохозяйства. Агенты,
образуя разные группы (один агент, два агента, три агента и т.д.), входят в состав
домохозяйства. В связи с тем, что в ряде экономических отношений
действующими субъектами являются именно домашние хозяйства, то они
выделены отдельно. Домашнее хозяйство выступает потребителем конечной
продукции и услуг, потому что за счет его работоспособных членов
обеспечиваются все остальные. Таким образом, заработная плата и трансферы
переводятся в бюджет домашних хозяйств, и они оплачивают товары и услуги для
всех
членов
домашних
хозяйств.
Одинокий
человек
способен
быстро
переместиться в более высокоперспективный регион. Однако, если под его
13
присмотром находятся маленькие дети или старые родители, то миграционная
мобильность такого лица будет ограничена. Домашнее хозяйство также чаще
всего является заемщиком, особенно в случае долгосрочных ипотечных кредитов.
В том случае, если они оформлены на одного человека, то он должен иметь
поручителей, а оплата кредита осуществляется из общего бюджета домашнего
хозяйства. Частным случаем является домашнее хозяйство, в состав которого
входит один человек. В процессах же образования и трудоустройства, если в них
не имеется миграционная часть, действующим субъектом является отдельный
агент, и он закрепляется на соответствующем рабочем, либо образовательном
месте.
На уровне финансового сектора выделяются процессы, благодаря которым
происходит
привлечение
денежных
средств,
выпущенных
государством,
депозитов физических и юридических лиц и размещения их в виде кредитов.
Основными финансовыми потоками будут:
а) кредитно-депозитные потоки среди финансового сектора, реального
сектора и домашних хозяйств;
б) заработная плата индивидам и обратный поток оплаты товаров и услуг,
прибыль от организаций;
в) оплата межотраслевых поставок организаций, закупки импортной
продукции и получение оплаты за экспортируемую.
Государство выступает в роли сборщика налогов и эмитента денежных
средств, а также – предоставляет трансферы населению и субсидии как
реальному, так и финансовому сектору, а также наряду с юридическими лицами
участвует в международном обмене капиталом.
Поскольку агентная модель экспериментальной экономики является
достаточно сложной, было принято решение реализовать ее в виде модульной
структуры [9].
14
1.3 Формулирование требований к разрабатываемой информационной
системе
Чтобы информационная система успешно функционировала необходимо
выделить основной набор функций. Функциональные требования к системе
следующие:
1. Возможность формирования компаний. Система должна создавать
компании
необходимые
для
последующего
использования
в
процессе
моделирования.
2. Создание и вывод информации о компаниях. Система должна
сформировать данные о компаниях: отрасль, надежность, доходность, оборот
акций на рынке, инвестиции, стоимость акций, которые будут использованы в
процессе моделирования и вывести их на экран.
3. Возможность формирования списка покупателей. Система должна
создать список покупателей из имеющихся категорий (государство, ПИФ,
коммерческий банк, игрок) для последующего использования в процессе
моделирования.
4. Создание и вывод информации о покупателях. Система должна
сформировать необходимые данные о покупателях: номер, границы надежности,
границы доходности, инвестиционный портфель, состоящий из купленных акций
у предоставленных отраслей и вывести их на экран.
5. Управление
процессом
сформированных данных о
торговли
компаниях и
на
рынке.
покупателях,
На
основании
система
должна
осуществлять моделирование торговли акциями на фондовом рынке.
6. Выдача информации о торговле на рынке. После проведенного
моделирования процесса торговли акциями на фондовом рынке, система должна
подсчитывать и выводить на экран промежуточные результаты.
7. Формирование статистических данных. По результатам моделирования
система должна осуществлять сбор информации о моделировании.
8. Отображение статистических данных. Система должна выводить
статистические данные на экран в виде графика.
15
Кроме
функциональных
требований
также
имеют
место
быть
нефункциональные требования, обозначающие набор правил и свойств, которым
должна соответствовать и соблюдать разрабатываемая система. Таковыми
являются:
1. Удобство
использования.
Система
должна
быть
проста
в
использовании, понятна и привлекательна для пользователя, чтобы он мог
достигать с ее помощью поставленных целей.
2. Надежность. Система должна быть с устойчива к возможным ошибкам,
исключать все возможные отказы в процессе функционирования и сохранять уже
имеющиеся свойства и значения параметров, то есть система должна быть
работоспособной на протяжение определенного временного промежутка.
3. Защищенность.
Система
должна
противостоять
неправомерному
доступу к ее ресурсам, информации, исключать разрушение работы, умышленные
изменения, влекущие нарушение целостности системы лицами, не имеющими
права на использование данной системы.
4. Сопровождаемость. После того как система начнет эксплуатироваться
должно происходить дальнейшее сопровождение системы разработчиком, ее
улучшение, оптимизация. В случае возникновения каких-либо неполадок,
нарушений в работе системы они должны устраняться.
5. Мобильность. Система должна иметь возможность функционировать
на различных устройствах.
Пользователи программного обеспечения должны владеть базовыми
навыками работы с любой из версий операционной системы Microsoft Windows
(Windows XP, Vista, Windows 7, Windows 8/8.1, Windows 10). Техническое
обслуживание и администрирование оборудования программного обеспечения
должно
выполняться
специалистами,
имеющими
соответствующую
квалификацию и навыки выполнения работ. Пользователями программного
обеспечения могут быть: научные работники, которые специализируются в этой
области,
студенты
-
экономисты,
преподаватели,
которые
связаны
с
16
исследованием вопросов финансового рынка. Пользователь программного
обеспечения может выполнять следующие операции:
1. Просмотр информации о компаниях.
2. Просмотр информации о покупателях.
3. Просмотр сведений о количестве купленных акций определенной
отрасли покупателями на рынке.
4. Отслеживание данных компаний, изменяющихся в результате торговли
акциями на рынке.
5. Наблюдать за процессом торговли акциями на рынке при помощи
нажатия на соответствующую кнопку.
6. Управлять процессом инвестирования в любую из предложенных
отраслей.
7. Выбрать любой из двух графиков для просмотра статистических
данных за определенный промежуток времени.
8. Вывод статистических данных на экран, представленных в виде
соответствующих графиков.
9. Просмотр информации на графике о зависимости курса акций и
доходности компаний.
10.Просмотр информации на графике о покупке акций каждой из
предложенной отрасли.
11.Завершить работу.
1.4 Постановка задачи
Для выполнения агентного моделирования необходимо описать все
элементы системы и задать способ их взаимодействия. Предлагаемый модуль
представляет
собой
множество
агентов-компаний
и
агентов-покупателей,
действующих автономно, имеющих различные параметры и взаимодействующих
только посредством фондового рынка.
Модуль, разрабатываемый в рамках исследования поведения и принятия
решений
агентов-компаний
и
агентов-покупателей,
в
будущем
будет
17
интегрирован в большую модель экономики. Основными пользователями данного
модуля, как и всей модели в целом, будут научные работники, которые
специализируются в этой области, студенты - экономисты, преподаватели,
которые связаны с исследованием вопросов финансового рынка. Пользователи
совершают некоторые действия, такие как: запуск и остановка программы, запуск
и остановка моделирования, вывод и просмотр статистических данных,
собранных в процессе моделирования.
Разработанная модель включает в себя ряд взаимосвязанных модулей,
отражающих различные стороны функционирования искусственного общества:
«Государственное
управление»,
«Трудоустройство»,
«Производство»,
«Потребление»,
«Финансовая
Образование»,
система»,
«Демография».
Действующими субъектами в модели, принимающими решения и изменяющими
свое поведение, являются агенты, домашние хозяйства, юридические лица и
государство. Действующие субъекты могут выступать в разных ролях и
взаимодействовать
с
объектами
различных
модулей.
В
данной
модели
разрабатываемый модуль будет занимать место в финансовой системе [10].
Моделирование
-
это
неотъемлемая
часть
больших
проектов,
ориентированных на разработку программного обеспечения, а также полезное
средство для использования даже небольшими проектами. Использование
моделирования гарантирует проекту успех. Присутствует уверенность, что
функционал в полной и правильной мере отвечает потребностям пользователя,
отвечает требованиям надежности, безопасности и остальным характеристикам.
На рисунке 2 представлена модульная структура агентной модели
экспериментальной экономики.
18
Рисунок 2 – Модульная структура модели экспериментальной экономики
В процессе функционирования модели агент каждого вида должен
принимать множество решений. Главной составляющей разрабатываемого модуля
является принятие решений юридическими лицами об инвестировании, принятие
решений финансовыми организациями о покупке акций.
Результатом работы модуля является статистика, представленная в виде
диаграмм. На основе данной информации можно составить различные отчетные
документы. Например, изменение цены или доходности акций за определенный
промежуток времени.
Для описания основных возможностей модуля используем нотацию UML.
UML является языком широкого профиля - это
открытый стандарт,
использующий графические обозначения для создания абстрактной модели
системы, называемой UML-моделью [11].
В UML используется набор
графических нотаций – диаграмм. Одной из них является диаграмма вариантов
использования (диаграмма прецедентов).
Диаграмма прецедентов в UML
- это диаграмма, которая отражает
отношения между акторами и прецедентами и является составной частью модели
прецедентов, позволяющей описать систему на концептуальном уровне [12].
19
Прецедент – это такая возможность моделируемой системы, с помощью
которой пользователь может получить конкретный и нужный ему результат.
Прецедент соответствует отдельному сервису системы, определяет один из
вариантов её использования и описывает типичный способ взаимодействия
пользователя с системой. Варианты использования обычно применяются для
спецификации внешних требований к системе. Они отображают внешний
интерфейс системы и указывают форму того, что система должна сделать [12].
Выделим два основных объекта – «Пользователь» и «Система». Для
объекта «Пользователь» доступны следующие варианты использования:
1. Инициализация параметров модели.
2. Запуск модели.
3. Остановка модели.
4. Вывод статистики.
Объект «Система» представлен для того, чтобы отобразить базовые
возможности модели. Варианты использования, которые доступны для объекта
«Система» следующие:
1. Инициализация модели.
2. Запуск модели.
3. Остановка модели.
4. Управление средой моделирования.
5. Управление статистикой.
Диаграмма вариантов использования модели представлена на рисунке 3.
20
20
Рисунок 3 – Диаграмма вариантов использования
21
2 ПРОЕКТИРОВАНИЕ СИСТЕМЫ ИССЛЕДОВАНИЯ ВЛИЯНИЯ
КАПИТАЛИЗАЦИИ И ДОХОДНОСТИ НА КУРС АКЦИЙ
КОМПАНИЙ
2.1 Моделирование процессов предметной области
В
качестве
основных
объектов
моделируемой
среды
выделяются
следующие: отрасль, компания, акция, покупатель, ПИФ (паевой инвестиционный
фонд), коммерческий банк, государство, игрок, покупка, инвестиционный
портфель. Приступим к подробному рассмотрению каждого объекта.
Отрасль - совокупность предприятий, производящих (добывающих)
однородную или специфическую продукцию по однотипным технологиям.
Параметрами отрасли являются:
а) идентификатор;
б) название.
Как было указано выше, основными рассматриваемыми отраслями в
модели являются:
а) добывающая отрасль;
б) обрабатывающая промышленность;
в) торговля;
г) финансовый сектор – банки.
Для представления объектов и зависимостей между ними была выбрана
диаграмма классов, представленная на рисунке 4.
22
22
Рисунок 4 – Диаграмма классов
23
Компания – представляется как акционерное общество России. К
параметрам компании относятся:
а) идентификатор;
б) название;
в) идентификатор отрасли – связывает объект с отраслью.
Акция – ценная бумага, которая закрепляет за владельцем право на
получение прибыли акционерного общества в виде дивидендов. Параметры:
а) идентификатор;
б) стоимость;
в) доходность;
г) идентификатор компании – связывает объект с компанией.
Покупатель - физическое или юридическое лицо, которое осуществляет
оплату деньгами и приобретает товары или услуги. В данном случае покупатель
осуществляет покупку акций у компании. У покупателя в качестве параметра
имеется
идентификатор.
Покупателями
в
модели
являются:
паевые
инвестиционные фонды (ПИФ), коммерческие банки, государство, прочие игроки.
ПИФ – это имущественный комплекс, основанный на доверительном
управлении имуществом фонда специализированной управляющей компанией с
целью увеличения стоимости имущества фонда. Пай - это именная ценная бумага,
которая является удостоверением права её владельца на часть имущества фонда, а
также выкупа принадлежащего пая в соответствии с правилами фонда [13].
Простыми словами человек покупает пай какого-либо фонда, выбирая его
самостоятельно. И тогда, паевой инвестиционный фонд – это своего рода
совокупность инвестиционных паев, за которыми стоят денежные средства и,
соответственно, имеется лицо – управляющий, который управляет этими
активами. Параметры:
а) идентификатор покупателя;
б) название.
Коммерческий банк – кредитное учреждение, осуществляющее банковские
операции для юридических и физических лиц (расчётные, платёжные операции,
24
привлечение вкладов, предоставление ссуд, а также операции на рынке ценных
бумаг и посреднические операции) [14].
Параметры коммерческого банка:
а) идентификатор покупателя;
б) название.
Государство – орган управления, который осуществляет контроль за
финансовой устойчивостью и безопасностью рынка ценных бумаг, является
эмитентом ценных бумаг, также покупателем. Параметры:
а) идентификатор покупателя;
б) название.
Поскольку в модели уделяется внимание функционированию рынка
ценных бумаг России, по умолчанию в качестве государства-покупателя
рассматривается Россия.
Игрок – в данном случае таковыми являются какие-либо частные
компании, которые могут осуществлять покупку акций на рынке, а также
обычные люди. Параметры игрока:
а) идентификатор покупателя;
б) название.
Инвестиционный
портфель
–
это
набор
разных
ценных
бумаг,
принадлежащих компаниям различных отраслей, который формируется в
результате покупки данных ценных бумаг на рынке. Портфель является единым
целым и принадлежит покупателю. Параметры портфеля:
а) идентификатор портфеля;
б) название отрасли;
в) количество акций;
г) идентификатор отрасли – связывает объект с отраслью;
д) идентификатор покупателя.
25
2.2 Проектирование логики диалога с пользователем
Для
удобства
использования
и
понимания
системы
необходимо
разработать логику диалога с пользователем.
Первое, что необходимо сделать для начала работы с системой осуществить запуск моделирования. Далее необходимо нажать кнопку «Новый
биржевой день» для того, чтобы смоделировать новый день. Эту операцию можно
проделать несколько раз. Из каждого состояния можно выйти из системы. Логика
диалога с пользователем в момент начала работы системы изображена на рисунке
5.
Рисунок 5 – Логика диалога с пользователем в начале работы с системой
В системе присутствует возможность инвестирования. Для того, чтобы
осуществить инвестирование в компанию необходимо выбрать тип инвестиции из
списка (крупные инвестиции, средние инвестиции, малые инвестиции), далее,
выделить отрасль в таблице «Компании» и нажать на кнопку «Инвестировать в
компанию». В зависимости от выбранного типа инвестиций увеличится процент
надежности той компании, в которую осуществляется вложение средств. При
необходимости данную операцию можно проделать несколько раз. Находясь в
любом состоянии, можно выйти из системы. Логика диалога с пользователем при
осуществлении операции инвестировании в компанию представлена на рисунке 6.
26
Рисунок 6 – Логика диалога с пользователем в момент инвестирования в
компании
После осуществления моделирования нужного количества дней имеется
возможность просмотра статистики. Статистика представляется в виде графика,
на котором изображается изменение курсовой стоимости акций, принадлежащих
каждой из компаний, и доходности. Для того, чтобы построить данный график
необходимо в таблице «Компании» выбрать любую из предоставленных отраслей,
нажать на кнопку «График курс акции/доходность» и в этот момент система
построит график, и выведет его на экран. Нажав повторно на эту кнопку график
будет скрыт. Данный процесс можно осуществить несколько раз для каждой из
отраслей. Находясь в любом состоянии можно выйти из системы. Логика диалога
с пользователем при построении графика зависимости курса акции и доходности
изображена на рисунке 7.
27
Рисунок 7 – Логика диалога с пользователем при построении графика курс
акции/доходность
Кроме графика зависимости курса акций и доходности компаний для
большей информативности можно построить график покупки акций. Этот график
представлен в виде гистограммы, на которой отображается количество купленных
акций у каждой из отраслей. Для этого необходимо нажать кнопку «Новый
биржевой день». После того, как покупатели купят акции необходимо нажать на
кнопку «График покупки» система построит график и выведет его на экран. При
необходимости данную операцию можно повторить несколько раз. Находясь в
любом состоянии можно выйти из системы. Логика диалога с пользователем при
построении графика покупки акций изображена на рисунке 8.
Рисунок 8 – Логика диалога с пользователем при построении графика покупки
акций
28
2.3 Расчет доходности акций
Доходность акций складывается из изменения курсовой стоимости акций и
дивидендов.
Владея пакетом акций, инвестор имеет возможность получения дохода.
Доход, который будет получен с акций зависит от роста курсовой стоимости
акций и от количества дивидендов, полученных с этих акций. В данном случае
основным доходом владельца акциями будет рост их курсовой стоимости, а
дивиденды – второстепенный источник дохода.
Прежде
чем
осуществить
покупку
акций
инвестору
необходимо
проанализировать насколько надежной является компания. Когда у компании
намечается положительная динамика, то есть растут выручка и прибыль,
дивиденды, которые она выплачивает, соответственно происходит рост цены
акции. В данном случае инвестор принимает решение о покупке акций компании.
Спустя некоторое время, если у акции продолжается рост стоимости и при этом
компания продолжает развиваться, то инвестор может выгодно продать
имеющиеся у него акции по высокой цене и получить соответственно прибыль.
Дивиденды — это часть прибыли, которая компания выплачивает
акционерам. Выплаты дивидендов осуществляются из чистой прибыли компании
либо один раз в год, либо один раз в полгода в зависимости от решения компании.
Размер дивидендов рекомендуется советом директоров и утверждается на общем
собрании акционеров.
В итоге, доходность акций – это показатель дохода, полученного с акций в
процентном выражении. Доходность в общем смысле рассчитывается как сумма
прибыли, деленная на сумму вложенных средств. Кроме прибыли по акциям
можно получить и убыток, в таком случае доходность может быть отрицательной.
Итак, доходность акций d, %, рассчитывается по формуле

− 
 = 
• 100%,

где pr – доход компании, руб.;
oc – общее число акций;
(1)
29
price – начальная стоимость акции, руб.
2.4 Алгоритмическая реализация
Рассмотрим подробнее алгоритмы работы системы:
1. Генерация компаний. Данный алгоритм состоит в том, чтобы создать
список компаний, которые будут выпускать акции для торговли на фондовом
рынке и принимать участие в моделировании. Для каждой компании создается
определенный набор параметров: название, надежность, доходность, оборот
акций на рынке, инвестиции, стоимость акции. Ниже представлен данный
алгоритм. Объявляются переменные название компании, уровень надежности,
уровень доходности, годовая прибыль, доходность акции, оборот акций на рынке,
текущая стоимость акции /курс, инвестиции. Помимо переменных объявляются
два списка: список для хранения значений курсов на протяжении моделирования
и список для хранения значений доходности на протяжении моделирования:
public string NC; // Название компании
public int stabil;// уровень надежности
public double profit;// годовая прибыль
public double a_profit;// доходность акции
public int oll_set;// оборот акций на рынке
public double price;//текущая стоимость акции /курс
public string invest = "";// инвестиции
public List<double> kurs = new List<double>(); //список - хранит значение
курсов на протяжении моделирования
public List<double> l_profit = new List<double>(); //список - хранит
значение доходности на протяжении моделирования
Создаем отрасли, рассмотренные выше. Для данных отраслей задаются
начальные числовые значения, обозначающие процент надежности, процент
доходности, годовую прибыль, число акций в обороте:
Company c1 = new Company("Добывающая", 30, 15,150000, 1000);
Company c2 = new Company("Перерабатывающая", 18, 24,350000, 2000);
30
Company c3 = new Company("Торговая", 20,45, 250000, 4000);
Company c4 = new Company("Банки", 38, 12,120000, 2500);
2. Генерация покупателей. В этом алгоритме происходит генерация
игроков, которые также, как и компании будут являться участниками
моделирования. Каждому из покупателей присваивается номер, границы
доходности и границы надежности, в соответствии с которыми он покупает
акции. Данный алгоритм рассмотрен ниже. Объявляются переменные название
покупателя, граница доходности, граница надежности, а также список для
хранения
данных инвестиционного
портфеля
покупателя
на
протяжение
моделирования:
public string name; // название
public int gr_st;// граница доходности
public int gr_risk;// граница надежности
List<int> invest_portf = new List<int>(); //инвестиционный портфель
Генерируем покупателей:
B_Gamer g1 = new B_Gamer("Государство", 8, 15);
gamers.Add(g1);
for (int i = 0; i < 15; i++)
{
int t_g = rnd.Next(0, 3);
switch (t_g)
{
//инвестиционный фонд
case 0:{
B_Gamer
g
rnd.Next(6,15),rnd.Next(20,70));
gamers.Add(g);
break;}
//игрок
case 1:
=
new
B_Gamer(name[t_g]+i.ToString(),
31
{
B_Gamer g = new B_Gamer(name[t_g]+i.ToString(), rnd.Next(5, 35),
rnd.Next(10, 80));
gamers.Add(g);
break;}
//коммерческий банк
case 2:
{
B_Gamer g = new B_Gamer(name[t_g] + i.ToString(), rnd.Next(12, 30),
rnd.Next(20, 35));
gamers.Add(g);
break; }
}
}
3. Покупка акций.
Данный алгоритм покупки акций игроками рынка у акционерных обществ
добывающей, обрабатывающей, торговой отраслей и финансового сектора в лице
банков представлен с помощью диаграммы деятельности на рисунке 9.
32
Рисунок 9 – Диаграмма деятельности покупки акций
Полный алгоритм покупки акций:
for (int i = 0; i < 4; i++)
{
33
if ((br[i].stabil >= this.gr_st) && (br[i].a_profit <= this.gr_risk) &&
(br[i].oll_set > 0))
{
Пополнение инвестиционного портфеля
invest_portf[i] += coun_act;
lst[i] += coun_act;
Уменьшение акций в обороте
br[i].oll_set -= coun_act;
Увеличение стоимости акции
br[i].price += coun_act/100;
Изменение процента доходности
br[i].a_profit = 100 • (br[i].profit + (br[i].price - br[i].kurs[0])) / (10 •
br[i].kurs[0]);
}
}
4. Продажа акций.
Полный алгоритм продажи акций:
for (int i = 0; i < 4; i++)
{
if ((br[i].stabil <= this.gr_st) && (invest_portf[i] > 0))
{
Изъятие акций из инвестиционного портфеля
invest_portf[i] -= coun_act;
Увеличение акций в обороте
br[i].oll_set += coun_act;
Уменьшение стоимости акции
br[i].price -= coun_act / 80;
Изменение процента доходности
br[i].a_profit = 100 • (br[i].profit + (br[i].price - br[i].kurs[0])) / (10 •
br[i].kurs[0]);
34
}
}
Данный алгоритм продажи акций игроками представлен с помощью
диаграммы деятельности на рисунке 10.
Рисунок 10 – Диаграмма деятельности продажи акций
35
2.5 Последовательность действий
Разрабатываемая
модель
реализует
дискретно-событийный
подход.
Дискретно-событийное моделирование – это подход к моделированию, в котором
система состоит из последовательности событий, происходящих в заданные
промежутки времени. Данный подход был разработан Д. Гордоном в 1960 году.
Основными
объектами
в
дискретно-событийном
моделировании
принято
выделять: очереди и устройства. Кроме того, также выделяют компоненты,
которые задействованы в моделировании:
1. Часы – отслеживание за изменениями в системе.
2. Список событий.
3. Генераторы случайных чисел.
4. Статистика – сбор данных по результатам моделирования.
5. Условие завершения – достижение какой-либо поставленной цели в
рамках моделирования [15].
На ранних этапах формирование дискретно-событийного моделирования
предполагалось как программный аналог математическим моделям массового
обслуживания.
Дискретно-событийное
моделирование
получило
широкое
практическое применение в исследованиях производственных и логистических
систем, даже в Советском Союзе.
Дискретно-событийное моделирование является актуальным подходом в
настоящее время и применяется в процессе реинжиниринга для различных
организаций, однако в силу своей узкой специфики мало подходит для
исследования макроэкономических систем. Однако концепция дискретного
времени дает большие возможности для исследователя, и введение новых
объектов рамках этой концепции позволяет получить качественно новые
результаты. Так произошло в 90-х годах с агентным моделированием. Некоторые
специалисты выделяют его в отдельное направление, другие считают его частным
случаем дискретно-событийного моделирования [9].
36
В разрабатываемой модели модельное время приближено к реальному и за
единицу времени считается один день, месяц, год. Один день – один такт
модельного времени.
Рассмотри подробно все имеющиеся операции:
1. Объект «Компания» является эмитентом акций, которые торгуются на
фондовом рынке.
2. Объект «Рынок» - торговая площадка, на которой взаимодействуют
различные покупатели и компании, и соответственно, происходят процессы купли
и продажи акций различных компаний.
3. Объект «Игрок» представляется как лицо, осуществляющее действия
купли и продажи акций имеющихся компаний.
4. Объект «Инвестиционный портфель» является индивидуальным для
каждого из покупателей хранилищем купленных на рынке акций.
Для представления перечисленных выше операций удобно использовать
диаграмму
последовательности.
Диаграмма
последовательности
позволяет
отобразить жизненный цикл какого-либо объекта и взаимодействие с другими
объектами. Состоит диаграмма последовательности из следующих элементов:
прямоугольники названия объектов, вертикальные линии жизни, для отображения
времени, прямоугольники, показывающие действия, совершенные объектами и
стрелки для поддержки связи между объектами [16].
Последовательность всех операций представлена в виде диаграммы
последовательности на рисунках 11, 12.
37
37
Рисунок 11 – Диаграмма последовательности
38
38
Рисунок 12 – Продолжение диаграммы последовательностей
39
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ СИСТЕМЫ ИССЛЕДОВАНИЯ
ВЛИЯНИЯ КАПИТАЛИЗАЦИИ И ДОХОДНОСТИ НА КУРС
АКЦИЙ КОМПАНИЙ
3.1 Обзор программных средств для реализации
Для того, чтобы начать проектирование и реализацию агентной модели
необходимо рассмотреть и выбрать подходящие программные платформы,
которые будут содержать средства для программного описания деятельности
агентов и состояния среды, для контроля и управления процессом их
взаимодействия и работы. К таким платформам относятся AnyLogic, NetLogo,
AgentBuilder, Swarm, MASON, JASA (Java Auction Simulator API), StarLogo, Visual
Studio и т. д. Рассмотрим более подробно некоторые платформы.
1. AnyLogic
—
программное
обеспечение
для
имитационного
моделирования, разработанное российской компанией The AnyLogic Company.
Данный инструмент владеет современным графическим интерфейсом и позволяет
использовать язык Java для разработки моделей [17]. Интеграция компилятора
Java в AnyLogic предоставляет широкие возможности при проектировании
моделей, а также создание Java апплетов, которые могут открываться любым
браузером. Эти апплеты дают возможность легко размещать модели AnyLogic на
веб-сайтах. В дополнение к Java-апплетам, AnyLogic Professional поддерживает
создание Java-приложений. В таком случае пользователю предоставляется
возможность запустить модель без установки AnyLogic. В состав AnyLogic
входят:
 переменные, параметры, события, уравнения (низкоуровневые
конструкции моделирования);
 линии, квадраты, овалы и т.п (формы представления);
 БД (базы данных), графики, гистограммы, стандартные картинки и
формы экспериментов (элементы анализа).
В
AnyLogic
имеется
поддержка
проектирования,
разработки,
документирования модели, выполнения экспериментов с моделью при помощи
40
компьютера, включая различные виды анализа — от анализа чувствительности до
оптимизации параметров модели относительно некоторого критерия.
Графическая среда моделирования AnyLogic включает в себя следующие
элементы: диаграммы потоков и накопителей, которые применяются при
разработке моделей, используя методы системной динамики; карты состояний в
агентных моделях необходимые для определения поведения агентов; для
построения алгоритмов используются блок-схемы, которые применяются и в
дискретно-событийном, и агентном моделировании; для определения процессов в
дискретно-событийном моделировании используется основная конструкция процессные диаграммы [17].
2. NetLogo — это продолжение языка Logo, который был создан в 1968
году Массачусетским Технологическим Институтом совместно с корпорацией
BBN (Bolt Beranek & Newman). Главная цель языка Logo – это обучение детей при
помощи компьютера. Создан Ури Виленским в 1999 году и развивается в Center
for Connected Learning and Computer-Based Modeling.
Основными пользователями, для которых разработан продукт NetLogo
являются преподаватели высших учебных заведений, а также те люди, которые
занимаются исследовательской деятельностью.
Программный
продукт
NetLogo
используется
для
моделирования
различных ситуаций и явлений, которые случаются в природе и обществе.
NetLogo удобен в использовании и подходит для моделирования сложных,
развивающихся во времени систем. Создатель модели может давать указания
сотням и тысячам независимых "агентов" действующим параллельно. Благодаря
этому перед создателем модели появляются возможности, при помощи которых
он может дать объяснения и понимать связи, которые случаются в результате
моделирования между поведением отдельных индивидуумов и явлениями,
которые происходят на макроуровне [18].
Язык NetLogo является наиболее подходящим языком и платформой для
осуществления научной и исследовательской деятельности. Он довольно прост в
использовании и понимании, благодаря чему ученики и учителя могут достаточно
41
просто создавать в этой среде свои собственные авторские модели. В библиотеке
NetLogo насчитывается множество готовых моделей, с которыми легко могут
ознакомиться ученики. К таким относятся модели по различным предметам:
биологии, математике, химии, социологии, физике, информатике, экономике,
естественным и общественным наукам и др. Кроме того модели из библиотеки
можно использовать и модифицировать, потому что NetLogo приветствует
поддержание функционирования моделей, их развитие, использование, потому
что все модели хранятся в текстовых файлах [18].
3. Microsoft Visual Studio — это интегрированная среда разработки
программного обеспечения от компании Microsoft. Данный продукт позволяет
разработать приложения с графическим интерфейсом, в том числе с поддержкой
технологии Windows Forms и консольные приложения, а также веб-приложения,
веб-сайты,
веб-службы в родном и в управляемом кодах для всех платформ,
поддерживаемых .NETFramework, Xbox, Windows, Windows Mobile,
Windows
Phone, Windows CE, .NET Compact Framework, Silverlight [19]. В Visual Studio
включены:
 встроенный отладчик, работающий как отладчик уровня исходного
кода, так и отладчик машинного уровня;
 редактор исходного кода с поддержкой технологии IntelliSense и
возможностью простейшего рефакторинга кода;
 редактор форм для упрощения создания графического интерфейса
приложения;
 дизайнер классов;
 дизайнер схемы базы данных;
 веб-редактор.
В Visual Studio имеется возможность создавать и подключать плагины
(сторонние дополнения)
для того, чтобы расширить функциональность на
каждом уровне, включая добавление поддержки систем контроля версий
исходного кода (как, например, Visual SourceSafe и Subversion), добавление новых
наборов
инструментов
(например,
для
редактирования
и
визуального
42
проектирования кода на предметно-ориентированных языках программирования)
или инструментов для прочих аспектов процесса разработки программного
обеспечения(например, клиент Team Explorer для работы с Team Foundation
Server) [19].
4. StarLogo – это расширение языка программирования Logo. StarLogo
является
агентно-ориентированным
языком
моделирования,
который
предназначен для достижения целей в образовательной деятельности студентами,
для моделирования поведения децентрализованных систем. Авторами данного
языка выступают Митчел Резник и Эрик Клёпфер, которые трудились в MIT
Media Lab Массачусетского технологического института в рамках программы
педагогического образования в штате Массачусетс.
На начальных этапах функционирования версия StarLogo запускалась на
компьютерах Connection Machine. Далее было принято решение адаптировать
следующую версию StarLogo под компьютеры Macintosh. Позже эта версия стала
носить название MacStarLogo, а теперь она переименована и называется
MacStarLogo Classic. В настоящее время основная версия StarLogo написана на
языке программирования Java и называется она OpenStarLogo, работает на
большинстве современных компьютеров. Исходный код для OpenStarLogo
доступен в Интернете, хотя лицензия, под которой она выпущена, не является
полноценной OpenSource лицензией в соответствии с Open Source Definition, из-за
ограничений на коммерческое использование кода [20].
Кроме всего прочего в доступе имеется еще одна версия StarLogo под
названием
StarLogoT.
Данная
версия
является
программируемой
средой
моделирования для построения и изучения многоуровневых систем. С помощью
StarLogoT появляется возможность контроля за поведением тысяч объектов в
параллельном режиме. Для каждого объекта назначены свои собственные
переменные и состояние. Это позволяет моделировать поведение распределенных
и вероятностных систем и систем, обнаруживающих сложную динамику [20].
5. Swarm - это название пакета моделирования агентов с открытым
исходным кодом. Данный продукт полезен для моделирования взаимодействия
43
социальных или биологических агентов, а также их совместного коллективного
поведения. Swarm впервые был о разработан в институте Санта-Фе в середине
1990-х годов, а с 1999 года поддерживается некоммерческой группой развития
Swarm. Система моделирования Swarm доступна бесплатно для использования в
рамках стандартной общественной лицензии GNU. С помощью Swarm, как и
других платформ для агентного моделирования ученым предоставляется
возможность проводить и визуализировать эксперименты в синтетические макрои микросреды, для того чтобы проверить научные теории, и другие данные без
жестких ограничений по времени, объему, рискам и многим другим параметрам
[21].
В таблице 1 представлено сравнение средств разработки агентных систем.
Таблица 1 – Обзор средств разработки агентных систем
Название
1
AnyLogic
Назначение
2
Требуемая
Требуемый
ОС
программирования
3
Имитационное
Windows,
моделирование
Mac, Linux
логистики,
цепочки
поставок,
производства,
маркетинга,
пешеходное
моделирование
4
Java, UML-RT
язык Лицензия
5
Проприет
арное
44
Продолжение таблицы 1
1
NetLogo
2
3
Социальные
и Windows
естественные
Server
науки,
4
NetLogo
-
на
свободное
012,
пользователям в Windows 7,
разработке
GPL
лицензия
помощь 2003/2008/2
начинающим
5
ПО
Windows 8,
Linux,
FreeBSD,
NetBSD,
OpenBSD,
Mac OS X,
iOS,
Android
MS Visual
Разработка
Windows
Visual Basic,
Проприета
Studio
консольных
2000,
Visual C#, Visual
рное
приложений,
Windows
C++,
приложений с
XP или
Visual F#
поддержкой
Windows
Windows Forms,
NT 4.0,
веб-сайты, веб-
Windows 7,
приложения,
Windows 8,
приложений с
Windows 10
графическим
интерфейсом
45
Продолжение таблицы 1
1
2
StarLogo
3
4
Моделирование
Mac OS X StarLogo
поведения
v10.2.6;
ных
GPL
(расширение
децентрализован Windows;
5
-
для лицензия
на
Logo)
систем; Unix; Linux
свободное
преподаватели,
ПО
студенты
Swarm
Система
Windows;
моделирования
Linux; Mac
агентов
Java; Objective-C
GPL
-
лицензия
с OS X
на
открытым
свободное
исходным кодом
ПО
В итоге
капитализации
интегрированная
для
и
разработки агентной
доходности
среда
на
курс
разработки
модели исследования
акций
Microsoft
компаний
Visual
была
Studio
влияния
выбрана
и
язык
программирования C#.
3.2 Описание работы информационной системы
Для полноты картины необходимо
осуществить описание работы
получившейся информационной системы и продемонстрировать примеры ее
работы.
После запуска системы отображается стартовая форма, на которой
находятся таблицы с информацией о компаниях и покупателях, кнопка для
запуска моделирования под названием «Новый биржевой день», надпись
«Итерация модели», в которой будет выводится количество дней, поле для выбора
типа инвестиций, кнопка «Инвестировать в компанию», кнопка «График
покупки» для построения соответствующего графика, кнопка «График курс
акции/доходность». Также на форме расположено поле, в котором будет строится
46
график зависимости курса акции к доходности с соответствующими цветовыми
обозначениями. По умолчанию это поле скрыто, оно будет отображено в момент
построения графика и вывода на экран. Стартовая форма изображена на рисунке
13.
Рисунок 13 – Стартовая форма
Таблица «Компании» состоит из 6 столбцов: отрасль, надежность (%),
доходность (%), оборот на рынке, инвестиции, стоимость акции. Данная таблица
представлена на рисунке 14.
Рисунок 14 – Таблица «Компании»
47
В столбце «Отрасль» отображаются отрасли компаний (добывающая,
перерабатывающая, торговая, банки), акции которых торгуются на рынке.
Столбец «Надежность (%)» отображает качество ценной бумаги. Данный
показатель является одним из основных, который описывает способность акции
сохранять свою рыночную стоимость. Также данный показатель делает акции
более привлекательными для покупателей, увеличивает их ценность. В связи с
этим акционерное общество сохраняет уверенность том, что ему удастся избежать
банкротства. Столбец «Доходность (%)» отражает процент дохода, который могут
принести акции после их приобретения. В столбце «Оборот на рынке»
отображается количество акций компаний, относящихся к определенной отрасли,
которые выпущены для торговли на рынке. Это число будет меняться на
протяжении всего моделирования. В столбце «Инвестиции» отображаются типы
инвестиций, с помощью которых компании могут влиять на процент надежности.
Более подробно инвестиции рассмотрим позднее. В столбце «Стоимость акции»
на данном этапе отображается начальная стоимость акции, которая будет
меняться на протяжении всего моделирования в зависимости от спроса на акции
той или иной отрасли. По умолчанию в столбцах «Надежность (%)», «Доходность
(%)», «Оборот на рынке», «Стоимость акции» сгенерированы числовые значения,
которые
будут
использоваться
после
запуска
моделирования.
Столбец
«Инвестиции» изначально пуст, поскольку значения в этом столбце будут
генерироваться после запуска моделирования.
Как было сказано ранее компании могут управлять надежностью
посредством инвестирования. Помимо инвестиций в модели присутствует
изымание средств, так называемые деинвестиции. Рассмотрим каждые из них.
Инвестиции разделены на три типа: крупные инвестиции, средние
инвестиции и небольшие инвестиции. Все эти типы инвестиций являются
инструментом повышения процента надежности. Для того чтобы осуществить
инвестирование, нужно выбрать тип инвестиции в соответствующем поле, после
этого выбрать отрасль, в которую необходимо инвестировать и после этого
нажать на кнопку «Инвестировать в компанию». В результате инвестирования
48
процент надежности повышается. Процесс выбора инвестиций представлен на
рисунке 15.
Рисунок 15 – Процесс инвестирования в компанию
Деинвестиции наряду с инвестициями также имеют три типа: крупные
деинвестиции, средние деинвестиции и малые деинвестиции. Они представляют
собой отказ от инвестирования и изымание капиталовложений. Соответственно в
результате деинвестиций понижается процент надежности.
В модели каждому типу инвестиций и деинвестиций присвоено
определенное значение для лучшего понимания. Так, крупные инвестиции
отображаются в виде знака «+++», средние инвестиции отображаются в виде
знака «++», малые инвестиции отображаются в виде знака «+». Соответственно
крупные деинвестиции отображаются в виде знака «---», средние деинвестиции –
«--», малые деинвестиции – «-». На рисунке 16 представлен вариант обозначения
типа инвестиций в столбце инвестиции таблицы «Компании».
Рисунок 16 – Отображение типа инвестиций в столбце инвестиции
Таблица «Покупатели (игроки рынка)» состоит из 7 столбцов: игрок,
граница доходности, граница надежности, акции добывающей промышленности,
49
акции перерабатывающей промышленности, акции торговых компаний, акции
банка. Данная таблица представлена на рисунках 17, 18.
Рисунок 17 – Таблица «Покупатели (игроки рынка)»
Рисунок 18 – Продолжение таблицы «Покупатели (игроки рынка)»
В столбце «Игрок» отображаются покупатели (игроки рынка), которые
приобретают на рынке акции всех возможных отраслей. По условию выделяются
следующие
виды
покупателей:
государство,
коммерческие
банки,
инвестиционные фонды и прочие игроки. Данные типы игроков, кроме
государства, нумеруются для того, чтобы их было удобно различать. В столбцах
«Граница доходности» и «Граница надежности» указываются данные или так
называемые предпочтения покупателей, на основании которых они принимают
50
решение о покупке или продаже акций той или иной компании. В оставшихся
столбцах акции добывающей промышленности, акции перерабатывающей
промышленности,
акции торговых компаний,
акции банка
отображается
количество акций данных отраслей, которое приобрели различные покупатели и,
соответственно, добавили в свой инвестиционный портфель. Поскольку модель на
данном этапе не запущена, то в таблице изображены нулевые значения. Это
говорит о том, что покупатели не совершили ни одной покупки.
После нажатия на кнопку «Новый биржевой день» происходит запуск
моделирования и в надписи - «Итерация модели», расположенной рядом с
кнопкой, отображается номер итерации. Игроки осуществили покупку акций и
таким образом сформировали свой инвестиционный портфель из акций
представленных отраслей. В данной модели за одну итерацию принято считать
один день. В результате моделирования можно наблюдать, что все игроки
покупают акции компаний по-разному. Одни игроки покупают большее
количество акций, другие игроки покупают меньшее количество, есть и те, кто
вовсе не покупает акции. Это все зависит от границ доходности и надежности,
которые каждый покупатель самостоятельно образует для себя. В зависимости от
спроса на акции той или иной отрасли цена акции увеличивается, иначе – падает.
Также меняется количество акций,
выставленных на продажу. Данную
информацию можно увидеть в таблице «Компании» в столбцах «Оборот на
рынке» и «Стоимость акции». На основании этих данных меняется и процент
доходности акций. На рисунках 19, 20 изображен запуск моделирования.
51
Рисунок 19 – Запуск моделирования
Рисунок 20 – Запуск моделирования
На основании данных из таблицы «Компании», изменяющихся на
протяжении всего моделирования, происходит сбор статистики и можно
построить график зависимости курса акций и доходности для любой из
представленных отраслей. Для того, чтобы построить график зависимости курса
акций и доходности, необходимо в столбце «Отрасль» таблицы «Компании»
выделить строку с отраслью, для которой необходимо построить график и нажать
52
на кнопку «График курс акции/доходность». Также при нажатии на данную
кнопку повторно, можно скрыть график. На рисунке 21 изображен график для
торговой отрасли за 30 биржевых дней.
Рисунок 21 – График курс акции/доходность торговой отрасли за 30 дней
На рисунке 22 изображен график курс акции/доходность для отрасли
банки за 30 биржевых дней.
Рисунок 22 – График курс акции/доходность отрасли банки за 30 дней
53
На рисунке 23 изображен график курс акции/доходность для График курс
акции/доходность добывающей отрасли за 30 биржевых дней.
Рисунок 23 – График курс акции/доходность добывающей отрасли за 30 дней
На
рисунке
24
изображен
график
курс
акции/доходность
для
перерабатывающей отрасли за 30 биржевых дней.
Рисунок 24 – График курс акции/доходность перерабатывающей отрасли за 30
дней
54
Помимо графика зависимости курса акции и доходности (рисунок 21, 22, 23,
24) имеется возможность построить график, на котором изображается количество
купленных акций у той или иной отрасли. Для этого необходимо нажать на
кнопку «График покупки». Построение графика покупки изображено на рисунке
25.
Рисунок 25 – График покупки акций
Возможность построения данного графика появляется только тогда, когда
покупатели совершили покупку акций. Если акции не покупаются, то при
нажатии на кнопку «График покупки» система выдает сообщение. Сообщение
системы об отсутствии покупки акций представлено на рисунке 26.
Рисунок 26 – Сообщение системы об отсутствии покупки акций
55
ЗАКЛЮЧЕНИЕ
В результате выполнения выпускной квалификационной работы было
осуществлено исследование поведения и принятия решений агентов-компаний и
агентов-покупателей в разработанной информационной системе.
Кроме того,
была
модели
обозначена
актуальность
разрабатываемой
агентной
и,
соответственно, были выполнены поставленные задачи, а именно:
1. Была
изучена
необходимая
информация,
с
помощью
которой
осуществлено описание процессов предметной области.
2. Выполнен обзор и описание основных прототипов, с помощью которых
разрабатывается информационная система.
3. Сформулированы функциональные и пользовательские требования,
благодаря которым, были выделены основные группы пользователей для
агентной модели, а также обозначены основные функции для реализации. Кроме
того, определен перечень требований и правил, которым система должна
стараться соответствовать – это нефункциональные требования. С помощью всех
указанных
требований
определены
спецификации
разрабатываемой
информационной системы.
4. Осуществлено моделирование процессов предметной области и логики
диалога с пользователем для упрощения работы с системой и понимания этой
системы конечным пользователем.
5. Разработаны алгоритмы работы, в которых отражены основные
процессы,
происходящие
в
модели
и
пользовательский
интерфейс
информационной системы.
6. Был проведен обзор средств разработки агентных систем и выбраны
программные средства для реализации информационной системы.
7. Выполнено
описание
реализованной
агентной
модели
для
исследования влияния капитализации и доходности на курс акций компаний, а
также продемонстрированы примеры ее работы.
56
Таким образом цель выпускной квалификационной работы по разработке
агентной модели для исследования влияния капитализации и доходности на курс
акций компаний можно считать выполненной.
57
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ
1. Стеряков А. А. Имитационное моделирование фондовых рынков //
Журнал
«Вестник
Самарского
государственного
аэрокосмического
университета». - 2012. -№ 2 (33). - С. 274-281.
2. Горная
промышленность
[Электронный
ресурс]:
Материал
из
Википедии — свободной энциклопедии : Версия 89430208, сохранённая в 23:01
UTC 3 декабря 2017 / Авторы Википедии // Википедия, свободная энциклопедия.
— Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2017. — Режим доступа:
http://ru.wikipedia.org/?oldid=89430208 (дата обращения: 19.04.2018).
3. Обрабатывающая промышленность [Электронный ресурс]: Материал
из Википедии — свободной энциклопедии : Версия 91057290, сохранённая в
17:17 UTC 20 февраля 2018 / Авторы Википедии // Википедия, свободная
энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2018. —
Режим
доступа:
http://ru.wikipedia.org/?oldid=91057290
(дата
обращения:
19.04.2018).
4. Торговля [Электронный ресурс]: Материал из Википедии — свободной
энциклопедии: Версия 90422358, сохранённая в 10:36 UTC 21 января 2018 /
Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. —
Сан-Франциско:
Фонд
Викимедиа,
2018.
—
Режим
доступа: http://ru.wikipedia.org/?oldid=90422358 (дата обращения: 19.04.2018).
5. Банк [Электронный ресурс] : Материал из Википедии — свободной
энциклопедии : Версия 90360489, сохранённая в 21:20 UTC 17 января 2018 /
Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. —
Сан-Франциско:
Фонд
Викимедиа,
2018.
—
Режим
доступа: https://ru.wikipedia.org/?oldid=90360489 (дата обращения: 19.04.2018).
6. Акция (финансы) [Электронный ресурс]: Материал из Википедии —
свободной энциклопедии : Версия 85748979, сохранённая в 12:41 UTC 2 июня
2017 / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон.
58
дан.
—
Сан-Франциско:
Фонд
Викимедиа,
2017.
—
Режим
доступа:
http://ru.wikipedia.org/?oldid=85748979 (дата обращения: 20.02.2018).
7. Рассел С. Искусственный интеллект, современный подход./ С. Рассел,
П. Норвинг - «Вильямс», 2006. 2-е издание, - 1408 с.
8. Агентное
моделирование
[Электронный
ресурс]:
Материал
из
Википедии — свободной энциклопедии: Версия 87929680, сохранённая в 08:30
UTC 29 сентября 2017 / Авторы Википедии // Википедия, свободная
энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2017. —
Режим
доступа:
http://ru.wikipedia.org/?oldid=87929680
(дата
обращения:
19.04.2018).
9. Машкова
А.Л.
макроэкономических
Прогнозирование
систем
на
базе
долгосрочного
агент-ориентированных
развития
моделей.
Государственное управление. Электронный вестник. 2016. №4(57). -18 с.
10.Машкова А.Л., Савина О.А. Управление финансовыми потоками
агентов-предприятий в модели экспериментальной экономики. Управленческий
учет. – 2015. – № 6. – С. 32-38.
11.UML [Электронный ресурс]: Материал из Википедии — свободной
энциклопедии : Версия 86251728, сохранённая в 12:27 UTC 29 июня 2017 /
Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. —
Сан-Франциско:
Фонд
Викимедиа,
2017.
—
Режим
доступа:
http://ru.wikipedia.org/?oldid=86251728 (дата обращения: 18.02.2018).
12.Диаграмма
прецедентов
[Электронный
ресурс]:
Материал
из
Википедии — свободной энциклопедии : Версия 85825361, сохранённая в 12:53
UTC 6 июня 2017 / Авторы Википедии // Википедия, свободная энциклопедия. —
Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2017. — Режим доступа:
http://ru.wikipedia.org/?oldid=85825361 (дата обращения: 18.02.2018).
13.Паевой инвестиционный фонд [Электронный ресурс]: Материал из
Википедии — свободной энциклопедии : Версия 90428985, сохранённая в 16:18
UTC 21 января 2018 / Авторы Википедии // Википедия, свободная энциклопедия.
59
— Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2018. — Режим доступа:
http://ru.wikipedia.org/?oldid=90428985 (дата обращения: 27.02.2018).
14.Коммерческий банк [Электронный ресурс]: Материал из Википедии —
свободной энциклопедии : Версия 89877705, сохранённая в 17:16 UTC 26 декабря
2017 / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон.
дан.
—
Сан-Франциско:
Фонд
Викимедиа,
2017.
—
Режим
доступа:
http://ru.wikipedia.org/?oldid=89877705 (дата обращения: 27.02.2018).
15.Дискретно-событийное
моделирование
[Электронный
ресурс] :
Материал из Википедии — свободной энциклопедии : Версия 85470328,
сохранённая в 19:32 UTC 17 мая 2017 / Авторы Википедии // Википедия,
свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа,
2017. — Режим доступа: https://ru.wikipedia.org/?oldid=85470328 (дата обращения:
19.04.2018).
16.Диаграмма последовательности [Электронный ресурс] : Материал из
Википедии — свободной энциклопедии : Версия 93099342, сохранённая в 12:37
UTC 5 июня 2018 / Авторы Википедии // Википедия, свободная энциклопедия. —
Электрон.
дан.
— Сан-Франциско: Фонд
Викимедиа,
2018.
—
Режим
доступа: https://ru.wikipedia.org/?oldid=93099342.
17.AnyLogic [Электронный ресурс]: Материал из Википедии — свободной
энциклопедии: Версия 90900410, сохранённая в 14:18 UTC 13 февраля 2018 /
Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. —
Сан-Франциско:
Фонд
Викимедиа,
2018.
—
Режим
доступа:
http://ru.wikipedia.org/?oldid=90900410 (дата обращения: 6.03.2018).
18. NetLogo [Электронный ресурс]: Материал из Letopisi.Ru — «Время
вернуться домой»: Версия от 09:41, 10 августа 2017 — Режим доступа:
http://letopisi.org/index.php/NetLogo (дата обращения: 6.03.2018).
19.Microsoft Visual Studio [Электронный ресурс]: Материал из Википедии
— свободной энциклопедии : Версия 91517671, сохранённая в 21:51 UTC 14
марта 2018 / Авторы Википедии // Википедия, свободная энциклопедия. —
60
Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2018. — Режим доступа:
http://ru.wikipedia.org/?oldid=91517671 (дата обращения: 6.03.2018).
20. StarLogo
[Электронный
ресурс]:
Материал
из
Национальной
библиотеки им. Н. Э. Баумана: Последнее изменение этой страницы: 23:42, 7
июня 2016. — Режим доступа:
https://ru.bmstu.wiki/StarLogo (дата обращения:
6.03.2018).
21.Swarm (simulation) [Электронный ресурс]: Материал из Википедии —
свободной энциклопедии: 20 февраля 2018, 19:03 UTC / Авторы Википедии //
Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд
Викимедиа,
2018.
—
Режим
доступа:
https://en.wikipedia.org/w/index.php?title=Swarm_(simulation)&oldid=826737035>
(дата обращения: 19.04.2018).
62
ИНФОРМАЦИОННО-ПОИСКОВАЯ ХАРАКТЕРИСТИКА
ДОКУМЕНТА НА ЭЛЕКТРОННОМ НОСИТЕЛЕ
Наименование
группы атрибутов
атрибута
1. Описание
Обозначение документа
документа
(идентификатор(ы)
файла(ов))
Наименование документа
2. Даты и время
3. Создатели
4. Внешние
ссылки
5. Защита
6. Характеристики
содержания
Характеристики документа
на электронном носителе
Плакаты\Масляк Р. 41ИТ.pptx
Демонстрационные плакаты
к выпускной
квалификационной работе
Класс документа
ЕСКД
Вид документа
Оригинал документа на
электронном носителе
Аннотация
Демонстрационный
материал, отображающий
основные этапы выполнения
выпускной
квалификационной работы
Использование документа Операционная система
Windows 10, Microsoft
PowerPoint 2016
Дата и время
18.06.2018
копирования документа
Дата создания документа 04.06.2018
Дата утверждения
06.06.2018
документа
Автор
Масляк Р. И.
Изготовитель
Масляк Р. И.
Ссылки на другие
Удостоверяющий лист
документы
№ 140031/п
Санкционирование
ОГУ имени И.С. Тургенева
Классификация защиты
По законодательству РФ
Объем информации
1313792 Б
документа
63
7. Структура
документа(ов)
Наименование плаката
(слайда) №1
Наименование плаката
(слайда) №2
Наименование плаката
(слайда) №3
Наименование плаката
(слайда) №4
Наименование плаката
(слайда) №5
Наименование плаката
(слайда) №6
Наименование плаката
(слайда) №7
Титульный лист
Структура агентной модели
экспериментальной
экономики
Диаграмма классов
Диаграмма прецедентов
Проектирование логики
диалога с пользователем
Алгоритмическая реализация
Результаты работы ИС
1/--страниц
Пожаловаться на содержимое документа