Лекции по биржевой торговле для математиков

Вид материалаЛекции

Содержание


Приложение 1 (access)
Приложение 2 (alert creation)
Приложение 3 (alert management system)
Приложение 4 (bid ask spread visualisation)
Приложение 5 (replay)
Приложение 6 (research)
Приложение 7 (facts)
Приложение 8 (report)
Приложение 9 (announce)
Приложение 10 (collude)
Приложение 11 (permissions)
2. Система анализа финансовых рынков ММВБ «САФРАН-ММВБ».
Основные компоненты системы «САФРАН-ММВБ»
Подсистема 2 (Признаки поведения участников)
Подсистема 3 (Влияние участников на ход торгов)
Особенности реализации системы
Одинарные признаки
Подобный материал:

Пшеничников С.Б. Лекции по биржевой торговле для математиков.

13. Автоматизированные системы анализа и мониторинга.


В настоящее время на ММВБ используются две аналитические системы, дополняющие друг друга.

1. Автоматизированная система исследования, обучения персонала и надзора за рынком ценных бумаг SMARTS. Программная система SMARTS (Securities Markets Automated Research Training and Surveillance) разработана в университете г. Сиднея (Sydney University) исследовательской группой SIRCA (Securities Industry Research Centre of Asia-Pacific) под руководством проф. М. Айткена (Michael Aitken). Программная система SMARTS представляет собой следующий набор интегрированных приложений:

ПРИЛОЖЕНИЕ 1 (ACCESS) позволяет пользователям, знающим очень мало или вообще ничего не знающим о рынках ценных бумаг, быстро разобраться в сущности образов, полученных на основании наблюдений за групповым поведением участников рынка. Эти образы отражают примерно 100 торговых метрик с интервалом как минимум одна секунда. Они могут строиться для различных интервалов времени и в различном виде (гистограмм или последовательности точек). Гистограммы приложения ACCESS могут использоваться для идентификации и оценки частных метрик (например, точки, выше которой находится только 1% данных). Они, в свою очередь, могут использоваться для установления “точек отсечения” в алгоритме, идентифицирующем необычное поведение торгов. Например, если данные о торгах во всем мире за год свидетельствуют о том, что только в 100 случаях из 30,000 сумма торгов превышает 10 миллионов долларов, то именно эта сумма может быть принята в качестве точки отсечения для генерации сигнала тревоги.

ПРИЛОЖЕНИЕ 2 (ALERT CREATION) позволяет пользователям, знающим очень мало или вообще ничего не знающим о языках программирования, создавать простые вычислительные алгоритмы генерации сигналов тревоги в тех случаях, когда превышен порог, выработанный приложением ACCESS. Для этого используется язык, названный ALICE, специально разработанный для финансовых рынков. Сигналы тревоги вырабатываются на основе правил, статистик или тех и других вместе взятых.

ПРИЛОЖЕНИЕ 3 (ALERT MANAGEMENT SYSTEM) позволяет посылать сигналы тревоги и управлять ими в случае их передачи устройством подачи сигналов. Это позволяет с помощью специального журнала регистрации сигналов тревоги отнести их к одной из следующих категорий : “Не обращать внимание”, “Наблюдать”, “Исследовать”. Сами сигналы тревоги могут быть отсортированы и сгруппированы по многочисленным критериям, включая коды брокеров, клиентов, бирж и т.д. Они также могут быть отсортированы по интенсивности на основе внутренних алгоритмов. Предусмотрено также управление сигналами тревоги со стороны опытных аналитиков рынка, которые могут дать свою трактовку тех или иных сигналов.

ПРИЛОЖЕНИЕ 4 (BID ASK SPREAD VISUALISATION) позволяет графически представлять подозрительную активность торгов. Можно отображать любой интервал времени (например, 5 минут или 5 лет) как до, так и после некоторого события. Программа идентифицирует все торги и приказы внутри спреда спроса-предложения. Это приложение предоставляет также многочисленные детали по различным торговым ситуациям, в частности, по дисбалансу между спросом и предложением, зигзагообразному движению и любой другой доступной от компаний информации, связанной с ценными бумагами.

ПРИЛОЖЕНИЕ 5 (REPLAY) позволяет использовать постоянно поступающие данные о приказах и сделках для отображения и воспроизведения окружения рынка в реальном масштабе времени. Это полезно как для понимания динамики проведения сделок (например, эффект определенного воздействия), так и для запроса дополнительных данных в случае появления непредвиденного образа. Таким образом, оно является существенным инструментом надзора за торговыми местами. Приложение дает возможность аналитику, помимо всего прочего, идентифицировать точную последовательность приказов и/или сделок, приводящую к улучшению конкретной ситуации.

ПРИЛОЖЕНИЕ 6 (RESEARCH) позволяет участникам рынка действовать правильно в случае изменения структуры рынков. Например, если принято решение с завтрашнего дня ввести новую технологию торгов или их новое регулирование, то первый вопрос, на который как можно скорее должны получить ответ участники рынка - это каков отдаленный эффект изменения ликвидности. Если это изменение понижает ликвидность, то рынок открывается для манипуляций. Данное приложение предоставляет все известные события, и их взаимосвязь во времени. События могут изучаться как единичные (его вклад в регулирование), так и в группе (все сделки свыше 1 миллиона долларов или группа предложений о поглощении). В последнем случае для изучения все события раскладываются во времени так, что время данного события принимается за нуль, а время его действия есть t+1 или t-1, где t может быть любым временным интервалом. Все метрики SMARTS рисуются во времени и сравниваются по специальным методикам.

ПРИЛОЖЕНИЕ 7 (FACTS) предоставляет в привычном виде таблицы и диаграммы торговых метрик для выявления торговых трендов, что может служить средством защиты от потенциальных преступников. Таблицы и диаграммы могут обновляться в реальном масштабе времени, отражать прошлые данные или комбинировать их. Пользователь может ограничить группы факторов (например, рынок акций, средний объем сделок за день, границы спроса и предложения), которые приложение FACTS должно найти. Наоборот, пользователь может задать до четырех измерений отображения некоторого факта (например, пропорция первоначальных покупок на торгах (измерение 1) для каждого брокера (измерение 2) с десятиминутным периодом (измерение 3) для 50 ценных бумаг, пользующихся наибольшим спросом (измерение 4)).

ПРИЛОЖЕНИЕ 8 (REPORT) помогает ускорить обмен информацией между осуществляющим надзор департаментом и внешними группами брокеров и регуляторов рынков за счет автоматического создания привычных отчетов о торговой обстановке. Например, в каждой транзакции ценных бумаг обычно присутствует уникальная последовательность чисел, идентифицирующая взаимосвязь между приказами и сделками. Эти числа могут использоваться в отчетах для идентификации и печати всех приказов (исходных и уточненных), относящихся к определенной сделке. Пользователь может привести его к привычному для себя виду, выдать на печать все поля, отсортировать по определенным ключам, добавить новые поля и т.д.

ПРИЛОЖЕНИЕ 9 (ANNOUNCE) предоставляет средства общего назначения для просмотра информации о рынке, подходящие для любых бирж. Оно сортирует объявления о ценных бумагах и позволяет пользователю просматривать всю информацию о ценных бумагах как в прямом, так и обратном направлениях. Это приложение запускается автоматически из программы Bid-Ask Spread Visualistion если щелкнуть мышью по соответствующей иконке.

ПРИЛОЖЕНИЕ 10 (COLLUDE) отображает активность брокеров в числовой или графической форме. Оно измеряет рынок акций для конкретных ценных бумаг за определенный период времени и дает оценку ожидаемой и фактической величиной сделок за период от нескольких минут до нескольких лет. Это приложение дает также возможность оценивать прибыль и потери за некоторый период времени, что особенно важно в случае инсайдерских сделок.

ПРИЛОЖЕНИЕ 11 (PERMISSIONS) дает пользователю возможность ограничить права доступа к любому приложению SMARTS и/или данным системы.

Основные особенности SMARTS

1. Программная система работает как в реальном масштабе времени, так и в пакетном режиме. 2. Все приложения интегрированы и могут вызываться одно из другого. 3. Предоставляется возможность лицам, которые плохо знают рынок ценных бумаг или вообще его не знают, первоначально обучиться на встроенных в систему образцах. 4. Обеспечивает максимально возможную гибкость манипулирования данными, что позволяет вести исследования на самом высоком научном уровне. 5. Обеспечивает универсальный механизм надзора за рынками, соответствующий современному мировому уровню. 6. Дает возможность пользователю выбрать наиболее подходящий уровень детализации информации. 7. Позволяет проводить исследования и обучение (в контексте надзора), а также полный надзор за рынками ценных бумаг.


Взаимодействие приложений системы SMARTS



2. Система анализа финансовых рынков ММВБ «САФРАН-ММВБ».


Разработана под руководством акад. Журавлева Ю.И. в ВЦ РАН по заказу ММВБ.

Общее описание системы. Программная система «Аналитика» предназначена для обработки данных об индивидуальных и групповых действиях участников с целью наблюдения и анализа хода торгов. Система является комплексом интегрированных функциональных подсистем, основных и функциональных вспомогательных модулей.


Основные компоненты системы «САФРАН-ММВБ»:

Подсистема 1 (Демонстрация хода торгов) позволяет пользователям визуализировать ход торгов. На графиках отображаются цены и объемы заявок и сделок участников, долгосрочные и краткосрочные ценовые тренды, что традиционно для систем подобного назначения, а также графический образ очередей заявок на покупку и продажу, динамику изменений позиций, что является оригинальной разработкой группы специалистов   создателей системы «САФРАН-ММВБ».

Подсистема 2 (Признаки поведения участников) позволяет пользователям вычислять более 150 специально разработанных агрегированных числовых характеристик участников торгов (признаков). Список признаков допускает наращивание в сжатые сроки в соответствии с пожеланиями эксперта надзора. Результаты вычислений могут быть представлены в традиционных формах: столбчатая диаграмма, график сравнения пары признаков. Но наиболее мощным инструментом анализа является, так называемое, плоское представление участников. Оно позволяет по вычисленным (на основе признаков) оценкам сходства поведения участников разместить их (участников) на экране в соответствии с этими оценками сходства, что дает эксперту возможность получить наглядное представление о близости поведения различных участников. Для группы признаков, характеризующих синхронность действий участников (динамических признаков), имеется возможность построения специальной диаграммы ("профиль рынка"), отражающей общий уровень напряженности рыночной ситуации.

Подсистема 3 (Влияние участников на ход торгов) позволяет пользователю оценивать воздействие на движение цены каждого конкретного участника или группы участников. Для этой цели используется специально разработанный функционал вычисления влияния участников на движение цены. Результаты представляются в виде графика распределения на плоскости, что позволяет для каждого участника визуально оценить его вклад в итоговое изменение цены, а также дать общую характеристику рынка ("бычий" или "медвежий"). График влияния, на котором наряду с реальным движением цены отображается гипотетическое движение цены без учета влияния одного или группы участников, позволяет проанализировать воздействие на цену этой группы участников.

Особенности реализации системы


База данных системы «САФРАН-ММВБ», спроектированная с учетом специфических особенностей используемых данных, содержит информацию о всех транзакциях участников торгов на рынках ММВБ (сделках, вводе и снятии заявок на покупку и продажу).

Непосредственное использование исходных данных, поставляемых из торговой системы ММВБ, в задачах системы представляло значительные сложности. Во-первых, исходные данные содержат записи лишь о вводе заявок и сделках, записи о снятии заявок отсутствуют. Во-вторых, в настоящий момент на рынках ММВБ ежедневно совершается около 7000 сделок, общее же количество транзакций зачастую превышает 25000. Это приводит к тому, что часто в пределах одной секунды совершается несколько транзакций, а в некоторых случаях количество транзакций за одну секунду лишь по одному финансовому инструменту превышает несколько десятков. При этом информация о времени совершения транзакций в исходных данных хранится лишь с секундной точностью.

Для системы «САФРАН-ММВБ» был специально разработан формат базы данных событий (events database) и технология конвертации в этот формат исходных данных, позволяющая решить обе описанные проблемы. На первом этапе воспроизводятся события, которые соответствуют снятиям заявок. Затем определяется истинный порядок совершения транзакций. Для этой цели используется специально разработанный эмулятор торговой системы ММВБ, позволяющий абсолютно корректно восстанавливать ход торгов и состояние очередей заявок на покупку и продажу на любой момент времени торгов. Очередью или журналом заявок (order book) называется структура, в каждый момент времени торгов содержащая все введенные участниками до данного момента времени торгов лимитные заявки, которые не были до этого момента сняты или удовлетворены. Существуют очереди заявок на продажу и заявок на покупку. Заявки в очереди находятся в строгом порядке, который задается ценой, а при совпадении цен очередностью ввода заявок в торговую систему. Лучшей или первой заявкой в очереди заявок на продажу называется заявка с минимальной ценой, а при наличии нескольких заявок с такой же ценой, та из них, которая раньше других была введена в торговую систему. Соответственно, лучшей заявкой в очереди на покупку называется заявка с максимальной ценой и, при наличии других заявок с такой же ценой, с самым ранним временем ввода. Транзакция (ввод или снятие заявки) любого из участников изменяет состояние очередей. Эмулятор предназначен для функционирования в двух режимах. В первом режиме он используется при конвертации данных из исходного формата в формат базы данных событий для определения правильного порядка совершения транзакций. Во втором режиме эмулятор функционирует при штатной работе системы в процессе обработки данных для восстановления очередей заявок. Эмулятор одну за другой последовательно обрабатывает транзакции участников. Результатом работы являются очереди заявок на покупку и продажу с учетом последней обработанной транзакции. После выполнения каждого шага эмулятор сопоставляет обе очереди и, в случае, если лучшие цены очередей перекрываются или совпадают, "порождает" сделки до тех пор, пока перекрытие не будет устранено. Критерием правильности работы эмулятора служит совпадение сделок, "порожденных" эмулятором, и сделок, записи о которых хранятся в базе данных. Сделки сравниваются по цене, объему и составу участников. В случае несовпадения хотя бы одной из вышеуказанных характеристик пользователь получает соответствующее предупреждение, а сам факт служит предметом исследований разработчиков системы для внесения последующих доработок. Подобная схема позволяет обнаружить и устранить все возможные несоответствия еще на этапе конвертации данных. Это служит дополнительной степенью защиты информации, обеспечивая целостность используемых данных за счет проверки их корректности на семантическом уровне.

Подсистема “Признаки поведения участников” предназначена для: 1. Расчета характеристик и параметров поведения участников (признаков); 2. Представления результатов расчетов в текстовой и графической формах; 3. Построения плоского представления участников торгов на основе рассчитываемых признаков; 4. Расчета и графического представления агрегированной характеристики хода торгов (профиля рынка). Подсистема также позволяет: 1. Распечатывать результаты вычисления признаков; 2. автоматически настраивать веса признаков при построении плоского представления; 3. Регулировать параметры всех расчетов.

Признаки поведения и работа с ними. База данных системы «САФРАН-ММВБ», спроектированная с учетом специфических особенностей используемых данных, содержит информацию обо всех транзакциях участников торгов на рынках ММВБ. Хотя эта информация полностью описывает все действия участников, ее трудно непосредственно использовать для сравнения и анализа поведения участников ввиду большого объема и специфической структуры. Но по этой информации можно вычислить различные агрегированные числовые характеристики, которые специально предназначены для анализа различных аспектов поведения участников. Именно с такими характеристиками и работает подсистема “Признаки поведения участников”. Признак – это числовая характеристика, вычисляемая для некоторого набора инструментов и участников. То, для какого именно набора инструментов и участников вычисляется значение признака, определяется типом признака. В системе реализованы следующие типы признаков:

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

1. Значения признака являются “близостью”, то есть участников, входящих в пару, по которой было получено значение, следует считать тем более похожими, чем больше полученное значение признака. 2. Значения признака являются “расстоянием”, то есть участников, входящих в пару, по которой было получено значение, следует считать тем более похожими, чем меньше полученное значение признака. 3. Значения признака нельзя считать ни “близостью”, ни “расстоянием”. В этом случае подсистема не может построить матрицу расстояний по значениям парного признака. Матрица попарных расстояний, построенная по значениям одного признака, позволяет сравнить поведение участников в рамках одной характеристики. Чем больше расстояние между участниками, тем менее похожими они считаются. Плоское представление позволяет проанализировать и сравнить поведение участников в рамках целого набора характеристик. В ходе построения плоского представления решаются две основные задачи: 1. Построить матрицу попарных расстояний, наилучшим образом объединяющую в себе матрицы попарных расстояний для всех выбранных пользователем признаков. Параметры построения матрицы могут подбираться автоматически или задаваться пользователем. 2. Построить плоское представление (на экране монитора), менее всего искажающее полученную матрицу попарных расстояний. Пользователь может указать, для каких участников строить плоское представление, а также ограничить точность его построения. Для анализа влияния выбранных пользователем признаков на размещение участника в плоском представлении служат инструменты Круговая диаграмма и Информация об объекте. Для анализа всей матрицы попарных расстояний в совокупности служит инструмент Гистограмма расстояний. В подсистеме “Признаки поведения участников” используются признаки двух видов: внутренние и пользовательские.

    Значения внутреннего признака (список внутренних признаков см. в приложении A) вычисляются непосредственно по информации о транзакциях участников торгов на рынках ММВБ. Внутренние признаки могут иметь параметры. Значения пользовательского признака (список пользовательских признаков) признаков см. в приложении A) вычисляются на базе внутренних признаков по формуле, которая является арифметическим выражением над внутренними признаками системы. Пользовательские признаки параметров не имеют. (Параметры могут присутствовать у внутренних признаков, на базе которых определен пользовательский.) Пользователь работает с набором пользовательских признаков, который разбит на группы и подгруппы. Каждый пользовательский признак имеет уникальное название и располагается в своих группе и подгруппе. Для каждого признака указаны единицы измерения и дано примечание. Для каждого признака можно указать, использовать ли его в ходе вычислений. Для признаков, для которых можно построить матрицу расстояний, можно указать, вычислять ли эту матрицу при расчете значений.

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

Расчет функционала. Элементарные оценки. Построение функционала основано на приписывании числовых оценок элементарным действиям каждого участника (вводу заявок, снятию заявок и совершению сделок). Оценка элементарного действия  это оценка влияния некоторого события, инициированного определенным участником, на цену финансового инструмента.

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

. Каждая транзакция , где множество можно содержательно интерпретировать следующим образом: - ввод заявки на покупку (bid); - ввод заявки на продажу (ask); - снятие заявки на покупку (amend bid); - снятие заявки на продажу (amend ask); - совершение сделки (trade);

Состояние рынка в каждый момент обозначим . Пусть - участник торгов по инструменту , , где N - число участников торгов по данному инструменту. Тогда для любого транзакции участника : , а последовательность является подпоследовательностью . Следует отметить, что у каждой транзакции могут быть один или два участника . Оценка -й транзакции -го участника определяется как взвешенная сумма , где - функция оценки -го типа элементарного действия участника, а - весовой коэффициент при функции . В настоящий момент используются функции 14 типов () - 7 для оценок понижающих цену действий и 7 для повышающих, а именно (для понижающих влияний): - инициирование сделки по продаже; - понижение лучшего аска путем ввода заявки; - понижение лучшего бида путем снятия заявки; -усиление очереди бидов путем ввода заявки; -ослабление очереди асков путем снятия заявки; - инициирование сделки по продаже с понижением лучшего бида; - инициирование сделки по цене ниже текущей средневзвешенной. Результирующее влияние на цену участника вычисляется как сумма оценок по всем событиям , инициированным -ым участником: . Настройка параметров производится так, чтобы сумма значений функционала по всем участникам на определенном интервале времени приближала относительное изменение цены на этом интервале: , где - средневзвешенная цена сделок на этом интервале. Конструкция функционала позволяет интерпретировать его значение для каждого отдельного участника как оценку его вклада в движение цены финансового инструмента на выбранном интервале времени. Подсистема дает возможность исследовать влияние на движение цены каждого участника или любых групп участников. Также существует возможность построить «модельную» кривую хода торгов при устраненном влиянии одного или группы участников: , что позволяет проанализировать совместный вклад этой группы в движение цены.