Михаил, спасибо за ссылку — как раз по теме. Прочитал.
Большинство аргументов из статьи я примерно разделяю. Нейросети на финансовых рядах действительно страдают от переобучения, нестационарности и иллюзии бэктеста. Именно поэтому я намеренно не использую нейросети — только классический ансамбль (RandomForest + XGBoost + LightGBM) с жёсткой OOS валидацией на данных которые модель не видела.
Главная честная проблема: 9-10 сделок за 6 месяцев — это статистически ничто. Михалев выше правильно написал про дисперсию. Я это признаю.
Цель сейчас — накопить 12+ месяцев реального трека с публичным логированием каждого предсказания. Тогда будет разговор на основе данных, а не бэктеста.
Идея правильная и близка к тому что я делаю, но с другим горизонтом. У меня по сути то же самое: признаки на текущем дне → предсказание движения через N дней. Разница в деталях.
Ваш подход интересен тем что вы явно отсекаете «середину распределения» как шум и торгуете только хвосты. Это по сути asymmetric threshold — торговать только при высокой уверенности. У меня что-то похожее есть через confidence threshold, но не так жёстко сформулировано.
55-60% при случайном уровне 50% — это небольшой, но реальный edge если он стабилен. Главный вопрос: держится ли он сейчас в 2026-м? Рынок 2018 года и рынок после 2022-го — очень разные режимы.
Два вопроса если не секрет: — Какие из 30 признаков оказались наиболее значимыми? Технические или объёмные? — Проверяли ли на данных после 2022-го?
Буду думать как адаптировать этот подход — однодневный горизонт с жёсткими порогами выглядит перспективнее чем то что я сейчас делаю на 5 днях.
Михаил, все три замечания по делу. Отвечу по каждому.
1. Мало сделок — огромная дисперсия. Абсолютно верно. 9-10 сделок за 6 месяцев — это статистически незначимо. Доверительный интервал для Sharpe при таком размере выборки огромный. Я должен был написать это явно в статье, а не прятать в оговорках. Считайте что эти цифры — первичное наблюдение, не доказательство.
2. Новости отыгрываются за 5 минут. Согласен — и именно поэтому я новостной сигнал выкинул. Sentiment из RSS дал нулевую feature importance на дневных данных. Это честный результат который я описал. На дневных данных работает не новость, а последствия новости — изменение объёмов, относительной силы, уровней. Это другой механизм.
3. Горизонт 5 дней — ошибка растёт. Верно что ошибка растёт с горизонтом. Но на коротком горизонте (1-2 дня) на дневных данных сигнал полностью тонет в шуме — это тоже проверял. 5 дней — компромисс между сигналом и шумом, не утверждение что прогноз точный.
Вы правы в главном: при 9-10 сделках говорить о Sharpe 5.72 как о доказанном результате — некорректно. Это наблюдение на малой выборке. Именно поэтому я веду публичный трек-рекорд — чтобы через 6-12 месяцев реальной торговли был статистически значимый результат.
Сейчас система работает три недели в продакшне. Смотреть на неё через год будет честнее.
Beach Bunny, справедливое замечание — вы правы что я не уточнил какой именно Sharpe публикую. Поясню.
Я использую упрощённый Sharpe без вычета безрисковой ставки — это стандартная практика в алготрейдинге и бэктестинге, где цель измерить стабильность стратегии, а не сравнение с депозитом. Такой Sharpe показывает соотношение доходности к волатильности торговых результатов.
Если применить вашу логику с безрисковой ставкой 14.5% (~0.057% в день):
T-Банк: +5.35% за 6 месяцев → ~+0.049% в день
Безрисковая ставка за тот же период: ~7.25%
Избыточная доходность: отрицательная
Вы правы — против депозита результат отрицательный. Это честно и я должен был указать это явно.
Почему тогда публикую такой Sharpe? Потому что задача системы — не побить депозит прямо сейчас, а найти статистически устойчивый паттерн. Высокий Sharpe без rf говорит что система торгует стабильно, без больших просадок. При снижении ставки ЦБ соотношение изменится.
Михаил, спасибо за ссылку — как раз по теме. Прочитал.
Большинство аргументов из статьи я примерно разделяю. Нейросети на финансовых рядах действительно страдают от переобучения, нестационарности и иллюзии бэктеста. Именно поэтому я намеренно не использую нейросети — только классический ансамбль (RandomForest + XGBoost + LightGBM) с жёсткой OOS валидацией на данных которые модель не видела.
Главная честная проблема: 9-10 сделок за 6 месяцев — это статистически ничто. Михалев выше правильно написал про дисперсию. Я это признаю.
Цель сейчас — накопить 12+ месяцев реального трека с публичным логированием каждого предсказания. Тогда будет разговор на основе данных, а не бэктеста.
svgr, спасибо — это по существу.
Идея правильная и близка к тому что я делаю, но с другим горизонтом. У меня по сути то же самое: признаки на текущем дне → предсказание движения через N дней. Разница в деталях.
Ваш подход интересен тем что вы явно отсекаете «середину распределения» как шум и торгуете только хвосты. Это по сути asymmetric threshold — торговать только при высокой уверенности. У меня что-то похожее есть через confidence threshold, но не так жёстко сформулировано.
55-60% при случайном уровне 50% — это небольшой, но реальный edge если он стабилен. Главный вопрос: держится ли он сейчас в 2026-м? Рынок 2018 года и рынок после 2022-го — очень разные режимы.
Два вопроса если не секрет: — Какие из 30 признаков оказались наиболее значимыми? Технические или объёмные? — Проверяли ли на данных после 2022-го?
Буду думать как адаптировать этот подход — однодневный горизонт с жёсткими порогами выглядит перспективнее чем то что я сейчас делаю на 5 днях.
Михаил, все три замечания по делу. Отвечу по каждому.
1. Мало сделок — огромная дисперсия. Абсолютно верно. 9-10 сделок за 6 месяцев — это статистически незначимо. Доверительный интервал для Sharpe при таком размере выборки огромный. Я должен был написать это явно в статье, а не прятать в оговорках. Считайте что эти цифры — первичное наблюдение, не доказательство.
2. Новости отыгрываются за 5 минут. Согласен — и именно поэтому я новостной сигнал выкинул. Sentiment из RSS дал нулевую feature importance на дневных данных. Это честный результат который я описал. На дневных данных работает не новость, а последствия новости — изменение объёмов, относительной силы, уровней. Это другой механизм.
3. Горизонт 5 дней — ошибка растёт. Верно что ошибка растёт с горизонтом. Но на коротком горизонте (1-2 дня) на дневных данных сигнал полностью тонет в шуме — это тоже проверял. 5 дней — компромисс между сигналом и шумом, не утверждение что прогноз точный.
Вы правы в главном: при 9-10 сделках говорить о Sharpe 5.72 как о доказанном результате — некорректно. Это наблюдение на малой выборке. Именно поэтому я веду публичный трек-рекорд — чтобы через 6-12 месяцев реальной торговли был статистически значимый результат.
Сейчас система работает три недели в продакшне. Смотреть на неё через год будет честнее.
Beach Bunny, справедливое замечание — вы правы что я не уточнил какой именно Sharpe публикую. Поясню.
Я использую упрощённый Sharpe без вычета безрисковой ставки — это стандартная практика в алготрейдинге и бэктестинге, где цель измерить стабильность стратегии, а не сравнение с депозитом. Такой Sharpe показывает соотношение доходности к волатильности торговых результатов.
Формула которую использую:
Если применить вашу логику с безрисковой ставкой 14.5% (~0.057% в день):
Вы правы — против депозита результат отрицательный. Это честно и я должен был указать это явно.
Почему тогда публикую такой Sharpe? Потому что задача системы — не побить депозит прямо сейчас, а найти статистически устойчивый паттерн. Высокий Sharpe без rf говорит что система торгует стабильно, без больших просадок. При снижении ставки ЦБ соотношение изменится.