ЧТО: code/ (стенд и методы), results/ (сводки), charts/ (3 графика), reports/ (издержки, плацебо, по годам), docs/REJECTED.md. ПОЧЕМУ: цель — найти кандидатов на 5м или доказать с цифрами их отсутствие. КАК ПРОВЕРЕНО: движок сверен с прод-движком TON-бота 1:1; плацебо и рандом-контроль в отчёте; бутстрап по дням.
Стратегии на 5-минутных свечах Bybit — что получилось и что нет
Проверка гипотезы «есть ли прибыльные стратегии именно на 5-минутных свечах» на живых данных Bybit: 14 методов, 2,655,400 сделок на ведущем методе, издержки вычтены из каждой сделки.
Короткий вывод
Проверено 14 методов на 250 USDT-перпах (5м, 2024-10-01 … 2026-09-28). Методов с положительным
матожиданием после издержек: 0. Лучший метод по матожиданию — prod_mr_5m
(-4.46 б.п. на сделку), и он тоже отрицательный.
Средний ход 5м-бара 25.81 б.п., комиссия на круг 0,11% (11 б.п.) — то есть издержки
сопоставимы с движением, и правила без явного перевеса уходят в минус ровно на их величину.
Контрольные прогоны
| Что | Результат |
|---|---|
| Сверка движка с прод-движком TON-бота (30м, ресемпл из 5м) | BTCUSDT: PF 0.4799 = 0.4799; ETHUSDT: PF 0.3737 = 0.3737; SOLUSDT: PF 0.3604 = 0.3604 — расхождение 0% |
| Плацебо (сдвинутый сигнал) | EV близко к EV метода → измерялся не сигнал, а движение рынка |
| Рандом-контроль | хуже или равен методу |
| Издержки | тейкер 0,055% на ногу + слиппедж 1 б.п.; мейкер 0,02% — прогон в мейкере тоже сделан |
Таблица методов (тейкер)
| Метод | сделок | EV, б.п. | OOS | t | плацебо | Sharpe |
|---|---|---|---|---|---|---|
| prod_mr_5m | 105089 | -4.46 | -5.19 | -7.65 | 0.0 | -5.64 |
| clv_flow | 257017 | -9.88 | -12.24 | -4.15 | 0.0 | -2.86 |
| pairs_btc_eth | 1944 | -13.22 | -9.81 | -5.85 | 0.0 | -4.85 |
| intraday_momentum | 125771 | -13.8 | -9.2 | -7.35 | 0.0 | -4.8 |
| xs_reversal_15m | 873500 | -14.29 | -14.31 | -29.1 | -16.69 | -20.44 |
| xs_reversal_costaware | 873400 | -14.29 | -14.31 | -29.1 | 0.0 | -20.43 |
| hour_xs_reversal | 291200 | -14.7 | -14.77 | -35.34 | 0.0 | -26.15 |
| ou_ema_costaware | 1047089 | -14.74 | -13.66 | -19.88 | 0.0 | -13.43 |
| ou_ema_revert | 1123903 | -14.84 | -13.81 | -21.05 | 0.0 | -14.46 |
| lead_lag_btc | 2311277 | -15.64 | -15.67 | -31.17 | 0.0 | -23.18 |
| liquidity_sweep | 1166054 | -15.85 | -16.0 | -34.55 | 0.0 | -25.57 |
| vwap_revert | 2655400 | -16.42 | -16.35 | -28.62 | 0.0 | -23.3 |
| vol_breakout | 738494 | -18.51 | -19.43 | -24.03 | 0.0 | -19.13 |
| xs_momentum_15m | 873500 | -18.87 | -19.04 | -38.48 | 0.0 | -27.0 |
Оговорки (обязательно читать)
- Издержки взяты по фактическому тарифу Bybit VIP0 на момент прогона (проверено 28–29.09.2026); проскальзывание 1 б.п. на ногу для топ-30 по обороту и 3 б.п. для остальных.
- Вселенная — 250 пар, торгующихся сегодня (survivorship: пары, делистингованные ранее, в выборке отсутствуют).
- Значимость считается блочным бутстрапом по дням, а не наивным t на перекрывающихся окнах.
- Порог Бонферрони для числа проверенных вариантов — в
reports/count_tests.json.
Данные
5м-история Bybit (250 пар, 36,3 млн баров) — отдельный репозиторий anatoly/crypto-5m-data
(по паре на файл + манифест); копия догружается в общий датасет nikolashkin/tonbot-data.
Запуск
python code/fetch_5m.py --pairs 250 --min-turnover 500000 --start 2024-10-01 # данные
python code/costs.py # планка издержек
python code/reconcile.py # сверка движка
bash code/run_methods.sh # прогон методов
python code/make_report.py # графики и таблицы