взял дневные доходности боевой конфигурации за весь OOS 2021–2026 (~1500 наблюдений, Sharpe 2.47 годовых - на дневной агрегации он ниже часового) и 31 честно измеренный вариант из журнала экспериментов как пул проб
лучший результат, который показал бы чистый шум перебора при 35 пробах - Sharpe ~1.7, при сотне проб (если считать каждую вариацию параметров отдельной попыткой) - ~2.0 вероятность, что мои 2.47 выше этой планки не случайно - 0.99 при 35 пробах и 0.92 даже при сотне, с поправкой на жирные хвосты ряда (skew +4.4, kurtosis 66)
честные оговорки: пробы у меня коррелированы (одни данные, один пайплайн) - это одновременно занижает дисперсию пула, завышая DSR, и снижает эффективное число независимых попыток, занижая его - куда сместился баланс, строго не скажу и главное: DSR отвечает только на вопрос “не артефакт ли перебора это превосходство”, а не “повторится ли 2.47” - на второй по-прежнему отвечают стресс-тест с его −28% и живой трек
спасибо за вопрос - расчет останется в проекте постоянным инструментом
формальной поправки на множественность в протоколе нет, и вечно нетронутого холдаута тоже “честная вторая половина” за десятки экспериментов неизбежно изнашивается, защищаюсь от этого тремя вещами (ни одна из которых не является формальной поправкой, но вместе они работают иначе, чем одиночный порог):
принятие гипотезы - это не “Sharpe выше порога”, а конъюнкция независимых проверок: сдвиг AUC на каждом из пяти сидов, сравнение на равной рабочей точке, атрибуция по механизму (прибавка обязана прийти из бумаг и баров, где признак существует) и для крупных изменений - стресс на другой рыночной эпохе случайный “выстрел” из тридцати обычно проходит одну проверку и валится на атрибуции, два таких кейса разобраны прямо в статье вероятность случайно пройти все ворота на порядки ниже, чем случайно пробить один Sharpe-порог, хотя численно я ее, честно, не оценивал
из выживших шести большинство - не независимые джекпоты перебора признаков, а модификации самой процедуры обучения (ансамблирование, смешение двух схем разметки), подтверждённые на двух эпохах - у них множитель перебора существенно меньше тридцати пяти
финальный нетронутый холдаут у меня - время система с июля торгует виртуально в реальном времени, осенью выходит на реальные деньги с публичным треком будущее - единственный “не тронутый кусок данных” который физически нельзя переиспользовать, все остальное, включая собственну “честную половину” я и сам считаю частично изношенным
deflated Sharpe - не считал, посчитаю и опубликую частично его роль у меня выполняет стресс-тест (замороженная система на 2015–2020 теряет 28%), я сам делаю ставку не на цифру Sharpe, а на скорость адаптации (еженедельное переобучение) и автоматический выключатель в эталонную стратегию
разброс по сидам - интервал шума процедуры, а не интервал будущей доходности, и режимный риск в одной реализованной траектории больше сидового мое ожидание от live скромнее бэктеста насколько - покажет время публичного трека
Гонял 10 сидов против 5 (те же данные, честный протокол из статьи): на полном периоде десятка чуть глаже, но на свежей половине, которая у меня держит решения, прибавки нет - разница в пределах того же сидового шума, а ретрейн дорожает вдвое так что вывод осторожный - не 5 лучше 10, а прибавка от удвоения не доказана, и я остался на 5 механика простая: усреднение убирает только декоррелированную часть ошибки (первые 3–5 моделей забирают основной выигрыш, дальше отдача падает быстро), А та часть ошибки, что общая у всех сидов (само переобучение на эпоху), не лечится никаким количеством сидов
по времени: у меня 5 сидов ~ 13 минут на 3050 TI, переобучение раз в неделю по расписанию, так что даже 20 сидов не было бы проблемой. тут узкое место не вычисления, а честность оценки
посчитал, как обещал
взял дневные доходности боевой конфигурации за весь OOS 2021–2026 (~1500 наблюдений, Sharpe 2.47 годовых - на дневной агрегации он ниже часового) и 31 честно измеренный вариант из журнала экспериментов как пул проб
лучший результат, который показал бы чистый шум перебора при 35 пробах - Sharpe ~1.7, при сотне проб (если считать каждую вариацию параметров отдельной попыткой) - ~2.0 вероятность, что мои 2.47 выше этой планки не случайно - 0.99 при 35 пробах и 0.92 даже при сотне, с поправкой на жирные хвосты ряда (skew +4.4, kurtosis 66)
честные оговорки: пробы у меня коррелированы (одни данные, один пайплайн) - это одновременно занижает дисперсию пула, завышая DSR, и снижает эффективное число независимых попыток, занижая его - куда сместился баланс, строго не скажу и главное: DSR отвечает только на вопрос “не артефакт ли перебора это превосходство”, а не “повторится ли 2.47” - на второй по-прежнему отвечают стресс-тест с его −28% и живой трек
спасибо за вопрос - расчет останется в проекте постоянным инструментом
формальной поправки на множественность в протоколе нет, и вечно нетронутого холдаута тоже “честная вторая половина” за десятки экспериментов неизбежно изнашивается, защищаюсь от этого тремя вещами (ни одна из которых не является формальной поправкой, но вместе они работают иначе, чем одиночный порог):
принятие гипотезы - это не “Sharpe выше порога”, а конъюнкция независимых проверок: сдвиг AUC на каждом из пяти сидов, сравнение на равной рабочей точке, атрибуция по механизму (прибавка обязана прийти из бумаг и баров, где признак существует) и для крупных изменений - стресс на другой рыночной эпохе случайный “выстрел” из тридцати обычно проходит одну проверку и валится на атрибуции, два таких кейса разобраны прямо в статье вероятность случайно пройти все ворота на порядки ниже, чем случайно пробить один Sharpe-порог, хотя численно я ее, честно, не оценивал
из выживших шести большинство - не независимые джекпоты перебора признаков, а модификации самой процедуры обучения (ансамблирование, смешение двух схем разметки), подтверждённые на двух эпохах - у них множитель перебора существенно меньше тридцати пяти
финальный нетронутый холдаут у меня - время система с июля торгует виртуально в реальном времени, осенью выходит на реальные деньги с публичным треком будущее - единственный “не тронутый кусок данных” который физически нельзя переиспользовать, все остальное, включая собственну “честную половину” я и сам считаю частично изношенным
deflated Sharpe - не считал, посчитаю и опубликую частично его роль у меня выполняет стресс-тест (замороженная система на 2015–2020 теряет 28%), я сам делаю ставку не на цифру Sharpe, а на скорость адаптации (еженедельное переобучение) и автоматический выключатель в эталонную стратегию
разброс по сидам - интервал шума процедуры, а не интервал будущей доходности, и режимный риск в одной реализованной траектории больше сидового мое ожидание от live скромнее бэктеста насколько - покажет время публичного трека
спасибо, скорее всего будет ближе к концу августа, как дойдут руки, может чуть раньше(но это не точно)
Гонял 10 сидов против 5 (те же данные, честный протокол из статьи): на полном периоде десятка чуть глаже, но на свежей половине, которая у меня держит решения, прибавки нет - разница в пределах того же сидового шума, а ретрейн дорожает вдвое
так что вывод осторожный - не 5 лучше 10, а прибавка от удвоения не доказана, и я остался на 5
механика простая: усреднение убирает только декоррелированную часть ошибки (первые 3–5 моделей забирают основной выигрыш, дальше отдача падает быстро), А та часть ошибки, что общая у всех сидов (само переобучение на эпоху), не лечится никаким количеством сидов
по времени: у меня 5 сидов ~ 13 минут на 3050 TI, переобучение раз в неделю по расписанию, так что даже 20 сидов не было бы проблемой. тут узкое место не вычисления, а честность оценки