Дрейф модели: узнать, что стратегия перестала работать, раньше, чем это узнает счёт
Стратегии редко ломаются громко. Они деградируют, и кривая эквити — последнее место, где это становится очевидным. Заметить раньше — задача мониторинга с известным решением.
Инженеры Vizanix · об авторе
- РАЗДЕЛ
- Будущее рынка и ИИ
- ОПУБЛИКОВАНО
- 2026-08-29
- ГЛАВ
- 5
- ЧИТАТЬ ДАЛЬШЕ
- 3
- ЯЗЫК
- написано на русском
Узнать, что стратегия перестала работать, можно двумя способами. Смотреть на кривую эквити — она скажет через шесть недель и с низкой уверенностью. Или смотреть на механику — она скажет через дни.
Три вида дрейфа с разными лечениями
| Вид | Что сдвинулось | Реакция |
|---|---|---|
| Дрейф входов | Изменилось распределение признаков — режим волатильности, ликвидность, состав участников | Часто безобиден; модель может оставаться верной. Наблюдать. |
| Дрейф предсказаний | Модель выдаёт другое распределение, чем раньше | Разбираться. Может быть следствием дрейфа входов либо багом конвейера данных. |
| Дрейф концепции | Изменилась связь между признаками и исходом | Модель неверна. Переобучение может помочь; преимущества может уже не быть. |
Различать важно, потому что реакции противоположны. Переобучать на дрейфе входов — бессмысленная суета. Не переобучать на дрейфе концепции — торговать моделью, которая опровергнута.
Что измерять
- Распределения признаков. По каждому признаку скользящее сравнение с обучающим распределением. Индекса стабильности популяции или простого сравнения квантилей достаточно; суть в том, что оно существует и алертит.
- Распределение предсказаний. Если модель раньше срабатывала на 2% оценок, а теперь на 9%, что-то изменилось раньше, чем об этом сказал бы результат сделок.
- Калибровка. Разложите предсказания по корзинам уверенности и сравните предсказанную частоту с реализованной. Модель может сохранить способность ранжировать, потеряв калибровку, — а расчёт объёма зависит от калибровки.
- Реализованное преимущество против ожидаемого. Предсказали 12 базисных пунктов, забрали 4. Разложите на слиппедж и распад, чтобы знать, что чинить.
- Скользящая корреляция сигнала. Самое полезное одно число. Оно двигается раньше P&L и легко считается.
# Гоняется ночью. Дёшево, и двигается на недели раньше кривой эквити.
def drift_report(recent, baseline):
return {
"psi": {f: psi(recent[f], baseline[f]) for f in FEATURES},
"pred_shift": ks_stat(recent.pred, baseline.pred),
"calibration": brier(recent.pred, recent.outcome) - BASELINE_BRIER,
"signal_corr": spearman(recent.pred, recent.outcome), # вот за этим следить
}Правило остановки пишется до запуска
Здесь нужна дисциплина, а не инженерия. Правило, придуманное, когда стратегия теряет деньги, — не то же самое правило, которое вы написали бы заранее: убыточная версия всегда включает «дадим ещё неделю».
Рабочая форма:
- Уменьшить объём, когда скользящая корреляция сигнала опускается ниже порога две недели подряд.
- Прекратить открывать новые позиции, если держится ниже четыре недели.
- Полная остановка и разбор при пробитии лимита просадки, независимо от того, что говорит диагностика.
- Перезапуск только после свежей валидации вне выборки, а не после того, как кривая «стала получше выглядеть».
Переобучение — не автоматический ответ
Регулярное переобучение выглядит ответственно и тихо создаёт две проблемы. Оно превращает работающую модель в движущуюся мишень, так что результат невозможно полностью атрибутировать. И оно прячет дрейф концепции: модель продолжает подгоняться под свежие данные и продолжает показывать приличные внутривыборочные метрики, пока преимущества под ними уже нет.
Лучше так: переобучать по расписанию ради свежести, но валидировать каждую переобученную модель на отложенном периоде так же, как валидировали первую. Если переобученная модель эту планку не берёт, ответом является не очередное переобучение, а то, что стратегия закончилась. Это нормальный исход, и его стоит планировать. См. распад альфы.
Самая дешёвая версия
Если реализовать одну вещь: логируйте каждое предсказание вместе с реализованным исходом и считайте скользящую корреляцию раз в неделю. Это несколько строк, это ничего не стоит, и это разница между тем, чтобы заметить умирающую стратегию за две недели, и тем, чтобы заметить её за два месяца.
Статья описывает инженерную практику. Это не инвестиционная рекомендация. Vizanix разрабатывает программное обеспечение и не обещает торговую доходность.