
- •Разработка моделей, алгоритмов и программных средств для повышения качества прогнозов биржевых показателей
- •Анализ существующих средств прогнозирования экономических показателей бирж
- •Модели и алгоритмы оценки стоимости ценных бумаг и управления инвестиционными активами
- •Роль рынка ценных бумаг в финансовой системе страны
- •Фундаментальный анализ
- •Показатели, используемые для фундаментального анализа акций
- •Технический анализ
- •Теории функционирования рынка ценных бумаг
- •Теория эффективного рынка
- •Теория случайных блужданий
- •Теория хаоса
- •Теория адаптивного рынка
- •Методы и модели для прогнозирования экономических показателей
- •Математическо-статистические методы
- •Поведенческие модели
- •Мультиагентные системы
- •Разработки, использующие мультиагентный подход для прогнозирования экономических показателей
- •Модель «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» при преобладании новостных трейдеров
Технико-экономическое обоснование
Этот раздел посвящён расчёту экономического эффекта от внедрения разработанного программного комплекса в систему поддержки принятия решений трейдеров.
Явные расходы
Вознаграждение ведущему программисту: 75 тыс. рублей с февраля по май 2008 года. Итого: 300 тыс. рублей.
Неявные расходы
Время, которое отнималось у других сотрудников: примерно 2 часа в неделю у менеджера проекта и 1 час в неделю у экспертов. Эти трудозатраты могут быть оценены примерно в 5 тыс. рублей в неделю. За четыре месяца получается сумма в 80 тыс. рублей.
Затраты на содержание и обновление программного комплекса
Администрирование приложения осуществляют сами пользователи. Все ошибки программного комплекса исправляются разработчиком без взимания платы. Расширение функционала осуществляется на договорной основе со средним тарифом 20 тыс. рублей в неделю. С июня по август такие работы проводились 2 раза, их стоимость была оценена в 20 и 40 тыс. рублей соответственно. Соответственно, в среднем сопровождение и улучшение программного комплекса обходится предприятию в 20 тыс. рублей каждый месяц, а общая стоимость этих работ составила 60 тыс. рублей.
Заработная плата персонала
Заработная плата трейдеров может очень отличаться. Она состоит из фиксированной части в размере примерно 100 тыс. рублей в месяц и бонуса, который составляет примерно столько же в зависимости от результатов деятельности трейдера. В результате внедрения программного комплекса удалось существенно разгрузить трёх из семи трейдеров. Они были переведены на другие участки, которые ещё не были автоматизированы. Таким образом, за счёт этого каждый месяц будет экономиться примерно 600 тыс. рублей.
Расчёт экономической эффективности
За семь месяцев, с февраля по август 2008 года, совокупные затраты, связанные с внедрением программного комплекса, составили 440 тыс. рублей. Уже за первый месяц работы (август) они окупились, что является отличным результатом. Обычно период окупаемости проектов составляет от трёх месяцев до нескольких лет.
Прибыль (сэкономленные средства) от внедрения программного комплекса с июня по август составила примерно 1,8 млн. рублей, что является высоким показателем за такой малый период.
Проект, как и ожидалось, оправдал себя с экономической точки зрения.
Преимущества и недостатки программного комплекса, выявленные в процессе эксплуатации
Программный комплекс позволил решить многие задачи, которые ранее были не по силам аналогичным системам. В процессе эксплуатации он продемонстрировал как преимущества, так и недостатки, которые затрудняли работу с ним.
Преимущества:
Изначально заложенные в архитектуру принципы гибкости и расширяемости позволили создать систему, которая в процессе разработки легко поддавалась масштабированию.
Применение модульного подхода и многоуровневой архитектурной концепции позволило существенно упростить разработку и отладку программного кода.
Использование системы скриптования упростило процесс создания сценариев для конечных пользователей. Теперь им не надо прибегать к модификациям исходного кода для внесения элементарных изменений в сценарии.
Пользователям стало легче анализировать статистическую информацию, поступающую из виртуального мира. С помощью большого количества встроенных классов и функций, а также гибкой системы построения графиков пользователь может визуализировать любые временные ряды, существующие в виртуальном мире.
В систему легко добавлять как новые типы экономических субъектов и стратегии принятия решений: в программном комплексе алгоритмы принятия решений отделены от самих участников рынка.
Недостатки:
Так как в программном комплексе большое количество параметров и переменных, его достаточно сложно настраивать и балансировать.
Большое количество классов и внутренних взаимосвязей делает систему сложной для понимания для разработчиков, не знакомых с ней.
При использовании программного комплекса «FIMAS» в рамках системы поддержки принятия решений трейдеров возникли дополнительные трудности:
Большой объём данных
Необходимо загрузить в систему большой объём данных о компаниях, брокерах, информацию по старым новостям и т.п. Процесс создания моста между имеющейся корпоративной базой данных и приложением занял больше месяца.
Аппаратные ограничения
Одна из первых версий программного комплекса на 35 секунд «съедала» 700 Мб оперативной памяти. Эту проблему удалось частично решить путём уменьшения точности хранения статистики. Сейчас 700Мб оперативной памяти хватит примерно на 4 года виртуального времени. Чтобы полностью решить эту проблему нужно либо увеличивать доступный объём оперативной памяти, либо кэшировать не используемые статистические данные. Также, на тестовой платформе с процессором «AMD 64 3000+» система с 500 трейдерами работает со скоростью примерно 1.5 виртуальный час/сек. Это значит, что нужно примерно 8 минут реального времени, чтобы просчитать 1 месяц виртуального. На реальных рынках трейдеров в сотни и тысячи раз больше.
Решить данную проблему можно, оптимизировав систему для работы на мультипроцессорных системах и используя более мощные рабочие станции. С другой стороны, эксперименты показали, что для прогнозирования вполне достаточно соблюдения определённых пропорций агентов, а их общее количество может быть в сотни раз меньше реального. Также не сказалось на результатах и уменьшение точности расчётов. По умолчанию период обновления виртуального мира – каждые три секунды. Увеличение его до одной минуты позволило увеличить скорость работы системы в 20 раз. То есть вместо 8 минут на просчёт одного виртуального месяца понадобилось примерно 30 секунд.
Интерпретация новостей
С одной стороны, все агенты могут по-разному интерпретировать одну и ту же новость и, соответственно, принимать различные решения. Новости могут генерироваться как предприятиями в процессе своей экономической деятельности, так и быть внешними по отношению к участникам. Агенты в общем случае не знают, как и в какой степени новости будут влиять на деятельности компании, но могут строить свои предположения на этот счёт. С другой стороны, нужно как-то вводить реальные новости на виртуальный рынок. Таким образом, новость становится объективным фактором для виртуального мира, оставаясь субъективным в реальном. Проблема частично решается внедрением автоматизированной системы оценки внешних новостей с участием экспертов. Внутренние новости при таком подходе не используются.
Инициализации виртуального мира
Чтобы система была максимально адекватной реальному миру, нужно, чтобы она её внутреннее состояние максимально точно отражало реальный мир. Но реальные биржи и фирмы не появились мгновенно, они развивались и совершенствовались на протяжении десятков и сотен лет. Программный комплекс же позволяет мгновенно создавать и уничтожать агентов, причём для тестовых сценариев все игроки создаются в самом начале, а результаты работы системы анализируются уже после 1-5 месяцев работы. Так как нет истории изменения котировок, принятия решений, отчётности, то первые несколько дней, недель и даже месяцев система могла показывать неадекватные результаты, пока наконец-то не достигала равновесия.
В рамках системы поддержки принятия решений эта проблема решалась путём создания этих данных заранее, перед запуском виртуального времени. Отчётность компаний и новости легко добавить в нужное место. А вот с историей изменения объёма торгов и котировок акций, которые хранятся в виде списка транзакций, пришлось прибегнуть к ухищрениям. Для этого создавались временные трейдеры, которые посылали ордеры на заранее известные суммы, чтобы рынок мог осуществить необходимые транзакции.