ББК 65.262.2+ 65.Q5Q
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ФОНДОВЫХ РЫНКОВ
© 2012 А. А. Стеряков
Самарский государственный аэрокосмический университет имени академика С. П. Королёва (национальный исследовательский университет)
В рамках подхода микроскопической симуляции разработана математическая модель биржи одного типа акций. В модели реализуется самоподдерживаемый процесс взаимной торговли между агентами с установлением цены, зависящей только от внутренних параметров биржи. Модель даёт адекватно отвечающие реальным временные ряды цен, статистические характеристики которых хорошо согласуются с характеристиками реальных рынков. Реализована программа «Симулятор биржи», представляющая собой компьютерную реализацию разработанной модели агентного типа.
Фондовый рынок, агентное моделирование, имитационное моделирование, механическая система торговли, микроскопическая симуляция, статистические характеристики, ценные бумаги.
Введение
Микроскопическая симуляция, или агентное моделирование, - относительно новое направление в имитационном моделировании, использующееся для исследования децентрализованных систем, динамика функционирования которых определяется не глобальными правилами и законами, а, наоборот, когда глобальные правила и законы являются результатом индивидуальной активности членов группы. Такой подход является альтернативой рассмотрению системы как множества одинаковых типичных объектов. В настоящее время микроскопическая симуляция применяется во многих отраслях науки (экология, социология и т.п.) с целью изучить макроскопическое поведение сложной системы, состоящей из множества относительно простых взаимодействующих элементов. Обычно при таком подходе микроскопические элементы и их свойства моделируются с помощью компьютера. Компьютерная симуляция позволяет изучать макроскопические системы, состоящие из большого числа неоднородных элементов, что невозможно сделать в рамках аналитических методов.
В связи с этим становится вполне обоснованным использовать именно микроскопическую симуляцию для изучения закономерностей функционирования финансовых рынков. В рамках этого подхо-
да предлагается рассматривать финансовый рынок как макроскопическую систему, состоящую из большого числа неоднородных взаимодействующих между собой агентов [1, 2].
В предлагаемой работе в рамках микроскопической симуляции разработана математическая модель биржи одного типа акций, а также реализована соответствующая компьютерная программа, позволяющая проводить численные эксперименты на базе предложенной модели агентного типа.
Г оворя об актуальности работы, следует отметить, что основные концепции, использованные при построении модели, такие как максимизация функции полезности для задания поведения агента в системе, а также применяемые типы прогнозов (экспоненциально взвешенное среднее) и другое являются широко признанными в области эконофизики [3-5]. Модель, представленная в работе, относится к классу агентных моделей (agent-based model), с успехом применяемых в экономической и финансовой сферах. Одной из наиболее известных моделей, близких по типу к данной, является модель LLS [1, 2], в которой аналогичным образом описываются финансовые агенты и портфель, а также применяется максимизация функции полезности для определения действий агентов.
Модели агента и взаимодействия агентов в системе
Для выполнения микроскопической симуляции необходимо описать все элементы системы и задать способ их взаимодействия. Предлагаемая имитационная модель представляет собой совокупность биржевых агентов, действующих автономно, имеющих различные параметры и взаимодействующих только посредством биржи, а именно с помощью одного из финансовых инструментов - биржевого стека.
Предполагается, что каждый агент обладает портфелем, состоящим из безрискового актива (денежный банковский счёт, характеризующийся постоянным банковским процентом) и рискового актива (акции, приносящие, в общем случае, различные дивиденды). Также агент использует функцию полезности, зависящую от общей стоимости его портфеля. В таком случае поведение каждого агента во времени будет основано на периодическом изменении состава личного портфеля, состоящего из двух активов, таким образом, чтобы ожидаемый в будущем прогноз стоимости этого портфеля (основанный на прогнозе цены и волатильности рискового актива) максимизировал функцию полезности агента [3, 4, 5]. Тогда решение агента на каждой итерации можно представить в виде желаемой доли стоимости акций в портфеле, которую в случае показательной функции полезности можно представить в виде
= ^ а+1)+а/р(1) - г, 0)
' +1)
где Р(^) - цена одной акции в момент времени I, а - дивиденды, выплачиваемые за одну акцию в единицу времени, г
- безрисковая процентная ставка в единицу времени, ^ (I) - стоимость портфеля агента в момент времени I, /3 - коэффициент, характеризующий функцию полезности. Чтобы принять решение, агенту также необходимо спрогнозировать мате-
матическое ожидание /і, (t +1) и дисперсию Si2(t +1) относительного изменения цены.
Прогноз может выполняться различными способами. Например, для так называемого технического аналитика он определяется экспоненциально взвешенным средним предыдущих значений прогнозируемых величин. В случае, если агент использует значения только на одном предыдущем шаге:
т,((+1)=Лт,(0+(1 - і,)р((). (2) s, (t+1)2=XSi(>)2 + (1 -1 )(p(t) - m,(t ))2. (3)
где p (t) - относительное изменение цены, а l є (0;1) - параметр, определяющий степень влияния последнего изменения цены на прогноз.
Всё взаимодействие агентов происходит посредством инструментов биржи, а именно биржевого стека, и в результате удовлетворения их потребностей в продаже или покупке акций. Формально процесс взаимодействия можно разбить на четыре этапа.
На первом этапе происходит формирование заявок. По решению агента на каждом шаге строится выставляемая им заявка, состоящая из трёх элементов: количества акций, цены сделки и её направления (покупка или продажа). Следующий этап - заполнение биржевого стека. В течение торгов, в каждый момент времени, в базе данных биржи находится очередь неисполненных заявок на продажу (offers) и на покупку (bids). Эта сторона фондового рынка наиболее полно отражена в предлагаемой модели. Подобно реальному, смоделированный биржевой стек собирает все заявки, сформированные на первом этапе, разделяет их по направлению на две группы и сортирует каждую в необходимом порядке. На третьем этапе выполняется переформирование стека. В ходе торгов продавец может снижать свою цену, а покупатель — повышать. Иными словами, разница меж-
ду ценами торгующих сторон (спрэд) сужается. И когда продавец и покупатель сходятся в своих мнениях о цене, совершается сделка. Для отражения таких отношений в модели предлагается переформировывать полученный после второго этапа взаимодействия стек заявок. Такое действие будет отвечать процессу взаимных уступок между агентами. На последнем этапе происходит удовлетворение заявок. После этапа переформирования в биржевом стеке наличествует некоторое количество перекрывающихся по цене заявок со стороны покупателей и продавцов. Для того, чтобы приблизить модель к реальности, условно торг начинается между самой лучшей заявкой на продажу (самой дешёвой по цене для покупателей) и самой лучшей заявкой на покупку (самой дорогой по цене для продавцов). Сделка происходит по цене продавца, если цена лучшего покупателя выше и объём его заявки больше. Он частично удовлетворяет свою заявку по цене лучшего продавца и переходит к следующей заявке в стеке продавцов. При удовлетворении (полном или частичном) заявки происходит соответствующее изменение количества акций и денежного актива у «хозяина» заявки. Поочередное удовлетворение заявок из двух стеков продавцов и покупателей происходит до тех пор, пока лучшая цена покупателей (т.е. самая высокая) остаётся больше лучшей цены продавцов (т.е. самой низкой). Цена последней зафиксированной сделки заносится во временной ряд биржи. Оставшиеся неудовлетворёнными заявки снимаются, и на следующей итерации все этапы повторяются заново.
Математическая формализация
В основном все модели агентного типа относятся к классу трудноформали-зуемых. Однако в случае предлагаемой системы удалось хотя и частично, но строго формализовать моделируемый процесс. Ниже кратко излагается получение системы рекуррентных соотношений,
следуя которым можно получить временной ряд цен в исследуемой модели биржи.
Итак, вначале і -й агент делает прогноз будущих значений математического ожидания и дисперсии относительного изменения цены (2)-(3). Используя эти значения, для каждого агента вычисляется наиболее выгодная доля акций в портфеле (1) и соответствующее ему количество акций:
т (і +1) +
4 (і+1) =
рД (і) ^ Р(і)
р(і) РрШ2(і+1)
Тогда агент выставляет заявку на покупку или продажу акций в количестве
дг (і+1) _ 4 (і+1) - 4 (і )
по цене
Гр (і)(1 - рХ), дг > о р(і +1) _і ДА г , л [р (і )(1+рХ), д < о’
где Х ~ и[0,1], а р - текущая рыночная цена.
После этого необходимо определить лучшие предложения: максимальную цену покупки ( Рш ) и минимальную цену продажи ( рахк ) как:
Ръы _ тах{р І Д > 0} ра± _ тіп{р 1 Д< о}.
Процесс переформирования (отвечающий ситуации взаимных уступок на рынке) может быть представлен как:
Рі*(1 +1) _■
- (Ра8к - Pi(t + 1))л/1-Х, Ді > 0 РК(1 + (Pi(t + 1) - Ри)^, Ді < 0 '
Далее необходимо описать процесс совершения сделок в стеке. Для этого выделяются множества агентов, заявки которых перекрываются в стеке (а) - множество индексов, соответствующих покупателям, (в) - множество индексов, соответствующих продавцам.
Тогда, если
Р*ыа _ тах{р* | Дг. > о},
P'ask = min{f I A, < 0},
то
{а }={[/}:р'(( +1) > Р*-|Л(> 0},
{3 }={{(}р*(' +1) < Р*...|Л(< о}.
Мощность множеств обозначим как: {а } = N и {3 } = Nз.
Кроме того упорядочим эти множества следующим образом:
для "n, k = 1,
, Na
т~\* т-х*
ak < an <=> PXk > Pxn ,
а для "n,k = 1,* ,N, bk < bn <=> P* > P*.
Процесс торгов будет осуществляться пошагово, обходя следующее дерево условий:
1) при условии р > Р^ вычисляется е = Ла - Л 3
1.1)
bl | ’
если Є1 > 0
Aft(t +1) = Aft(t)— Aд| и при условии
Pa1 > Pb2 вычисляется е2 = - |Ар\ ,
1.1.1) если е2 > 0 ,
Ab2 (t + 1) = Ab2 (t) —
и при условии
Px > Pb вычисляется Є3
X1 Н3 3
1.1.2) если Є 2 = О
Ax1 (t + 1) = Aa1 (t) + Ab2 (t +1) = Ab2 (t) -
b2
и при условии
Pa > Pp вычисляется e3 = Aa —
a2 Рз 3 I a2 I
1.1.3) если e2 < 0 ,
Aal(t + 1) = Aal(t) +
Ax
и при условии
Px2 > Pb2 вычисляется Є3 = Ax2 - |Є2
1.2) если Є1 = 0 ,
Ax1(t + 1) = Ax1(t) + Aa Ab1 (t +1) = Ab1 (t) - A b
и при условии
Pa2 > Pp2 вычисляется e2 = |AaJ — (Ap21,
1.3) если e! < 0 , Aal (t + 1) = Ащ (t) + |Aa, |
и при условии Pa > Ppi вычисляется
Є2
Ax
- Є1
При невыполнении условия на цены процесс останавливается и цена последней сделки Р^ заносится в ряд цен, т.е.
Р^ +1) = Рзк .
Компьютерное представление
В рамках работы спроектирована и реализована программа «Симулятор биржи», представляющая собой компьютерную реализацию разработанной модели агентного типа. Программа выполнена в концепции объектно-ориентированного
программирования на языке Java SE v1.6 в свободной интегрированной среде разработки приложений NetBeans IDE. Примерный вид интерфейса приложения (все доступные окна) представлен на рис. 1.
Таким образом, выполнена не только задача моделирования биржи одного типа акций с помощью микроскопической симуляции, но и реализован инструмент изучения данной модели, позволяющий кроме полного исследования системы при различной вариации параметров и внешних возмущений (имеется в виду реализованная возможность введения пользовательского агента в систему) легко вносить и значительные коррективы в модель на различных уровнях и этапах её компьютерного представления, тем самым улучшая те или иные её качества.
a
Рис. 1. Общий вид приложения в ОС Vista
Численные исследования
Для проведения численных исследований выбрана более конкретная модификация системы, а именно: наличие на рынке одного типа агентов (технических аналитиков), одинаковый для всех агентов интервал начального распределения денежных средств и акций, нулевые дивиденды и процентная банковская ставка.
С помощью реализованной программы, визуализирующей процесс торговли в рассматриваемой модели, а также позволяющей проводить её исследования, изменяя большинство параметров и отслеживая статистические данные, получены различные режимы работы системы. Удалось установить некоторые закономерности в процессе ценообразования, а также выявить характер зависимости ре-
жимов торговли от различных параметров. Найдены режимы, в которых модель генерирует временные ряды со статистическими характеристиками, близкими к характеристикам реальных временных рядов фондовых рынков. Была проведена численная оптимизация стратегии торговли пользовательского агента на моделируемой бирже.
По результатам исследования работы системы ясно, что замкнутая система (т.е. без дивидендов, без притока извне денежных средств) имеет свою равновесную цену, вокруг которой совершаются хаотические колебания. Иллюстративные графики выхода системы на режим колебаний вокруг стационарного положения приведены на рис. 2.
Рис. 2. Выход системы на равновесный режим
Интересные результаты дало исследование модели на статистические характеристики: при анализе автокорреляционной функции было выяснено, что она в значительной мере зависит от коэффициента отклонения цены в заявке, который характеризует разброс цен, по которым хотят торговать агенты в модели. При малых значениях параметра (около 0,01 и вплоть до о,1-о,2), что соответствует малому шуму в ценообразовании, наблюдается довольно заметная автокорреляция
вплоть до лага в 100 шагов (временных единиц системы). С увеличением параметра (около 0,3-0,4) автокорреляция уменьшается, а главное становится отрицательной при малых лагах. Дальнейшее увеличение (начиная с 0,7-0,8) приводит к исчезновению автокорреляции даже при малых лагах. Графические результаты автокорреляционной функции при типичных значениях параметра приведены на рис. 3.
0,15
0,10
0,05
0,00
-0,05
Автокорреляция
Лаг
одоо
0,075
0,050
0,025
0,000
-0,025
-0,050
-0,075
-0,100
Автокорреляция
Г
Лаг
0,30 0,25 0,20 0,15 0 ДО 0,05 0,00 -0,05 -0Д0 -0,15 -0,20 -0,25
Автокорреляция
-.їУ^г -■
Лаг
а б в
Рис. 3. Зависимость автокорреляции от коэффициента отклонения цены в заявке:
а - V = 0.025 ; б - V = 0.35; в - V = 1.0
Таким образом, случай с отрицательной автокорреляцией на малых лагах и быстрым её затуханием хорошо согласуется с характеристиками реальных рынков. Модель при таком выборе коэффициента отклонения цены в заявке даёт адекватно отвечающие реальным временные ряды цен.
В режиме пользовательской торговли можно управлять специальным агентом, самостоятельно формируя заявку и выставляя её на рынке. Чтобы понять, какая стратегия торговли на данной модели
биржи ведёт к увеличению состояния, а какая к банкротству, была рассмотрена простая ситуация автоматических торгов, когда агент, наделённый начальным денежным капиталом (т.е. без акций) покупает фиксированный объём акций, а потом их все продаёт за некоторый интервал времени. Таким образом, задача выбора оптимальной стратегии такого типа сводится к математической задаче оптимизации, в которой необходимо найти оптимальное т - отношение времени продажи ко времени покупки, при котором £ (т) -прибыль агента, - максимальна.
Чтобы провести оптимизацию, были выбраны различные интервалы активности и разбиты на участки покупки и продажи. Их отношение при фиксированной сумме варьировалось - было взято 20 разных отношений. На каждую вариацию было отведено по 30 запусков модели, по которым позже усреднялась прибыль агента £(т) . Кроме того, были рассмот-
Как видно из результатов, автоматическая торговля с элементарной стратегией не даёт существенного прироста состояния, но в принципе может быть прибыльной при долговременной скупке акций и последующей быстрой их реализации.
Основные результаты и выводы
Центральным результатом работы является получение при моделировании предложенного типа полностью самопод-держиваемого (т.е. происходящего в закрытой системе) процесса взаимной торговли между агентами с установлением цены, зависящей только от внутренних параметров модели. Кроме того, система должным образом реагирует на внешние воздействия и ее реакция в достаточной степени адекватна реальным аналогам. Математически строго формализованы модели поведения агентов и основные этапы их взаимодействия в системе.
На базе предложенной модели спроектирована и реализована программа
рены случаи наличия и отсутствия дивидендов и банковской процентной ставки. По данным эксперимента были построены графики зависимости прибыли (в долях в среднем на акцию) от соотношения т . Ниже приведены графики для случая отсутствия (рис. 4а) и наличия (рис. 4б) дивидендов.
«Симулятор биржи», представляющая собой компьютерную реализацию разработанной модели агентного типа. Программный пакет предоставляет набор инструментов для детального изучения модели. Кроме чистого эмулирования работы биржи предусмотрена возможность введения пользовательского агента, что позволяет не только оказывать внешнее влияние на системы, тем самым исследуя ее реакцию, но и использовать программу в качестве простейшего биржевого тренажера. Важно и то, что объектный подход, использованный при проектировании, допускает изменение отдельных этапов или объектов математического моделирования без существенной переделки всего программного пакета.
Принципиальным отличием от более ранних работ в области проведения исследований является реализация полной автономности каждого из агентов в системе. Это удалось достичь, применяя объектно-ориентированное программирование, которое позволило представить каждый элемент системы отдельным объ-
а б
Рис. 4. Зависимость прибыли агента от соотношения интервалов покупки и продажи
ектом в программе с индивидуальным набором свойств и параметров, определяющих поведение. Кроме того, в отличие от известных работ, включая [1, 2], реализована модель биржевого стека, которая позволяет ввести различные методы торговли, тем самым приближая поведение модели к реальности.
Библиографический список
1. Levy, M. A microscopic model of the stock market: Cycles, booms, and crashes [Text] / M. Levy, H. Levy, S. Solomon // Economics Letters - 1994 - Vol. 45. - P. 103
- 111.
2. Levy, M. Microscopic Simulation of Financial Markets [Text] / M. Levy, H. Levy, S. Solomon. - New York: Academic
Press, 2000. - 300 p. - ISBN 9780124458901
3. Brock, W. Heterogeneous beliefs and routes to chaos in a simple asset pricing model [Text] / W. Brock, C. Hommes. // Journal of Economic Dynamics and Control
- 1998 - Vol. 22. - P. 1235 - 1274.
4. Chiarella, C. A Non-Stationary Asset Pricing Model under Heterogeneous Expectations [Text] / C. Chiarella, X. He. // Computing in Economics and Finance - 2001
- Vol. 39.
5. Anufriev, M. Equilibria, Stability and Asymptotic Dominance in a Speculative Market with Heterogeneous Agents [Text] / M. Anufriev, G. Bottazzi, F. Pancotto. // Journal of Economic Dynamics and Control
- 2006 - Vol. 30. - P. 1787 - 1835.
SIMULATION MODELING OF STOCK MARKETS
© 2012 A. A. Steryakov
Samara State Aerospace University named after academician S. P. Korolyov (National Research University)
In the framework of microscopic simulation a mathematical model of the stock exchange is developed in the case of one type of shares. The model exhibits self-maintained trading which results in the price formation which is sensitive only to the values of internal market parameters. The main statistical properties of the resulting price time series which are similar to the real stock time series are consistent with so-called stylized facts of real market data. The program Exchange simulation which is a computer representation of our model is developed and implemented.
Stock market, agent-based model, computer modeling, microscopic simulation, statistical properties, securities.
Информация об авторе
Стеряков Александр Александрович, аспирант кафедры физики, Самарский государственный аэрокосмический университет имени академика С. П. Королёва (национальный исследовательский университет). E-mail: [email protected]. Область научных интересов: математическое моделирование, эконофизика.
Steryakov Alexander Alexandrovich - post-graduate student of physics department, Samara State Aerospace University named after academician S. P. Korolyov (National Research University). E-mail: [email protected]. Area of research: mathematical modeling, econophysics.