Переоптимизация (оверфиттинг)
Представьте студента, который вызубрил ответы на прошлогодние экзаменационные билеты. Дай ему тот же экзамен — 100 баллов, но чуть измени вопросы — провал. Переоптимизированное торговое правило устроено ровно так же: на «билетах» прошлого графика оно безупречно, а на «новом экзамене» — будущем — бессильно.
Вот как это происходит на цифрах. Правило «покупать при RSI ниже 30» сработало в прошлом 500 раз с винрейтом 52%. Результат так себе — и мы начинаем добавлять условия: «только по средам», «только ночью», «только когда RSI строго ниже 28,3». В какой-то момент получается правило с винрейтом 100%: 5 из 5 прошлых случаев выросли. Только это не найденный закон рынка — это условия, реконструированные задним числом вокруг пяти случайно удачных моментов прошлого.
Почему так выходит? Если перебрать сотни и тысячи комбинаций условий и чисел, часть из них чисто случайно хорошо ляжет на прошлое. Пусть 1 000 человек подбрасывают монету — у кого-то выпадет 10 орлов подряд. Он не мастер подбрасывания; точно так же правило-чемпион из тысяч перебранных комбинаций скорее чемпион случайности, чем носитель мастерства.
У переоптимизации есть узнаваемые признаки: мало случаев (меньше нескольких десятков), подозрительно конкретные условия (никто не может объяснить, почему именно 28,3), результат резко меняется от небольшой правки числа (при RSI 28 — золотая жила, при 30 — провал), работает только на отдельном отрезке истории. Совпал хотя бы один пункт — насторожитесь.
Рецепты против неё непритязательные: держать правило простым, набирать достаточно случаев, резать данные на периоды и проверять, что правило работает примерно одинаково во всех, и обязательно учитывать комиссии. Хорошие правила часто описываются одним предложением.
What the data actually shows
BaroBara защищается от этой ловушки двумя механизмами. Во-первых, комбинации, у которых в истории меньше 40 случаев, вообще не публикуются: чем меньше выборка, тем легче случайность выглядит как мастерство. Во-вторых, мы не скрываем, что винрейт можно «накрутить» до 90%, просто сузив цель тейк-профита. Как при этом ожидаемый результат переворачивается в минус, видно прямо на кривых на страницах сигналов в каталоге сетапов. Встретите где-нибудь стратегию с рекламой высокого винрейта — вспомните эту кривую.Common misconceptions
«Чем больше условий и чем стратегия изощрённее, тем лучше» — скорее наоборот. Каждое дополнительное условие повышает риск, что правило идеально ляжет только на прошлое. Правила-долгожители обычно просты.
«Винрейт 90% на истории — значит, проверено» — сначала спросите, на скольких случаях. 9 из 10 — в пределах случайности. К тому же винрейт искусственно повышается простым сужением тейк-профита, так что один только винрейт не доказывает ничего.
FAQ
Q. Как понять, не переоптимизирована ли моя стратегия?
Идеального теста нет, но проверьте три вещи: достаточно ли случаев (хотя бы несколько десятков), описываются ли условия одним предложением и не рушится ли результат от небольшого изменения чисел в правиле. Если хотя бы одно «нет» — стоит заподозрить, что правило работает только на прошлом.
Q. Красивые скриншоты прошлой прибыли из «сигнальных» чатов — это тоже переоптимизация?
Возможно, это правило, подогнанное под прошлый график, или черри-пикинг — показ только удачных результатов. Критерий один: публикуется ли полная история, включая и попадания, и промахи, вместе с условиями. Отчёт, не показывающий полное распределение, отчётом не является.