Research to live

Backtester + Explorer

Полностью event-driven replay rxbin через тот же SIMBA loop что в live: все типы ордеров, модель задержек и очереди, расхождение с live менее 10%

Базовая поставка
binary от 180 тыс ₽
Лицензия
binary: stable + 1 мес поддержки · подписка 18 тыс ₽/мес
Кому
кванты и трейдеры, которым важен backtest-to-live parity и удобный анализ

Обзор

Backtester воспроизводит сырые rxbin-записи через тот же SIMBA event loop, книги и Strategy API, что работают в live — никакого отдельного «тестового» кода. Разница с реальным live-торгом в собственных прогонах составляет менее 10% по PnL. Симулятор полностью event-driven: команды приходят из стратегии, проходят через pending queue с настраиваемыми задержками и доставляются по биржевому таймлайну. Поддерживаются все типы ордеров MOEX TWIME — Day, BOC, IOC, FOK — с правильной FIFO-очередью, WouldCross-логикой и look-ahead bias guard. Вокруг него рабочее исследовательское место: Streamlit Explorer, WFO, grid search, sensitivity, rejects и разбор неполных прогонов.

ReplayStreamlitWFOGrid searchPnLEvent-driven

Что получает клиент

01

расхождение BT vs live по PnL менее 10% на собственных стратегиях

02

тот же Rust-код стратегии — в бэктесте и в live без изменений

03

полная модель задержек: order_latency, cancel_latency, response_delay, jitter, network offset

04

WFO и sensitivity помогают видеть переобучение до live-запуска

Быстрый контакт

Binary, подписка, исходники, внедрение или интеграция с вашим стеком

@runinfra

Возможности

Что внутри

Состав поставки фиксируется в договоре: бинарь, подписка, внедрение, документация, поддержка, SLA или доступ к исходникам

Полностью event-driven, без look-ahead

ReplayRxPort доставляет пакеты через тот же hot loop. Команды из on_boundary поступают в pending queue с arrival_ts = now_ns + order_latency_ns — ордер не может исполниться по трейду, который уже произошёл до его прихода на биржу.

Все типы ордеров MOEX TWIME

Day (лимит с агрессивной фазой при кроссе + пассивный остаток), BOC (пассивный, WouldCross → reject), IOC (агрессивный по уровням + cancel остатка), FOK (полный fill или reject). Cancel и Replace с WouldCross-проверкой и потерей приоритета при Replace.

FIFO-очередь и модель задержек

queue_ahead = объём уровня на момент arrival. Passive fills — только через реальные TradeInfo из SIMBA, не через book-cross. Параметры: order_latency_ns, cancel_latency_ns, response_delay_ns, order_jitter_ns, cancel_jitter_ns, network_offset_ns, network_jitter_ns (p99 MD tail), TPS-лимиты per channel.

Gating: сессия, инструмент, расписание

Ордера вне торговой сессии и инструментального статуса реджектятся с правильными кодами. Auction TIF gating: только Day в аукционе. Настраиваемое trading_schedule для отсечки нерабочих периодов.

Simulated TWIME: комиссии и PnL

FillsTracker пишет fills.csv с полями: realized PnL, позиция, avg_entry, mid на момент fill, is_maker, fee_rub (биржа + клиринг + брокер), best_bid/ask. Итоговый analysis.json для Explorer.

Streamlit Explorer и WFO

UI для analysis.json: summary, ranking прогонов, IS/OOS WFO tabs, param sensitivity heatmaps, rejects по кодам, sessions, screening и recent runs.