
- •Разработка моделей, алгоритмов и программных средств для повышения качества прогнозов биржевых показателей
- •Анализ существующих средств прогнозирования экономических показателей бирж
- •Модели и алгоритмы оценки стоимости ценных бумаг и управления инвестиционными активами
- •Роль рынка ценных бумаг в финансовой системе страны
- •Фундаментальный анализ
- •Показатели, используемые для фундаментального анализа акций
- •Технический анализ
- •Теории функционирования рынка ценных бумаг
- •Теория эффективного рынка
- •Теория случайных блужданий
- •Теория хаоса
- •Теория адаптивного рынка
- •Методы и модели для прогнозирования экономических показателей
- •Математическо-статистические методы
- •Поведенческие модели
- •Мультиагентные системы
- •Разработки, использующие мультиагентный подход для прогнозирования экономических показателей
- •Модель «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» при преобладании новостных трейдеров
Поведенческие модели
Реальный инвестор может иметь намерения быть рациональным и может пытаться оптимизировать свои действия, но этому стремлению к рациональности будут мешать когнитивные пристрастия, эмоциональные особенности и социальные воздействия. Даже Кейнс в своё время утверждал, что, что большую часть инвестиционных решений "можно считать ни чем иным, как проявлением животных инстинктов – спонтанного желания действовать, чтобы не оставаться пассивным, а не результатом взвешенного среднего из возможных преимуществ, умноженного на число потенциальных вариантов". Люди ведут себя не так, как хотелось бы рациональной экономике.
Одним из наиболее мощных открытий в психологии суждений является вывод о чрезмерной самоуверенности людей. Что касается стадности, то значительным проявлением в этом контексте является переоценка людьми надежности их знаний и возможностей. Превосходным примером служит результат опроса, показавший, что 90% водителей автомобилей в Швеции считают свой уровень вождения "выше среднего", хотя по самому определению (симметричного распределения) 50% должны быть ниже среднего, а 50% – выше среднего!
Растет количество эмпирических данных, подтверждающих существование на спекулятивных рынках стадного поведения или эффекта "толпы". Как утверждается, стадное поведение часто проявляется, когда большое количество людей совершает одинаковые действия, поскольку одни подражают действиям других. Например, было установлено, что проявление стадности в публикуемых рекомендациях по инвестированию уменьшается по мере увеличения надежности собственной информации. Чем меньше у вас информации, тем сильнее побуждения следовать общей тенденции.
Люди редко поступают наилучшим образом, когда они используют рациональное рассуждение. Хоть в технологическом плане люди продвинулись достаточно далеко, на физиологическом уровне у нас такой же мозг, какой был у наших предков, живших в пещерах. Однако он до сих пор лучше компьютера справляется с задачами распознавания речи, образов и решения других задач с нечёткими начальными условиями. Люди привыкли полагаться на свою несовершенность и нерациональность, в том числе и при торговли на рынке ценных бумаг.
Однако, наша «человечность» имеет и множество недостатков. Эксперименты показывают, что счастливый случай (событие) может вести к самонадеянности. В экспериментах некоторые субъекты переживали счастливый случай, в отличие от других испытуемых. Затем все субъекты решали несвязанную с предыдущим задачу, оценивающую их уверенность, и делали ставки. После удачного случая, те, кто верил в удачу, (то есть, думал об удаче, как об устойчивом, личном признаке), были более уверены и делали большую ставку. Субъекты, которые не верили в удачу, (то есть, думали, что удача была случайна), были менее уверены и ставили меньше.
Таким образом, мы видим, насколько много факторов могут влиять на решения конкретного индивидуума и насколько сильны нерациональные мотивы поведения трейдеров.
Мультиагентные системы
Поведенческие модели позволяют примерно предсказать, что будет, если все трейдеры поступят одним и тем же образом. При применении математических методов получаются модели, в которых могут взаимодействовать несколько групп трейдеров, каждая из которых обладает определённым поведением. Такие модели позволяют получать реалистичную по внешнему виду динамику котировок акций. На графиках изменения цен можно выделить те же фигуры и закономерности, столь характерные для реальных рынков [69]. Однако некоторые экономические и статистические показатели, например распределение цены акций и показатель Хёрста, всегда «выдавали» эти системы. По ним заметно, что получающиеся показатели являются искусственными и не могут характеризовать реальный рынок. Ещё одна проблема при применении подобных моделей на практике заключается в недостаточной гибкости. Например, число различных типов агентов обычно не больше трёх, а все параметры (например, начальный капитал, предпочтения и т.п.) одни и те же для всех трейдеров и задаются на начальном этапе.
Подобные системы не допускают внешних влияний, то есть невозможно учитывать события, которые могли бы происходить в течение работы системы и оказывать на неё значительное влияние. Все параметры задавались один раз, система запускалась, после чего можно было только наблюдать за ней и анализировать статистику. Сам рынок должен был быть в курсе всех возможных участников. Чтобы добавить нового участника (например, нового типа трейдера), нужно менять структуру рынка. Всё это, в итоге, отрицательно сказывается на результатах подобных моделей.
От многих вышеперечисленных недостатков классических методов моделирования можно избавиться, применяя при проектировании системы мультиагентный подход. Также как и в поведенческих моделях, он позволяет учитывать психологические особенности принятия решений трейдерами. В то же время он позволяет индивидуально задавать параметры для каждого отдельного трейдера и никак не ограничивает общее количество различных участников рынка. Поведенческие модели, как и математические, описывают мир через формулы, которые применяются к группам агентов. Мультиагентные системы описывают мир через алгоритмы и стратегии принятия решений, которые применяются каждым агентом индивидуально. Это можно сравнить с созданием виртуального мира, в котором каждый участник руководствуется собственными правилами поведения, имеет собственные стратегии, цели и планы, а результат в итоге может получиться одновременно красивый и непредсказуемый.
Суть мультиагентных технологий заключается в принципиально новом методе решения задач. В отличие от классического способа, когда проводится поиск некоторого чётко определенного (детерминированного) алгоритма, позволяющего найти наилучшее решение проблемы, в мультиагентных технологиях решение получается автоматически в результате взаимодействия множества самостоятельных целенаправленных программных модулей — так называемых агентов.
Агент — нечто, способное воспринимать свое окружение через сенсоры и изменять его своими действиями [15]. Современный подход к искусственному интеллекту основан на понятии рационального агента, который всегда старается оптимизировать соответствующую меру полезности своих действий. Однако, как я уже отмечал ранее, в реальном мире люди часто ведут себя нерационально, а главная задача программных агентов – именно симуляция реальных субъектов.
Агенты редко являются одиночными системами. Чаще они взаимодействуют друг с другом. Системы, содержащие группу агентов, которые могут взаимодействовать между собой и называются мультиагентными системами.
Предположим, что на каждом временном шаге t = 1, 2,…, ∞ агент может из конечного набора возможных действий A выбрать какое-то действие at. Чтобы действовать рационально, агент должен оценивать и прошлое, и будущее при выборе дальнейших действий. Под прошлым подразумевается то, что агент воспринял и какие действия предпринял до момента времени t, а под будущим – что он ожидает и что собирается потом делать. Обозначим oτ наблюдение агента в момент времени τ, тогда для выбора оптимального действия в момент времени t в общем случае необходимо использовать всю историю наблюдений oτ и историю действий aτ, предшествующую моменту времени t.
Функция π(o1, a1, o2, a2,…, ot) = at, которая отображает набор пар «наблюдение–действие» до момента времени t в оптимальное действие at называется стратегией агента. Агент, который отображает текущее восприятие ot в новое действие at, называется рефлексивным, а его стратегию называют реактивной или стратегией без памяти. Но наиболее часто в реальном мире встречаются стратегии с памятью.
Агенты живут не обособленно, они постоянно взаимодействуют между собой напрямую или косвенным образом. Точно так же как мы являемся частью общества и одновременно очень зависим от него. Важное свойство, характеризующее мир с точки зрения агента, связано с восприятием. Мир полностью наблюдаем, если текущее восприятие агента ot полностью описывает состояние мира st. В противоположность этому, в частично наблюдаемом мире текущее восприятие ot описывает лишь часть информации о состоянии мира.
Коллективная информация, которая содержится в окружающем мире в момент времени t и которая важна для исполняемой задачи, называется состоянием мира и обозначается st. Множество состояний мира обозначим через S. В зависимости от природы задачи, мир может быть дискретным или непрерывным. Дискретный мир характеризуется конечным числом состояний. Примером может служить игра в шахматы. С другой стороны примером непрерывного мира может служить самолёт, который может по определённым правилам передвигаться в трёхмерной системе координат.
В каждый момент времени t агент выбирает действие at из конечного множества действий A. После выбора агентом действия мир меняется как его следствие. Модель перехода (иногда называют моделью мира) определят, как меняется мир после совершения действия. Для классического искусственного интеллекта целью отдельной задачи является желаемое состояние мира. Таким образом, планирование определяется как поиск оптимальной стратегии. Когда мир детерминистический, планирование переходит в поиск по графу для каждого варианта существующего метода. В стохастическом же мире может не перейти в простой поиск по графу, так как переход из состояния в состояние не является детерминистическим.
Мультиагентное принятие решения является предметом теории игр. Теория пытается предугадать поведение взаимодействующих агентов в состоянии неопределенности и основывается на нескольких простых предположениях. Стратегическая игра является простейшей моделью взаимодействия агентов в теории игр и характеризуется следующими свойствами:
Агентов не меньше одного (n > 1).
Каждый агент i выбирает действие ai, называемое стратегией, из собственного множества действий Ai. Вектор (a1, …, an), т.е. действие, называется совместным действием и обозначается (ai).
Игра происходит в фиксированном состоянии s. Состояние может быть определено как содержащее n агентов, их множества действий Ai и их выигрыши.
Каждый агент i имеет собственное значение функции действия Q*i(s, a), которая вычисляет полезность совместного действия для агента i. Каждый агент может отдавать разные предпочтения разным совместным действиям. Предполагаем, что функция выигрыша заранее определена и фиксирована.
Состояние полностью обозреваемо для агентов. То есть, они знают друг о друге, множества действий друг друга и выигрыши друг друга. Все это в игре и есть общее знание агентов.
Каждый агент выбирает единственное действие. Более того, агенты выбирают свои действия одновременно и независимо. Ни один агент не знает о принятии решения другого агента до тех пор, пока решение не будет принято.
В итоге в стратегических играх каждый агент выбирает одно действие и получает результат в зависимости от выбора общего действия. Это совместное действие называется исходом игры. Хотя функция выигрыша агента является общим знанием, агент не знает заранее о выборе действия другим агентом. Самое лучшее, что он может — попытаться угадать действие другого агента. Игра может повторяться несколько «ходов», улучшая положение одних агентов и ухудшая положение других. Часто такие игры в результате взаимодействия агентов могут «зацикливаться», ограничиваясь всего несколькими последовательно сменяющими друг друга состояниями.
Эффект эмерджентного интеллекта
Людям присущ интеллект — то, что отличает нас от компьютера, действующего строго по заложенной в него программе. Это то, что позволяет нам ориентироваться в сложной обстановке, иметь дело с нечетко поставленными задачами, адаптироваться к меняющимся условиям. А есть ли интеллект, скажем, у косяка птиц или колонии муравьев? С одной стороны, каждый отдельно взятый муравей, очевидно, им не обладает. С другой — колония в целом проявляет удивительные образцы поведения, которое во многом может считаться интеллектуальным. Такие ситуации называются проявлением эмерджентного интеллекта, или неожиданных свойств, которыми обладает система, но не обладает ни один входящий в нее отдельный элемент [29].
Ключевая особенность эмерджентного интеллекта — динамика и непредсказуемость процесса принятия решений. На практике это означает, что решение достигается за счет сотен и тысяч взаимодействий, которые почти невозможно отследить. Но это и не требуется, поскольку агентам дают цели, которые они должны достигать, но не предопределяют сценарии исполнения задач по достижению этих целей. Эти сценарии формируются и исполняются агентами самостоятельно. На каждом шаге агенты рассматривают входы системы и реагируют на непредсказуемые события (задержки, сбои, изменения). Реакция может быть самостоятельной, или осуществляться во взаимодействии с оператором.
Рис. 1.4. Проект моделирования экосистем «AI Planet»
Например, на рисунке Рис. 1.4 изображён проект, позволяющий моделировать экосистемы [66]. Автор данной диссертации принимал участие в разработке графического движка для него. Приложение «AI Planet» позволяет создать виртуальную планету, населить её различными животными, грибами и растениями. Обитатели ведут обычный для живых существ образ жизни: растут, развиваются, питаются, размножаются и умирают. Также можно моделировать различные стихийные бедствия: наводнения, извержения вулканов, падения метеоритов, глобальное похолодание или потепление. Каждое существо обладает очень ограниченным интеллектом, но в результате взаимодействия всех агентов получается такая красивая и реалистичная картина.
Таким образом, эмерджентный интеллект — это не есть какой-либо один новый и специально сконструированный уникальный «блок», добавленный к системе. Напротив, это результат самоорганизации, который возникает за счет множества скрытых или явных условий, сложившихся в ситуации спонтанно и в заранее не предвиденный момент времени. Этот процесс также часто называют «возникновением порядка из хаоса», и он является, по моему мнению, самым важным свойством мультиагентных систем.