baykovpro

← Quant

Sharpe шума: почему лучший из миллиона — всё равно мусор

4 июля 2026 · 5 мин · бэктест, data-snooping, Deflated Sharpe, переподгонка

Суть идеи

Авторы взяли генератор случайных чисел и сформировали 2 000 000 стратегий с заведомо нулевым истинным Sharpe. Затем применили классический приём исследователя: берёшь пул из N стратегий, выбираешь лучшую по историческому Sharpe — и смотришь, насколько красивой она выглядит. Результат предсказуем математически, но визуально всё равно бьёт под дых: при выборке из 1 000 шумовых стратегий на десяти годах дневных данных победитель показывает вполне «товарный» Sharpe, который в реальном ресёрче прошёл бы первичный фильтр.

Механизм прост — это крайнее значение из распределения максимумов (extreme value statistics). Чем больше стратегий перебрано, тем выше ожидаемый максимум выборочного Sharpe даже при нулевом сигнале. Это не баг конкретного исследователя, это математика: E[max(X₁…Xₙ)] растёт с N даже если все Xᵢ ~ N(0,1).

Антидот, который продвигают авторы, — Deflated Sharpe Ratio (DSR) Бейли и Лопеса де Прадо. DSR делает поправку на число протестированных стратегий, длину выборки, скошенность и эксцесс доходностей. Только если DSR статистически значим, стратегия заслуживает дальнейшего внимания.

Применимость к крипте

Для крипто-трейдера это не абстрактная академия — это ежедневная боль. BTC/ETH-пространство особенно уязвимо: данных мало (биткоин торгуется ~15 лет, ликвидный деривативный рынок — с 2019–2020), зато параметров для подбора — море: уровни GEX, пороги skew, окна rolling-z для VRP, пороги STH-MVRV и т.д. Каждый дополнительный параметр — ещё один «бесплатный» перебор, раздувающий эффективный N.

Прямая замена: вместо «десяти лет дневных данных акций» берём почасовые ряды BTC с 2019 по 2024 — получаем сопоставимый объём наблюдений, но режимная нестабильность крипты (бычий 2020–2021, медвежий 2022, восстановление 2023–2024) делает walk-forward ещё более обязательным.

Тестируемо ли

Да, и именно на нашем движке. Синтетическая часть воспроизводится тривиально: генерируем N серий случайных доходностей (numpy.random.normal), считаем Sharpe каждой, строим распределение максимумов при разных N. Это займёт минуты и наглядно покажет команде, при каком числе перебранных конфигураций «случайный» Sharpe 1.5 становится нормой.

Далее — применяем DSR-формулу к реальным стратегиям из нашего bt_engine: rolling-z VRP, gamma-flip momentum, STH-MVRV mean-reversion. Для каждой фиксируем, сколько конфигураций было перебрано до финальной, и пересчитываем DSR. Данные есть: дневной/часовой OHLCV BTC/ETH, ATM IV (Deribit), funding rate.

Сомнения

Ирония в том, что сама статья — иллюстративная, а не строгая: авторы не публикуют полный код и не уточняют распределение, из которого генерируются доходности (нормальное? с толстыми хвостами?). В крипте доходности лептокуртозны, и поправка DSR на эксцесс существенна — без неё DSR занижает реальный штраф. Кроме того, DSR предполагает, что исследователь честно считает все перебранные конфигурации, включая «мысленные» итерации до написания кода — на практике это почти невозможно аудировать.

Следующий шаг

В bt_engine: взять нашу лучшую по Sharpe конфигурацию VRP-стратегии (rolling-z окно + порог входа), зафиксировать число всех протестированных комбинаций параметров, вычислить DSR по формуле Бейли-Лопеса де Прадо, затем прогнать walk-forward (train 2019–2022 / test 2023–2024) и сравнить in-sample Sharpe, DSR и out-of-sample Sharpe — если OOS Sharpe ниже DSR-скорректированного порога значимости, стратегия идёт в архив.

Результаты тестов

Дописано 4 июля 2026 — прогон «Следующего шага» на нашем движке. Сама статья выше не менялась.

Воспроизвёл обе части: синтетический эксперимент статьи и его применение к реальному BTC на нашем движке.

Часть 1. Синтетика — распределение максимума. Сгенерировал N стратегий с истинным Sharpe = 0 (чистый numpy шум, T = 2490 дней — как раз длина нашей реальной BTC-истории) и посмотрел на лучший выборочный Sharpe. Рядом — аналитический ожидаемый максимум по формуле Бейли–Лопеса де Прадо, той самой, что зашита порогом внутрь нашего Deflated Sharpe:

Перебрано стратегий N Эмпирический E[max Sharpe] Аналитика (Bailey–LdP)
10 0.61 0.60
100 0.96 0.97
1 000 1.24 1.25
10 000 1.48 1.48
100 000 1.70 1.68
1 000 000 1.82 1.86

Из чистого шума: перебрал тысячу конфигураций — лучшая показывает Sharpe 1.25; перебрал миллион — 1.8. Истинного сигнала ноль во всех. Эмпирика совпала с формулой до второго знака — значит наш DSR берёт математически правильную планку. При этом сама одиночная стратегия почти не двигается — её 95-й перцентиль около 0.6 при любом N — раздувается именно максимум, отбираемый из пула.

Часть 2. Реальный best-of-N на BTC. Зафиксировал сетку из 92 конфигов (momentum / MA-cross / breakout / z-reversion, разные окна и пороги), выбрал лучший по in-sample Sharpe (2019-09…2022-12), проверил out-of-sample (2023–2024):

DSR — это не «всегда нет». Чтобы проверить, что тест не задавливает вообще всё, прогнал кривую мощности: подмешал в стратегию настоящий эдж известной силы (тот же фон отбора N = 92):

Истинный годовой Sharpe DSR Вердикт
0.9 0.46 режет
1.5 0.84 режет
2.0 0.97 пропускает
2.5 1.00 пропускает

DSR начинает пропускать ровно тогда, когда истинный Sharpe уверенно перерастает «шумовой максимум» (~1.4 при N = 92). Настоящий сильный эдж проходит; отобранный шум — нет. Планка честная, просто высокая — и растёт с числом перебранных конфигураций.

Вывод. Статья подтверждается на наших данных дословно: лучший из перебора — это статистика экстремума, а не сигнал, и без поправки на N любой Sharpe в районе 1.5 при паре тысяч попыток — норма для чистого шума. Практический протокол один: фиксировать число протестированных конфигураций до оптимизации и гнать финальную кривую через DSR. Оговорка статьи про толстые хвосты крипты уместна — поправка DSR на эксцесс здесь неигрушечная; а «мысленные» итерации до кода реальный N ещё занижают, так что настоящая планка даже выше рассчитанной.

Проверка: research_validate_noise.py + независимая адверсариальная верификация — реимплементация формулы ожидаемого максимума с нуля, сверка эмпирики Монте-Карло с аналитикой, контроль лукахеда в IS/OOS-разбиении, детерминизм под фиксированным seed.

Источник: Quantt · оригинал на английском, разбор — авторский на русском.