AlphaForge
Когда плохой торговый день оказался полезнее хорошего
17 августа PulsX отработал заметно хуже, чем хотелось. Один SHORT закончился примерно
−30 тиками, хороший LONG система увидела, но лимитная заявка осталась без исполнения, а вечерний SHORT закрылся примерно
−10 тиков.
На первый взгляд всё просто:
рынок оказался неудобным. Но мы решили разобрать день полностью — и выяснилось, что рынок был только частью проблемы.
Правильная идея, которой не дали войти
Днём PulsX сформировал LONG. Направление оказалось правильным, рынок действительно пошёл вверх. Но заявка стояла слишком пассивно и
не получила исполнения.
Формально сигнал был. Ордер тоже был. А позиции — нет.
После изменения механики исполнения тот же эпизод в изолированном replay дал около
+18,8 net ticks при минимальном движении против позиции.
Но важнее даже не прибыль. Мы начали жёстко разделять два разных события:
сигнал → заявка → исполнение
и
сигнал → заявка → рынок ушёл без нас
Раньше в отчётах эти ситуации выглядели слишком похоже.
А дальше нашли проблему серьёзнее
Утренний SHORT в реальном исполнении закончился примерно
−30 тиками. Но replay рассказывал другую историю: закрывал ту же идею значительно раньше и показывал прибыль.
Получалось:
LIVE: плохая сделка.
Replay: нормальная сделка.
Для алгоритмической системы это очень неприятный сценарий. Если replay не воспроизводит реальный жизненный цикл позиции, красивые результаты тестирования мало что значат.
Разбор показал, что PulsX слишком долго продолжал считать старый SHORT-сценарий действующим, хотя внутри рынка уже происходил устойчивый перехват инициативы покупателями.
Мы добавили отдельную проверку разрушения исходного сценария. После этого на тех же данных SHORT закрывается значительно раньше:
около +8,8 net ticks вместо боевых −30.
При этом старые прибыльные контрольные дни сохранились без ухудшения.
Ещё один полезный случай
Вечерний SHORT тоже оказался примером слишком позднего признания ошибки. Новый lifecycle в replay от реального fill сокращает потерю примерно с
−10 до −4 тиков.
Он не превращает плохой вход в хороший. Просто раньше говорит:
идея развивается не так, как ожидалось.
И это тоже важная способность системы.
Итог после исправлений
Полный connected/live-like replay 17 августа:
2 закрытые сделки · +50,6 net ticks · hard stop 0 · крупных движений без покрытия 0
Opening SHORT:
+8,8 net ticks.
LONG:
+41,8 net ticks, MFE 58 тиков при MAE 6.
Причём мы не увеличивали количество входов.
Прогресс пришёл из другого: улучшили исполнение заявок, распознавание разрушения тезиса, LIVE/replay parity и отчётность по состояниям
FILLED / CANCELLED / REJECTED.
Главный вывод дня
Иногда кажется, что нужно улучшать прогноз рынка.
Но сначала стоит убедиться, что цепочка
сигнал → заявка → исполнение → позиция → выход
рассказывает одну и ту же историю во всех частях системы.
17 августа PulsX не просто ошибался. Он помог найти несколько мест, где мы
неправильно объясняли собственные ошибки.
А для инженерного эксперимента это иногда полезнее ещё одного идеального дня.
Изменения пока проходят локальную проверку и ещё не являются подтверждённым production-релизом.
AlphaForge
*Код. Математика. Данные. Гипотезы.*
PulsX // {$NGQ6} {$NRQ6}
Статус эксперимента: продолжается.
*Результаты относятся к историческому replay и исследовательским проверкам и не гарантируют будущих результатов. AlphaForge — исследовательский журнал, а не источник торговых сигналов.*
#alphaforge
#pulsx
#природныйгаз
#алготрейдинг