На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

4
Ожидается:
09 Сентября 2024

Стохастическая многоагентная модель биржевой книги заявок на основе эмпирических данных

Stochastic multi-agent model for the order book dynamics
Статья опубликована в выпуске журнала № 3 за 2013 год. [ на стр. 283-288 ]
Аннотация:В данной работе предлагается стохастическая многоагентная модель биржевой книги заявок. Целью построения модели является получение статистических свойств поведения биржевой книги, схожих с реально наблюдаемыми статистиками. Модель включает три основных механизма,реализующих динамику книги заявок: поступление и отмена лимитированных заявок, а также поступление рыночных заявок. В качестве параметров модели использовались статистики, полученные из журнала заявок для фьючерса на индекс РТС. Последовательность событий в модели, поступление или отмена заявок образуют пуассоновский поток. В качестве закона распределения объемов заявок используется степенной закон. Предложенная модель способна воспроизводить высокочастотную динамику микро-структуры поведения книги заявок, а также генерировать реалистичный ценовой ряд.
Abstract:This paper introduces a stochastic multi-agent model to reproduce key empirical properties of the real order book dynamics. The model includes three mechanisms: sending limit orders, cancellation of limit orders and sending market orders. The empirical properties of the order book of RTS futures contract are used as parameters of the model. The sequence of order book events forms a Poisson flow. Order size has power-low distribution. The proposed model is able to reproduce several empirical features of the high-frequency dynamics of the orders in the book and price movements.
Авторы: Глекин А.О. (graed@mail.ru) - Институт системного анализа РАН (аспирант ), г. Москва, Россия
Ключевые слова: биржевые роботы., высокочастотная торговля, многоагентное моделирование, биржевая книга заявок
Keywords: automated trade systems, high-frequency trading, multi-agent modeling, limit order book
Количество просмотров: 8489
Версия для печати
Выпуск в формате PDF (13.63Мб)
Скачать обложку в формате PDF (1.39Мб)

Размер шрифта:       Шрифт:

Возрастающий интерес участников рынка к автоматизированной торговле обусловил необходимость исследования адекватного поведения торговых систем на реальном рынке. Одним из основных методов проверки автоматизированных систем торговли является симуляция торгов на исторических и искусственных данных. Исторические данные служат для проверки прибыльности и оптимизации системы торговли. Симуляция на искусственных данных позволяет оптимизировать торговые системы на предмет исполнения заявок.

Для создания адекватной модели рынка необходимо моделировать поведение биржевой книги заявок с учетом статистических свойств реальной биржевой книги рассматриваемого финансового инструмента. В данной работе используются статистические свойства биржевой книги на самый ликвидный инструмент российского рынка – фьючерс РТС. Строится многоагентная модель, включающая четырех участников торгов. Действия каждого участника имеют случайный характер и не направлены на получение прибыли, то есть у них отсутствует функция полезности. Такие модели принято называть моделями с нулевым интеллектом (zero intelligence) [1].

В представленной модели поведение игроков воспроизводит эмпирические результаты реального рынка, поэтому данная модель не допускает аналитического решения. К примеру, в [2] предложена модель также с четырьмя участниками торгов на основе нелинейного марковского процесса. Предположения о поведении игроков, сделанные в [2], позволяют строго доказать существование процесса и сходимость к равновесию, но модель не полностью воспроизводит поведение книги заявок. Стоит также отметить модель, предложенную в работе [3], которая позволяет оценить вероятность наступления различных событий в зависимости от текущего состояния книги. Однако в этой модели используются единичные размеры заявок.

Биржевой механизм

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

Лимитированные заявки определяются конкретной ценой, хуже которой эта заявка не может быть исполнена, и объемом (или размером), то есть количеством товара или ценных бумаг. Каждая лимитированная заявка размещается в книге заявок на соответствующем ценовом уровне.

В таблице 1 представлена книга заявок.

Таблица 1

Биржевая книга заявок

level

bid

price

ask

level

   

150 015

32

3

   

150 010

23

2

   

150 005

68

1

1

9

150 000

   

2

13

149 995

   

3

20

149 990

   

В первой графе указывается суммарный объем заявок на покупку, во второй – цены заявок, или так называемые уровни цен, в третьей – суммарный объем заявок на продажу. Минимальная цена продажи называется аск-ценой (ask price), максимальная цена покупки – бид-ценой (bid price).

Рыночные заявки – тип заявок, в которых указывается только объем заявки, но не указывается цена. Такие заявки исполняются по лучшей цене, существующей на текущий момент в книге. В результате поступления рыночной заявки происходят сделки. Если, например, в книгу поступила рыночная заявка на покупку объемом 70, то часть заявки объемом 68 исполнится по цене 150 005, а оставшийся объем 2 исполнится уже по цене 150 010. Такое явление называется проскальзыванием, когда цена исполнения хуже, чем лучшая цена на рынке. В результате исполнения такой заявки цена аск поднимется до уровня 150 010.

Лимитированная заявка находится в книге до тех пор, пока не будет исполнена либо отменена. Исполнение лимитированных заявок на каждом ценовом уровне подчиняется правилу FIFO, то есть заявка, которая раньше поступила на ценовой уровень, будет исполнена первой.

Лимитированная заявка имеет три параметра: уровень цены, объем и направление. Направление указывает на куплю или продажу инструмента. Номер уровня цены для заявок на покупку отсчитывается от лучшей цены предложения (ask price) на текущий момент времени, а для заявок на продажу – от лучшей цены спроса (bid price). Рыночная заявка определяется только объемом и направлением. Шаг цены между уровнями для фьючерса РТС на июнь 2011 г. был равен 5.

Ценовой уровень l(p) для заявок на покупку равен  если p если p>pb, где pa – лучшая цена предложения; pb – лучшая цена спроса; p – цена заявки; s – минимальный шаг цены.

Модель

Модель включает четырех участников торгов: поставщиков ликвидности на покупку и на продажу, а также потребителей ликвидности на покупку и на продажу.

Поставщики ликвидности поставляют в книгу только лимитированные заявки и отличаются направленностью этих заявок. Поставщик ликвидности на покупку отправляет заявки на покупку, поставщик ликвидности на продажу отправляет заявки на продажу.

Потребители ликвидности поставляют в книгу рыночные заявки и отличаются направленностью этих заявок, а также могут отменять активные лимитированные заявки. Потребитель ликвидности на покупку отправляет рыночные заявки на продажу и отменяет активные лимитированные заявки на покупку, а потребитель ликвидности на продажу, наоборот, отправляет на покупку и отменяет на продажу соответствующие заявки.

Действия участников торгов будем моделировать пуассоновским процессом, а именно: интервал времени между событиями в книге заявок (соответствует одному шагу симуляции) имеет экспоненциальное распределение p{t³t}=exp(–lt), параметр l будем называть суммарной интенсивностью.

Параметры потребителя и поставщика ликвидности на покупку определяются нижним индексом bid, параметры потребителя и поставщика ликвидности на продажу – нижним индексом ask. Верхний индекс в параметрах модели указывает на тип действия: L – лимитированная заявка, M – рыночная заявка, C – отмена активной лимитированной заявки.

Каждый участник выполняет свои действия с некоторой интенсивностью , где нижний индекс side указывает на направленность участника, а верхний type – на тип действия. Тогда суммарная интенсивность событий в книге l= , где  – интенсивность отправки лимитированных заявок на покупку,  – на продажу;  – интенсивность отправки рыночных заявок на продажу,  – на покупку;  – интенсивность отмены лимитированных заявок на покупку,  – на продажу.

На каждом шаге симуляции выполняется одно из шести возможных действий с вероятностью. Например, вероятность отмены ордера со стороны покупок равна .

Поставщик ликвидности

Поставщики ликвидности отправляют лимитированные заявки объемом v на ценовой уровень l. Объем v принимает значения 1, 2, …, VL (VL=1000) c вероятностью pL(v). Уровень цены l принимает значения 1, 2, …, K (K=1000) с вероятностью qL(l). Функции распределения вероятностей объема и уровня цены заявок не зависят от направленности поставщика ликвидности.

Скорость поступления объема в книгу заявок вычислим как , где SL– средний объем лимитированной заявки, .

Потребитель ликвидности

Данные участники торгов отправляют рыночные заявки со случайным объемом v. Объем v принимает значения 1, 2, …, VM (VM=100) c вероятностью pM(v), которая не зависит от направленности потребителя ликвидности. Отмена активных лимитированных заявок соответствующего направления производится равновероятно, то есть независимо от уровня и объема заявки.

Скорость потребления объема из книги заявок такова: , где SC – средний объем отменяемой заявки; SM – средний объем рыночной заявки, .

Условие равновесия

Подпись:  
Рис. 1. Среднее число поступающих лимитированных заявок в секунду. Логарифмический масштаб
Для стационарности объема лимитированных заявок в книге необходимо, чтобы в среднем скорость потребления объема была равна скорости поступления как со стороны покупок, так и со стороны продаж:   .

Если предположить, что рыночные ордера отсутствуют, то есть  и , то SC=SL, , .

Это означает, что все поступившие лимитированные заявки отменяются с той же интенсивностью, что и поступают. При этом каждая активная лимитированная заявка имеет одинаковую вероятность отмены независимо от ее объема и ценового уровня.

При наличии рыночных ордеров часть активных лимитированных заявок исполняются полностью или частично, поэтому SC¹SL.

Отметим, что при симуляции могут возникать ситуации, когда лимитированные ордера со стороны покупки или продажи полностью отсутствуют. Во избежание подобных ситуаций будем запрещать работу потребителя ликвидности на покупку (на продажу) при достижении некоторого минимума  по количеству лимитированных заявок на покупку (на продажу). Ограничение по числу заявок определяется так, чтобы в любой момент времени в книге присутствовал необходимый объем для исполнения рыночной заявки максимального объема VM. При симуляции использовалось ограничение в 100 заявок.

Ограничение по минимальному количеству ордеров дает возможность избегать ситуаций неограниченного роста суммарного объема в книге путем установки скорости поступления объема Vin чуть меньше скорости потребления Vout. Суммарный объем заявок в книге ведет себя как процесс с отражением и сносом вниз.

Оценка параметров модели

Данные. Модель книги строится на основе эмпирических данных, полученных из истории потока биржевых заявок для фьючерса на индекс РТС за июнь 2011 г. Для анализа книги использовались имеющиеся в свободном доступе данные на сайте биржи РТС (http://ftp.rts.ru/pub/info/historical_da­ta/). Данные содержат всю информацию о поступающих заявках на рынок, а также данные по всем совершенным сделкам.

Ценовой уровень заявки. На рисунке 1 показана эмпирическая зависимость среднего числа поступивших лимитированных заявок N(l) за 1 секунду в зависимости от ценового уровня l. Для l³20 функцию N(l) аппроксимируем степенным законом , где n=N(20)×202.8. Для l<20 положим .

Тогда функцию вероятностей ценового уровня лимитированной заявки можно оценить как

, l=1, …, K.

Объем заявок. Функции вероятностей для объемов лимитированных и рыночных заявок аппроксимируем степенным законом: pM(v)~v–1,7, pL(v)~ ~v–2,06.

Параметры распределений выбираются так, чтобы средние размеры заявок SL и SM соответствовали эмпирическим значениям (таблица 2).

Таблица 2

Значения интенсивностей и объемов заявок в модели и на реальном рынке

Параметр

Модель

РТС

SL

3,92

3,92

SC

4,10

3,86

SM

5,40

5,40

46,5

45,5

46,5

45,2

40,1

41,3

40,1

41,0

3,37

3,43

3,37

3,43

Интенсивности событий. Параметр l выбирается в соответствии с суммарным числом событий за 1 секунду: = =179,97 (событие/сек.).

Подпись:  
Рис. 3. Средние размеры поступающих и отмененных лимитированных заявок для модели и реального рын-ка
Результаты моделирования. Представляет интерес сравнение ряда эмпирических свойств реальной книги и изучаемой модели. В таблице 2 приведены полученные значения интенсивностей и объемов заявок для модели и для фьючерса РТС.

Поступление и отмена заявок. На рисунке 2 отражены интенсивности поступления и отмены лимитированных заявок в зависимости от ценового уровня.

Подпись:  
Рис. 4. Среднее число заявок, стоящих в книге, 
в зависимости от уровня для модели и реального рынка
 
Рис. 5. Средние размеры активных лимитированных заявок в зависимости от уровня цены 
для модели и реального рынка
Подпись:  
Рис. 2. Среднее число поступающих и отмененных 
лимитированных заявок в секунду для модели 
и реального рынка. Логарифмический масштаб
Совпадение интенсивностей поступления означает правильно подобранные параметр l и распределение qL(l).

Cледует обратить внимание на поведение кривой интенсивности отмены ордеров. Начиная с 12-го уровня число поступивших заявок равно числу отмененных заявок. Это справедливо как для модели, так и для реальных данных. Такое поведение свидетельствует в пользу гипотезы равновероятной отмены активных лимитированных заявок. Расхождение кривых интенсивности поступления и отмены заявок с 1-го по 12-й уровни указывает на количество исполняемых заявок. Глубина уровня, с которого начинается расхождение кривых поступления и отмены заявок, может характеризовать моментальную волатильность.

Различие в интенсивностях отмены заявок объясняется принятой в модели независимостью объема лимитированной заявки от ценового уровня. На рисунке 3 видно, что для РТС средний размер поступающей заявки на первом уровне превышает среднее значение SL, что уменьшает число исполняемых заявок на первых уровнях.

Кроме того, на рисунке 3 уже продемонстрировано, что средний размер отмененной заявки на ближайших уровнях превышает среднее значение SL. Это связано с тем, что чаще отменяются заявки с большим размером, поскольку не успевают исполниться полностью.

Средний профиль книги. Профиль книги представляет собой состояние биржевой книги в некоторый момент времени. Средний профиль (рис. 4) рассчитывался как усредненное число заявок на каждом уровне книги на начало каждой секунды. Для книги РТС характерен логарифмический закон уменьшения числа заявок на дальних уровнях, однако на модельных данных получаем степенной закон.

На рисунке 5 показана зависимость среднего объема заявки, стоящей в книге. Как и в случае с объемом отменяемых заявок, объем заявок, стоящих на ближайших уровнях, превосходит SL. Это связано с тем, что время жизни заявки большого объема превышает время жизни заявок малого объема по причине их исполнения рыночными ордерами.

Рисунок 6 демонстрирует пример ценовой динамики модели, которая ведет себя подобно реальной динамике РТС.

Подпись:  
Рис. 6. Пример ценовой динамики модели
На Подпись:  
Рис. 7. Фрагмент диаграммы классов биржевого 
механизма
рисунке 7 представлен фрагмент диаграммы классов системы исполнения заявок. Центральным классом в данной модели является класс OrderMatchingSystem, реализующий в методе OrderExecution алгоритм исполнения заявки. Класс OrderBook – это два упорядоченных списка заявок (SortedList). Заявки упорядочены в соответствии с приоритетом их исполнения в момент поступления рыночной заявки.

Подпись: Таблица 3
Пример истории потока заявок по индексу РТС
Direction	DateTime	ID	Action
(C=0, L=1, M=2)	Price	Volume	Order ID	Trade Price
S	20110601233951700	4014602286	0	184190	200		
S	20110601233951800	4014602357	0	184185	90		
S	20110601233951800	4014602375	1	185975	621		
S	20110601233951900	4014602375	0	185975	621		
S	20110601233951900	4014602391	1	185975	621		
B	20110601233951900	4014181933	2	184000	1	328609129	184000
S	20110601233951900	4014602397	1	184000	5		
S	20110601233951900	4014602397	2	184000	1	328609129	184000
S	20110601233951900	4014602398	1	184000	20		
S	20110601233952000	4014602391	0	185975	621		
S	20110601233952000	4014602417	1	185975	621		
Класс Trader является абстрактным, отвечающим за логику работы участников торгов. На рисунке 8 приведен фрагмент диаграммы классов, реализующих работу рассмотренной в данной работе модели и симуляции торгов по историческим данным.

OrderLogTrader реализует симуляцию торгов по историческим данным. Исторические данные потока заявок (табл. 3) представляют собой таблицу с параметрами поступающих заявок. В графе Direction отражается направленность заявки: S – продажа, B – покупка; в графе DateTime – время поступления заявки с точностью до миллисекунды. Каждая заявка имеет свой номер ID, цену Price и объем Volume. В Action указывается тип действия: 0 – отменить заявку, 1 – поставить заявку в книгу и 2 – сделка совершена.

В заклПодпись:  
Рис. 8. Фрагмент диаграммы классов модели 
и симуляции исторических данных
ючение отметим, что в работе предложена стохастическая многоагентная модель биржевой книги заявок, состоящей из четырех агентов. Первые два агента, один со стороны спроса, другой со стороны предложения, поставляют ликвидность в биржевую книгу путем добавления лимитированных заявок. Другие два агента, один со стороны спроса, другой со стороны предложения, потребляют имеющуюся в книге ликвидность путем отмены лимитированных заявок либо путем отправки рыночных заявок. События в модели генерируются пуассоновским процессом.

Параметры модели определялись на основе эмпирических свойств книги заявок фьючерсного контракта на индекс РТС.

Стационарное поведение агентов, то есть неизменчивость интенсивностей работы агентов и ограничение по минимальному количеству лимитированных заявок в книге является условием устойчивого состояния книги. В данных условиях ценовая динамика и высокочастотные характеристики модели демонстрируют схожее поведение с реально наблюдаемыми эмпирическими свойствами рынка.

Данная модель может быть легко расширена для моделирования более сложной динамики поведения рынка. Интерес представляет моделирование трендового поведения цены. Такое поведение можно реализовать путем изменения соотношения ограничений по минимальному количеству лимитированных заявок со стороны спроса и предложения, а также изменения соотношения рыночных заявок и отмены лимитированных заявок.

Литература

1.     Ladley D., Zero Intelligence in Economics and Finance, The Knowledge Engineering Review, Cambridge Univ. Press, 2004, Vol. 27, pp. 1–24.

2.     Lykov A., Muzychka S., Vaninsky K., A multi-agent nonlinear markov model of the order book. arXiv:1208.3083.

3.     Cont R., Stoikov S., Talreja R., A stochastic model for order book dynamics, Operation Research, 2010, Vol. 58, no. 3, pp. 549–563.

4.     Chakraborti A., Toke I. M., Patriarca M., Abergel F., Econophysics review: I. Empirical facts, Quantitative Finance, 2011, Vol. 11, no. 7, pp. 991–1012.

5.     Chakraborti A., Toke I.M., Patriarca M., Abergel F., Econophysics review: II. Agent-based models, Quantitative Finance, 2011, Vol. 11, no. 7, pp. 1013–1041.

6.     Maslov S., Simple model of a limit order-driven market, Physica A, 2000, no. 278, pp. 571–578.

7.     Samanidou E., Zschischang E., Stauffer D., Lux T., Agent-based models of financial markets, Reports on Progress in Physics, 2007, Vol. 70, pp. 409–450.

References

1.     Ladley D., The Knowledge Engineering Review, Cambridge University Press, 2004, Vol. 27, pp. 1–24.

2.     Lykov A., Muzychka S., Vaninsky K., A multi-agent nonlinear markov model of the order book, available at: arXiv:1208.3083 (accessed 24 July 2013).

3.     Cont R., Stoikov S., Talreja R., Operation Research, 2010, Vol. 58, no. 3, pp. 549–563

4.     Chakraborti A., Toke I. M., Patriarca M., Abergel F., Quantitative Finance, 2011, Vol. 11, no. 7, pp. 991–1012.

5.     Chakraborti A., Toke I. M., Patriarca M., Abergel F., Quantitative Finance, 2011, Vol.11, no. 7, pp. 1013–1041.

6.     Maslov S., Physica A, 278, 2000, pp. 571–578.

7.     Samanidou E., Zschischang E., Stauffer D., Lux T., Reports on Progress in Physics, 2007, Vol. 70, pp. 409–450.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=3604&lang=
Версия для печати
Выпуск в формате PDF (13.63Мб)
Скачать обложку в формате PDF (1.39Мб)
Статья опубликована в выпуске журнала № 3 за 2013 год. [ на стр. 283-288 ]

Назад, к списку статей