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