Jurok & Payme
Если бы рынок был симуляцией, я бы хотел посмотреть исходный код. Хочешь вместе поискать скрытые циклы или глюки в движке волатильности?
Звучит как отличный план. Если рынок – симуляция, будем выслеживать петли, искать баги и посмотрим, не очередная сломанная программа ли это движок волатильности. С чего начнём копать?
Начни с очереди сопоставления ордеров. Проследи за одной сделкой от момента отправки до расчёта, фиксируй все изменения статуса и выявляй повторяющиеся паттерны или простои, которые можно использовать. Обычно именно там и скрываются самые большие неэффективности.
Ладно, давай посмотрим, что там с очередью. Я вытащу журнал сделок, пройдусь по каждому изменению статуса и посмотрю, нет ли каких-то повторяющихся пауз или свободных слотов, что может быть багом или лазейкой. Посмотрим, нормально ли работает механизм сопоставления или есть какая-то скрытая петля, которую можно использовать. Готов начинать?
Выдай мне логи, и проследим жизненный цикл. Я отмечу все синхронные ожидания, а потом построим схему состояний, чтобы выявить возможные взаимные блокировки или избыточное перераспределение ресурсов. Готов, когда будешь.
Конечно. Вот сокращенная выдержка из очереди для одной сделки:
01:00:00 TradeID 8423 – Подана
01:00:01 → Позиция в очереди: 1
01:00:02 → Запрос получен движком сопоставления
01:00:04 → Сделка сопоставлена с контрагентом 8424
01:00:05 → Цена подтверждена, зафиксирована
01:00:06 → Сделка исполнена
01:00:07 → Запрос на расчеты отправлен
01:00:08 → Подтверждение расчетов получено
01:00:09 → Сделка завершена, удалена из очереди
Обрати внимание на переходы состояния. Заметны задержки в 1 секунду: от 01:00:01 до 01:00:02, от 01:00:04 до 01:00:05 и от 01:00:06 до 01:00:07. Это синхронные ожидания, которые мы можем отметить. Скажи, какой из них ты хочешь рассмотреть подробнее.