
- •Разработка моделей, алгоритмов и программных средств для повышения качества прогнозов биржевых показателей
- •Анализ существующих средств прогнозирования экономических показателей бирж
- •Модели и алгоритмы оценки стоимости ценных бумаг и управления инвестиционными активами
- •Роль рынка ценных бумаг в финансовой системе страны
- •Фундаментальный анализ
- •Показатели, используемые для фундаментального анализа акций
- •Технический анализ
- •Теории функционирования рынка ценных бумаг
- •Теория эффективного рынка
- •Теория случайных блужданий
- •Теория хаоса
- •Теория адаптивного рынка
- •Методы и модели для прогнозирования экономических показателей
- •Математическо-статистические методы
- •Поведенческие модели
- •Мультиагентные системы
- •Разработки, использующие мультиагентный подход для прогнозирования экономических показателей
- •Модель «SantaFe» и её вариации
- •Модель «Genoa Artificial Stock Market»
- •Библиотека «MoTor» и система «Имитрейд»
- •Платформа «ArTificial Open Market»
- •Комплекс «Altreva adaptive modeler»
- •Требования к функциональности проектируемого программного комплекса
- •Разработка архитектуры виртуального рынка ценных бумаг и системы поддержки принятия решений
- •Математическая модель виртуального рынка
- •Виртуальный мир и виртуальные агенты
- •Классификаторы
- •Новостная среда
- •Роли и стратегии
- •Активы агентов
- •Компании
- •Трейдеры
- •Стратегии трейдеров
- •Ордера и транзакции
- •Система обработки ордеров
- •Движение денежных средств при совершении транзакций
- •Расчёт статистических характеристик рынка ценных бумаг
- •Математическая формулировка задачи исследования
- •Архитектура программного комплекса
- •Выбор платформы для мультиагентной системы
- •Взаимосвязь приложения, пакетов и компонентов
- •Виртуальный мир
- •Стандартные классы системы
- •Планы и стратегии
- •Запросы и транзакции
- •Механизм формирования цен
- •Архитектура системы поддержки принятия решений
- •Общая схема архитектуры
- •Подключаемые модули
- •Алгоритм работы
- •Анализ работы системы
- •Описание работы программного комплекса
- •Функциональность
- •Редакторы
- •Организация экспериментов
- •Оценка степени соответствия виртуального рынка реальному
- •Соблюдение пропорций
- •Активность трейдеров на бирже ммвб в 2007-2010 годах
- •Наличие трендов и фигур
- •Сходство статистических характеристик изменения цен и объёма торгов
- •2. Критерий Колмогорова
- •3. Критерий Романовского
- •4. Критерий Ястремского
- •Критерии согласия двух теоретических распределений с распределением приращения максимальной цены за день для акции компании «Юкос» за период с 25.05.2005 по 19.09.2006
- •Критерии согласия двух теоретических распределений с распределением данных реального рынка по результатам 20 независимых экспериментов
- •Критерий согласия распределения Коши и объёма торгов за первые 116 дней торгов на виртуальном рынке в сценарии «FundamentalTradersExperiment.Fmp»
- •Критерий согласия распределения Коши и максимальной дневной цены по первой акции на виртуальном рынке в сценарии «FundamentalTradersExperiment.Fmp» за 165 дней торгов
- •Критерии согласия распределения Коши с распределением данных на виртуальном рынке по результатам 20 независимых экспериментов
- •Фрактальность рыночных процессов
- •Расчёт показателя Хёрста для различных временных рядов
- •Реакция рынка на действия отдельных агентов
- •Эксперименты, проведенные над виртуальным рынком
- •Зависимость размера спрэда от склонности к риску трейдеров
- •Влияние фундаментальных трейдеров на динамику котировок акций
- •Влияние новостного фона на котировки ценных бумаг при различном составе участников рынка
- •Практическое применение программного комплекса в качестве системы поддержки принятия решений
- •Математические критерии оценки качества прогнозов
- •Анализ работы системы поддержки принятия решений
- •Результаты сравнения краткосрочных прогнозов экспертов и системы поддержки принятия решений «fimas»
- •Результаты сравнения среднесрочных прогнозов экспертов и системы поддержки принятия решений «fimas»
- •Технико-экономическое обоснование
- •Преимущества и недостатки программного комплекса, выявленные в процессе эксплуатации
- •Другие перспективы практического применения
- •Перспективы для дальнейших исследований и разработок
- •Заключение
- •Литература
- •Приложения
- •Акт о внедрении результатов диссертационного исследования в ооо «Таулинк»
- •Акт о внедрении результатов диссертационного исследования в тк «Фотон»
- •Краткая информация о проекте «fimas»
- •Подробная схема связи компонентов и пакетов в системе
- •Алгоритм работы ролей трейдера и брокера
- •Алгоритм обработки текущих ордеров фундаментальным трейдером
- •Критерии согласия двух теоретических распределений (Гауса, Коши) с распределением приращения максимальной цены за день для акции компании «Юкос» за период с 25.05.2005 по 19.09.2006
- •Сравнение распределений Коши с распределением объёма торгов по первой акции на виртуальном рынке в сценарии «FundamentalTradersExperiment.Fmp» за 116 дней торгов
- •Критерии согласия распределения Коши с распределением объёма торгов по первой акции на виртуальном рынке в сценарии «FundamentalTradersExperiment.Fmp» за 116 дней торгов
- •Сравнение распределений Коши с распределением максимальной дневной цены по первой акции на виртуальном рынке в сценарии «FundamentalTradersExperiment.Fmp» за 165 дней торгов
- •Критерии согласия распределения Коши с распределением максимальной дневной цены по первой акции на виртуальном рынке в сценарии «FundamentalTradersExperiment.Fmp» за 165 дней торгов
- •Статистические данные по биржам
- •Структура трейдеров в модели fimas и на реальных биржах
- •Новости и спрэд акций в сценарии «NewsGenerator.Fmp» при преобладании новостных трейдеров
Расчёт статистических характеристик рынка ценных бумаг
Допустим,
что трейдеру или некому наблюдателю
нужно рассчитать динамику некого
статистических показателя за промежуток
времени
.
Пусть за промежуток времени
на рынке произошло
транзакций:
.
Зная параметры каждой транзакции (2.39)
,
можно разбить промежуток времени
на
отрезков
таким образом, что
|
(2.60) |
Для каждого
отрезка
можно вычислить, какие транзакции в
него попали: если
,
то
.
Зная параметры каждой транзакции (2.39),
можно вычислить статистические параметры
за весь период
:
|
|
(2.61) | |
|
| ||
где
|
| ||
|
(2.62) | ||
где
|
| ||
|
|
(2.63) | |
где
|
| ||
|
(2.64) | ||
где
|
|
Таким образом,
для каждого периода
рассчитываются статистические показатели:
|
(2.65) |
Соответственно,
если нужна динамика, например, средней
цены за промежуток времени
,
разбитый на
отрезков
,
то она собирается «по кусочкам» со всех
отрезков:
|
(2.66) |
Математическая формулировка задачи исследования
Виртуальный
мир
изначально задан внутренним состоянием
.
Допустим, что используемый сценарий
подразумевает, что за промежуток времени
произошло
внешних событий. Тогда общая совокупность
новостей и событий на момент окончанию
симуляции составит
,
а конечное состояние виртуального мира
будет
.
Существует
ряд статистических показателей,
характеризующих любой рынок. Например,
перечисленные в формулах 2.61–2.64, а также
более сложные, например, отношение
капитализации рынка к среднегодовому
объёму торгов. Для
обозначим их как
,
для реального рынка
как
.
Простое
сравнение статистических характеристик
не может свидетельствовать о степени
соответствия реального рынка виртуальному,
для этого следует использовать более
сложные критерии. Зададим критерий
адекватности модели как функцию от
динамики двух характеристик и уровня
значимости
:
|
(2.67) |
Примером
может служить критерий Колмогорова,
применимый к распределениям цен акций
за определённый период времени. Или
утверждение, что отношение капитализации
рынка к среднегодовому объёму торгов
должно быть в пределах определенного
диапазона, границы которого зависят от
.
Соответственно, задача исследования
будет заключаться в оптимизации начальных
параметров симуляциии сценария
с целью минимизации уровня значимости
,
соответствуя набору введённых критериев
.
Архитектура программного комплекса
Выбор платформы для мультиагентной системы
Существует множество готовых решений для мультиагентных систем. Выбор архитектуры программного комплекса определило несколько аспектов:
Сложная внутренняя структура рынка ценных бумаг. Такие понятия, как акции, активы, новости, классификаторы, ордера, транзакции довольно сложно формализуются. Ещё сложней правильно и гибко реализовать взаимосвязи между ними на языке объектно-ориентированного программирования.
Сложная и динамичная внешняя среда. Для агентов доступ к информации является полностью открытым. Но так же, как и в реальном мире, количество информации избыточно, и различные агенты могут по-разному интерпретировать одни и те же новости.
У разных агентов свои задачи. Компании производят продукты и оказывают услуги. Брокеры являются посредниками между трейдерами и рынком. Трейдеры решают только одну задачу: что делать с акциями: либо покупать, либо продавать? Чтобы её решить, они используют достаточно примитивные алгоритмы.
Обратная связь агентов ограничена: вместо популярной в ряде моделей симуляции эмоций используется формальная оценочная модель.
Исходя из этого, был сделан вывод, что применение какой-либо специальной мультиагентной платформы является избыточным. Они не позволили бы упростить самую сложную задачу – моделирования структуры рынка ценных бумаг и её связи с внешним миром. Такую систему проще реализовать «с нуля» на одном из языков объектно-ориентированного программирования.
Выбор для этих целей языка программирования Delphi был тоже не случайным. В него встроена отличная поддержка RTTI, есть встроенная библиотека классов VCL, а также имеется множество компонентов для быстрой реализации графиков, редактора свойств, скриптового языка. В среду разработки Delphi может быть интегрирован UML редактор ModelMaker, который существенно упрощает моделирования сложных объектно-ориентированных систем.
В столь сложной системе часто возникала задача динамической компиляции отдельных частей исходного кода. Для её решения было решено использовать компоненты скриптовой системы «RemObjects Pascal Script». В программном комплексе «FIMAS» они позволили решить следующие задачи:
Разработка сценариев (все сценарии являются скриптами).
Экспорт данных из виртуального рынка в графический инструмент анализа статистических данных «ArrayAnalyzer».
Выбор текущего объекта для инструмента «Редактора свойств».
Получение значений переменных, за которыми пользователь желает наблюдать в режиме реального времени (инструмент «WatchList»).
Хочется отдельно уточнить про агентов. Базовая реализация агентов довольно примитивная. Так же, как и в других системах подобного класса, моделируется лишь экономический аспект их деятельности. В самых верхних классах иерархии (TFMSParticipantRole, TFMSParticipant) у агентов вообще нет никаких целей. Они ничего не знают ни о мире, в котором живут, ни и о других агентах. Чем глубже мы уходим в иерархию, тем умнее начинают становиться агенты. У них появляется цель – максимизация прибыли. Они начинают пользоваться стратегиями, у них появляется параметр, характеризующий их опыт в торговле на рынке. Они оценивают свои предыдущие сделки и совершают следующие с учётом этих знаний.
Таким образом, можно сказать, что у каждого типа агента своя функция полезности, свой набор знаний, свои способности к (само)обучению. Более подробную информацию про различные типы агентов можно найти в разделе про стратегии принятия решений.