Есть на гитхабе открытая библиотека StockSharp/AlgoTrading — 3811 готовых торговых стратегий. Скользящие, пробои, осцилляторы, Вайкофф, каналы, «машинное обучение». Всё бесплатно, бери и торгуй.
Мне стало интересно, что из этого выживает на нашем рынке с реальными издержками. И вообще я хотел сделать портфель стратегий, но нужно протестировать все, чтобы понимать. Запустить стратегии как есть нельзя — все файлы обёртки над .NET-движком StockSharp, доступа к моим данным у них нет. Поэтому 53 стратегии я портировал на Python вручную, логика входа-выхода один в один, и прогнал по 28 инструментам Мосбиржи.
Условия| Параметр | Значение |
|---|---|
| Период | 01.01.2024 — 25.06.2026 (2.5 года) |
| Инструменты | 28: 8 акций, 8 фьючерсов на них, 6 товарных, 2 валютных, 4 индексных |
| Данные | 5-минутные бары, ресемпл в 1h/4h |
| Прогонов | 1592 связки «стратегия × инструмент» |
| Издержки, акции | 0.05% на ногу |
| Издержки, фьючерсы | биржевой сбор по группе контракта + 0.45 ₽ за контракт на ногу |
| Проскальзывание | 0 |
Два уточнения сразу, иначе цифры прочитаются неверно.
Период — падающий рынок. Buy&hold отрицателен почти везде: GAZP −38.5%, ROSN −48.3%, CHMF −59.7%, по фьючерсам с контанго до −62.9%. Трендовые системы с шортом на таком отрезке выглядят лучше, чем они есть на самом деле.
Проскальзывание я не моделировал. То есть все цифры ниже — оптимистичная граница. В реальности будет хуже, и сильнее всего пострадают самые активные системы.
Что показал прогонИз 1592 прогонов до метрик дошли 1497, остальные отсеялись по числу сделок.
| Показатель | Значение |
|---|---|
| Медианная чистая доходность связки | −24.5% |
| Доля прибыльных связок | 26.6% |
| Медианный profit factor | 0.86 |
| Медианный Sharpe | −0.89 |
| Медианная просадка | −34.7% |
Три четверти связок убыточны. Само по себе это не приговор библиотеке — так выглядит любой набор шаблонов, прогнанный без отбора по всему пулу с честными комиссиями.
Положительную медиану по 28 инструментам имеют 9 стратегий из 51:
| Стратегия | ТФ | Медиана дох. | Прибыльных связок | Бьют B&H | PF |
|---|---|---|---|---|---|
| 0006 Tripple MA | 5m | +36.0% | 70.6% | 73.5% | 1.26 |
| 0019 CCI Breakout | 1h | +24.5% | 64.3% | 78.6% | 1.13 |
| 1837 BW Wise Man 2 | 4h | +20.0% | 60.7% | 67.9% | 1.23 |
| 0432 MACD DMI | 1h | +16.1% | 57.1% | 75.0% | 1.15 |
| 0001 MA CrossOver | 5m | +14.7% | 55.9% | 64.7% | 1.11 |
| 0332 Donchian + Hurst | 4h | +10.2% | 60.7% | 71.4% | 1.18 |
| 0007 Keltner Breakout | 5m | +5.4% | 58.8% | 64.7% | 1.09 |
| 0002 N-Day Breakout | 5m | +4.1% | 58.8% | 64.7% | 1.13 |
| 0005 Donchian Channel | 5m | +4.1% | 52.9% | 70.6% | 1.13 |
Прежде чем разбирать лидеров, вот срез, который объясняет результат лучше любой классификации по индикаторам. Разбил все связки на пять групп по числу сделок:
| Группа | Медиана сделок | Медиана доходности | Прибыльных |
|---|---|---|---|
| Q1 (редкие) | 59 | −4.4% | 43.9% |
| Q2 | 108 | −8.2% | 36.6% |
| Q3 | 248 | −9.5% | 41.1% |
| Q4 | 797 | −55.4% | 8.4% |
| Q5 (частые) | 2737 | −88.7% | 3.0% |
Корреляция Спирмена между числом сделок и доходностью — минус 0.64. Связь почти монотонная: чем чаще система торгует, тем надёжнее она убыточна. Из 300 самых активных связок прибыльны девять штук.
Причина не в качестве сигналов, а в комиссии. Вот разрыв между валовой и чистой доходностью по таймфреймам:
| ТФ | Медиана валовой | Медиана чистой | Разрыв |
|---|---|---|---|
| 4h | +1.7% | −5.6% | 5.5 п.п. |
| 1h | −3.9% | −10.7% | 7.4 п.п. |
| 5m | −14.2% | −29.0% | 10.5 п.п. |
| 1m | −7.7% | −45.2% | 32.9 п.п. |
На минутках комиссия съедает 33 процентных пункта — больше, чем большинство систем вообще способны заработать. Для примера из живого прогона: 0019 CCI Breakout на SBER 1h даёт валовую доходность 48.1%, чистую — 1.8%.
Теперь главноеСмотрим на топ связок по доходности:
| Стратегия | Инстр. | Сделок | PF | Чистая дох. | CAGR | MaxDD | Sharpe |
|---|---|---|---|---|---|---|---|
| 0001 MA CrossOver | GAZP | 293 | 1.77 | +278.1% | 93.6% | −16.5% | 2.75 |
| 0005 Donchian Channel | SV | 57 | 3.39 | +270.5% | 70.5% | −13.5% | 3.67 |
| 0001 MA CrossOver | NVTK | 293 | 1.64 | +260.4% | 89.1% | −16.7% | 2.84 |
| 0006 Tripple MA | GAZP_FUT | 134 | 2.12 | +235.0% | 67.0% | −28.9% | 3.48 |
| 0068 CCI Divergence | NG | 63 | 2.07 | +234.1% | 64.0% | −34.1% | 4.20 |
| 0019 CCI Breakout | NVTK_FUT | 341 | 1.45 | +191.0% | 64.3% | −17.5% | 2.11 |
CAGR под 90%, Sharpe выше 2.7, просадка 16%. Портфель по такой таблице собирается за пять минут.
А теперь тест. Берём ряд и циклически сдвигаем его по приращениям: распределение доходностей сохраняется, волатильность и её кластеризация сохраняются, а связь сигнала с будущим движением разрушается. Прогоняем ту же стратегию 200 раз на таких перемешанных рядах. То, что она «зарабатывает» там, и есть шум.
Пересортируем ту же таблицу по перевесу факта над медианой шума:
| Связка | Факт | Шум | Перевес | p |
|---|---|---|---|---|
| 0068 CCI Divergence × NG | +234.1% | +2.5% | +231.6 п.п. | 0.010 |
| 0022 ADX DI × NG | +157.1% | −62.7% | +219.7 п.п. | 0.050 |
| 0019 CCI Breakout × NVTK_FUT | +191.0% | +39.6% | +151.3 п.п. | 0.000 |
| 0019 CCI Breakout × GAZP_FUT | +168.1% | +57.7% | +110.3 п.п. | 0.000 |
| 0432 MACD DMI × NVTK_FUT | +145.9% | +68.5% | +77.3 п.п. | 0.015 |
| 0006 Tripple MA × GAZP | +226.4% | +218.4% | +8.0 п.п. | 0.230 |
| 0001 MA CrossOver × GAZP | +278.1% | +275.6% | +2.5 п.п. | 0.415 |
| 0001 MA CrossOver × ROSN_FUT | +150.5% | +149.5% | +1.0 п.п. | 0.435 |
| 0005 Donchian × SV | +270.5% | +284.3% | −13.7 п.п. | 0.630 |
| 0001 MA CrossOver × SV | +138.7% | +152.8% | −14.1 п.п. | 0.900 |
Две таблицы отсортированы практически наоборот.
Самая доходная связка всего исследования эджа не имеет. MA CrossOver на Газпроме даёт +278%, перемешанный ряд — +276%. Перевес 2.5 процентных пункта, p = 0.42. Стратегия зарабатывала не тем, что угадывала направление, а тем, что просто находилась в рынке на инструменте с большими движениями. То же самое у неё на GAZP_FUT и ROSN_FUT.
Вторая по доходности связка хуже собственного шума. Donchian на серебре: +270%, Sharpe 3.67, просадка всего 13.5% — и проигрывает перемешанному ряду 13.7 п.п.
А лучший эдж сидит там, где доходность лишь пятая по величине.
Портфель, собранный по верхним строкам таблицы доходности, состоял бы ровно из MA CrossOver и Donchian — то есть из двух систем, статистически неотличимых от случайности. Отсюда практический вывод, ради которого всё и затевалось: сортировка стратегий по доходности как инструмент отбора бесполезна.
Почему я не взял в портфель даже прошедших тестДальше начинается самое неприятное.
Вся прибыль живёт в верхних 5% сделок. Убираем их и пересчитываем:
| Связка | Как есть | Без верхних 5% | Медиана сделки |
|---|---|---|---|
| 0001 MA CrossOver × GAZP | +278.1% | −29.2% | −0.48% |
| 0019 CCI Breakout × NVTK_FUT | +191.0% | −36.0% | −0.52% |
| 0019 CCI Breakout × GAZP_FUT | +168.1% | −45.9% | −0.38% |
| 0019 CCI Breakout × SV | +130.8% | −64.6% | −0.47% |
| 0432 MACD DMI × NVTK_FUT | +145.9% | −15.7% | −0.62% |
| 0006 Tripple MA × GAZP_FUT | +235.0% | +15.9% | −0.46% |
Семь связок из восьми проверенных уходят в минус, медиана сделки отрицательна у всех восьми.
Эдж не переносится на другие инструменты. Вот главный отрезвляющий срез:
| Стратегия | Связок | Медиана | Прибыльных | Лучшая | Вторая |
|---|---|---|---|---|---|
| 0019 CCI Breakout | 28 | +24.5% | 64.3% | +191.0% | +168.1% |
| 0432 MACD DMI | 28 | +16.1% | 57.1% | +145.9% | +130.4% |
| 0068 CCI Divergence | 34 | −11.1% | 38.2% | +234.1% | +56.3% |
| 0022 ADX DI | 28 | −86.5% | 7.1% | +157.1% | +35.7% |
ADX DI на газе дал +157% и второй по величине перевес над шумом во всём исследовании. На остальных 27 инструментах его медиана — минус 86.5%, прибыльны 7% связок. Одиночный выброс, а не закономерность.
CCI Divergence — та же история. Лучший перевес над шумом во всём прогоне, а медиана по пулу −11.1%. Разрыв между газом (+234%) и следующим инструментом (+56%) — вчетверо. На акциях стабильно убыточна.
Результат затухает. У обеих лучших связок 2026 год уже в минусе:
| Связка | 2024 | 2025 | 2026 |
|---|---|---|---|
| 0019 CCI Breakout × NVTK_FUT | +80.3% | +67.4% | −3.6% |
| 0019 CCI Breakout × GAZP_FUT | +83.7% | +56.1% | −6.5% |
| 0432 MACD DMI × GAZP_FUT | +58.3% | +39.2% | +4.5% |
2026 год неполный, до 25 июня, но направление видно.
ИтогДо статуса «заслуживает дальнейшей проверки» из 3811 стратегий дошли две — CCI Breakout и MACD DMI, обе на часовом таймфрейме. Не «работают». Именно заслуживают проверки: нужен более длинный ряд с полным циклом роста и падения, сужение круга проверяемых связок и пересчёт с проскальзыванием.
Дальше планирую разобраться с каждой стратегий и попробую оптимизировать параметры.
Полный отчет pdf опубликовал в телеграмм канале.
MR Trade | Трейдинг на MOEX — пишу про бэктестинг торговых стратегий на Мосбирже.
Если кому-то интересно, могу создать общий репозиторий на гитхабе для совместной работы.
Нужно УТП.
хорошая работа, но результаты выглядят пессимистичными… ((
там их, случайно, в формате ТС Лаба нет? чтобы не переделывать/не_переписывать всё для проверки?