Под капотом — две дорожки: research (как модель обучали и тестировали на истории) и live (как ровно та же модель работает на бирже сейчас). Принципиально важно: используется один и тот же файл модели, поэтому решения на бирже совпадают с симуляцией с точностью до копейки — никакой подмены не происходит. Дальше — пошагово, что происходит внутри каждой дорожки.
{sid}_position (signed) + 8 raw indicators (RSI/ADX/NATR/CHOP/MACD/CCI/BB) + 6 hourly ctx + 6 daily ctx + 2 macro (dividend + CBR) + ticker_id. Target: forward 20-bar log return ансамбля (clip ±10%)pred_mean > +18 bps (long) ИЛИ pred_mean < −12 bps (short). Asymmetric (18L/12S) — short side более тонкий gate, т.к. распределение pred_mean смещено в long (~67% положительных){BUY, SELL_TO_CLOSE, SELL_SHORT, BUY_TO_COVER}. Каждый бар: топ-10 по |meta_pos| → slots; слабейший вытесняется при появлении сильнее (forced exit); при |target_pos| ≤ EPS_ACTIVE=0.10 — natural exit. Borrow cost 20%/год учтён overnight для shorts. Комиссия 5 bps/sideТот же inference pipeline, но на свежих часовых барах с T-Invest. Запускается cron'ом каждый час (close of bar + 5 мин buffer) в торговые часы MOEX. С 13.05.2026 — Phase 3 sandbox live (DRY_RUN=0, ENABLE_SHORT=1).
pred_mean > +18 bps ИЛИ pred_mean < −12 bps. Уже открытые позиции не трогает. Params: HURDLE_BPS_ENTRY=18, HURDLE_BPS_ENTRY_SHORT=12{BUY, SELL_TO_CLOSE, SELL_SHORT, BUY_TO_COVER} → broker_side {BUY, SELL} для T-Invest API. broker.post_market_order в T-Invest sandbox (account 9616c0fa-...-5d9b8befd0ad, 1M RUB)