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