research(5m): прогон 14 методов на 250 парах, сверка движка, издержки, графики

ЧТО: code/ (стенд и методы), results/ (сводки), charts/ (3 графика), reports/ (издержки, плацебо, по годам), docs/REJECTED.md.

ПОЧЕМУ: цель — найти кандидатов на 5м или доказать с цифрами их отсутствие.

КАК ПРОВЕРЕНО: движок сверен с прод-движком TON-бота 1:1; плацебо и рандом-контроль в отчёте; бутстрап по дням.
This commit is contained in:
2026-09-29 02:46:08 +03:00
parent 7b048534ff
commit c6671410dc
26 changed files with 5514 additions and 2 deletions
+49
View File
@@ -0,0 +1,49 @@
# Планка издержек на 5-минутных свечах
Посчитано скриптом `tools/costs.py` по 249 парам 36 328 179 барам 5м (данные Bybit).
## Что стоит торговля
- Комиссия тейкера: 0.055% на ногу, **0.11% на круг** (вход+выход);
- Комиссия мейкера: 0.02% на ногу, **0.04% на круг**;
- Проскальзывание: 1 б.п. на ногу для топ-30 по обороту, 3 б.п. для остальных пар;
- Funding учитывается только при удержании через 00/08/16 UTC (0,006% за 8ч на BTC — на фоне комиссии незначимо, но в движке учтено).
## Типичные движения (факт по данным)
- Средний модуль доходности за 5м: **25.81 б.п.** (медиана по парам 23.33 б.п.);
- Средний модуль доходности за 1 час: **90.1 б.п.**
Вывод: комиссия на круг (11 б.п.) сопоставима с типичным движением за 5 минут. Значит «скальпинг по одному 5м-бару» убыточен по построению, а осмысленны конструкции, где цель в 3–10 раз больше комиссии (сигнал на 5м, удержание десятки минут) либо мейкер-исполнение, либо кросс-секционные корзины.
## Порог безубыточной точности p* = (Стоп + Издержки) / (Цель + Стоп)
| Цель | Стоп | Тейкер (11 б.п.) | Мейкер (4 б.п.) |
|---|---|---|---|
| 0.1% | 0.1% | нужно выигрывать 105.0% | нужно выигрывать 70.0% |
| 0.2% | 0.2% | нужно выигрывать 77.5% | нужно выигрывать 60.0% |
| 0.3% | 0.2% | нужно выигрывать 62.0% | нужно выигрывать 48.0% |
| 0.5% | 0.3% | нужно выигрывать 51.2% | нужно выигрывать 42.5% |
| 1.0% | 0.5% | нужно выигрывать 40.7% | нужно выигрывать 36.0% |
| 1.0% | 1.0% | нужно выигрывать 55.5% | нужно выигрывать 52.0% |
| 2.0% | 1.0% | нужно выигрывать 37.0% | нужно выигрывать 34.7% |
## Топ-15 пар по среднему движению 5м
| Пара | баров | |r5м|, б.п. | σ 5м, б.п. | |r1ч|, б.п. |
|---|---|---|---|---|
| 4STOCKUSDT | 5596 | 98.97 | 156.51 | 345.70 |
| LONGXIAUSDT | 4181 | 83.76 | 138.74 | 294.47 |
| NIULAIUSDT | 9092 | 74.86 | 118.64 | 263.87 |
| MARSCOINUSDT | 7898 | 73.25 | 121.57 | 265.85 |
| BTWUSDT | 33271 | 71.21 | 126.09 | 245.68 |
| CASHCATUSDT | 15682 | 71.03 | 107.43 | 256.14 |
| PONSUSDT | 8201 | 62.01 | 89.07 | 215.86 |
| BEATUSDT | 89701 | 58.67 | 96.51 | 203.93 |
| LABUSDT | 96920 | 53.50 | 107.38 | 188.50 |
| STONKUSDT | 3036 | 52.80 | 75.32 | 243.38 |
| AKEUSDT | 104785 | 49.21 | 102.05 | 173.05 |
| RIVERUSDT | 98326 | 48.23 | 83.57 | 167.50 |
| HUSDT | 132627 | 46.78 | 89.22 | 160.55 |
| PIPPINUSDT | 178429 | 45.00 | 91.74 | 156.84 |
| CAPUSDT | 26421 | 44.47 | 78.81 | 154.40 |
+22
View File
@@ -0,0 +1,22 @@
# Плацебо- и рандом-контроль
Плацебо — правило, применённое к сигналу, сдвинутому вперёд на горизонт удержания.
Рандом — случайные входы той же частоты и направления. Если EV метода близко к плацебо,
значит «эдж» был движением рынка, а не сигналом.
| Метод | EV метода | плацебо | рандом | вердикт контроля |
|---|---|---|---|---|
| prod_mr_5m | -4.46 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
| clv_flow | -9.88 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
| pairs_btc_eth | -13.22 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
| intraday_momentum | -13.8 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
| xs_reversal_15m | -14.29 | -16.69 | -16.26 | метод не отличается от плацебо |
| xs_reversal_costaware | -14.29 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
| hour_xs_reversal | -14.7 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
| ou_ema_costaware | -14.74 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
| ou_ema_revert | -14.84 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
| lead_lag_btc | -15.64 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
| liquidity_sweep | -15.85 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
| vwap_revert | -16.42 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
| vol_breakout | -18.51 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
| xs_momentum_15m | -18.87 | 0.0 | 0.0 | контроль не проведён (не базовый метод) |
+85
View File
@@ -0,0 +1,85 @@
method,year,ev_bp,n,n_trades
clv_flow,2024,-12.194,25421,25421
clv_flow,2025,-7.451,114859,114859
clv_flow,2026,-11.756,116737,116737
clv_flow_maker,2024,-5.194,25421,25421
clv_flow_maker,2025,-0.451,114859,114859
clv_flow_maker,2026,-4.756,116737,116737
hour_xs_reversal,2024,-13.138,36800,36800
hour_xs_reversal,2025,-15.361,146000,146000
hour_xs_reversal,2026,-14.353,108400,108400
hour_xs_reversal_maker,2024,-6.138,36800,36800
hour_xs_reversal_maker,2025,-8.361,146000,146000
hour_xs_reversal_maker,2026,-7.353,108400,108400
intraday_momentum,2024,-3.978,11098,11098
intraday_momentum,2025,-21.422,56698,56698
intraday_momentum,2026,-8.227,57975,57975
intraday_momentum_maker,2024,3.022,11098,11098
intraday_momentum_maker,2025,-14.422,56698,56698
intraday_momentum_maker,2026,-1.227,57975,57975
lead_lag_btc,2024,-16.295,203946,203946
lead_lag_btc,2025,-15.415,1055623,1055623
lead_lag_btc,2026,-15.744,1051708,1051708
lead_lag_btc_maker,2024,-9.295,203946,203946
lead_lag_btc_maker,2025,-8.415,1055623,1055623
lead_lag_btc_maker,2026,-8.744,1051708,1051708
liquidity_sweep,2024,-16.179,109657,109657
liquidity_sweep,2025,-15.979,534572,534572
liquidity_sweep,2026,-15.651,521825,521825
liquidity_sweep_maker,2024,-9.179,109657,109657
liquidity_sweep_maker,2025,-8.979,534572,534572
liquidity_sweep_maker,2026,-8.651,521825,521825
ou_ema_costaware,2024,-17.433,93868,93868
ou_ema_costaware,2025,-15.616,477667,477667
ou_ema_costaware,2026,-13.327,475554,475554
ou_ema_costaware_maker,2024,-10.433,93868,93868
ou_ema_costaware_maker,2025,-8.616,477667,477667
ou_ema_costaware_maker,2026,-6.327,475554,475554
ou_ema_revert,2024,-17.399,97940,97940
ou_ema_revert,2025,-15.645,502849,502849
ou_ema_revert,2026,-13.588,523114,523114
ou_ema_revert_maker,2024,-10.399,97940,97940
ou_ema_revert_maker,2025,-8.645,502849,502849
ou_ema_revert_maker,2026,-6.588,523114,523114
pairs_btc_eth,2024,-15.364,242,242
pairs_btc_eth,2025,-14.429,990,990
pairs_btc_eth,2026,-10.802,712,712
pairs_btc_eth_maker,2024,-8.364,242,242
pairs_btc_eth_maker,2025,-7.429,990,990
pairs_btc_eth_maker,2026,-3.802,712,712
prod_mr_5m,2024,-4.717,10186,10186
prod_mr_5m,2025,-3.832,45902,45902
prod_mr_5m,2026,-5.004,49001,49001
prod_mr_5m_maker,2024,2.283,10186,10186
prod_mr_5m_maker,2025,3.168,45902,45902
prod_mr_5m_maker,2026,1.996,49001,49001
vol_breakout,2024,-12.294,67189,67189
vol_breakout,2025,-18.546,340933,340933
vol_breakout,2026,-19.739,330372,330372
vol_breakout_maker,2024,-5.294,67189,67189
vol_breakout_maker,2025,-11.546,340933,340933
vol_breakout_maker,2026,-12.739,330372,330372
vwap_revert,2024,-16.574,196980,196980
vwap_revert,2025,-16.542,1199981,1199981
vwap_revert,2026,-16.273,1258439,1258439
vwap_revert_maker,2024,-9.574,196980,196980
vwap_revert_maker,2025,-9.542,1199981,1199981
vwap_revert_maker,2026,-9.273,1258439,1258439
xs_momentum_15m,2024,-18.51,110400,110400
xs_momentum_15m,2025,-19.401,438000,438000
xs_momentum_15m,2026,-18.289,325100,325100
xs_momentum_15m_maker,2024,-11.51,110400,110400
xs_momentum_15m_maker,2025,-12.401,438000,438000
xs_momentum_15m_maker,2026,-11.289,325100,325100
xs_reversal_15m,2024,-14.27,110400,110400
xs_reversal_15m,2025,-13.727,438000,438000
xs_reversal_15m,2026,-15.06,325100,325100
xs_reversal_15m_maker,2024,-7.27,110400,110400
xs_reversal_15m_maker,2025,-6.727,438000,438000
xs_reversal_15m_maker,2026,-8.06,325100,325100
xs_reversal_costaware,2024,-14.277,110300,110300
xs_reversal_costaware,2025,-13.727,438000,438000
xs_reversal_costaware,2026,-15.06,325100,325100
xs_reversal_costaware_maker,2024,-7.277,110300,110300
xs_reversal_costaware_maker,2025,-6.727,438000,438000
xs_reversal_costaware_maker,2026,-8.06,325100,325100
1 method year ev_bp n n_trades
2 clv_flow 2024 -12.194 25421 25421
3 clv_flow 2025 -7.451 114859 114859
4 clv_flow 2026 -11.756 116737 116737
5 clv_flow_maker 2024 -5.194 25421 25421
6 clv_flow_maker 2025 -0.451 114859 114859
7 clv_flow_maker 2026 -4.756 116737 116737
8 hour_xs_reversal 2024 -13.138 36800 36800
9 hour_xs_reversal 2025 -15.361 146000 146000
10 hour_xs_reversal 2026 -14.353 108400 108400
11 hour_xs_reversal_maker 2024 -6.138 36800 36800
12 hour_xs_reversal_maker 2025 -8.361 146000 146000
13 hour_xs_reversal_maker 2026 -7.353 108400 108400
14 intraday_momentum 2024 -3.978 11098 11098
15 intraday_momentum 2025 -21.422 56698 56698
16 intraday_momentum 2026 -8.227 57975 57975
17 intraday_momentum_maker 2024 3.022 11098 11098
18 intraday_momentum_maker 2025 -14.422 56698 56698
19 intraday_momentum_maker 2026 -1.227 57975 57975
20 lead_lag_btc 2024 -16.295 203946 203946
21 lead_lag_btc 2025 -15.415 1055623 1055623
22 lead_lag_btc 2026 -15.744 1051708 1051708
23 lead_lag_btc_maker 2024 -9.295 203946 203946
24 lead_lag_btc_maker 2025 -8.415 1055623 1055623
25 lead_lag_btc_maker 2026 -8.744 1051708 1051708
26 liquidity_sweep 2024 -16.179 109657 109657
27 liquidity_sweep 2025 -15.979 534572 534572
28 liquidity_sweep 2026 -15.651 521825 521825
29 liquidity_sweep_maker 2024 -9.179 109657 109657
30 liquidity_sweep_maker 2025 -8.979 534572 534572
31 liquidity_sweep_maker 2026 -8.651 521825 521825
32 ou_ema_costaware 2024 -17.433 93868 93868
33 ou_ema_costaware 2025 -15.616 477667 477667
34 ou_ema_costaware 2026 -13.327 475554 475554
35 ou_ema_costaware_maker 2024 -10.433 93868 93868
36 ou_ema_costaware_maker 2025 -8.616 477667 477667
37 ou_ema_costaware_maker 2026 -6.327 475554 475554
38 ou_ema_revert 2024 -17.399 97940 97940
39 ou_ema_revert 2025 -15.645 502849 502849
40 ou_ema_revert 2026 -13.588 523114 523114
41 ou_ema_revert_maker 2024 -10.399 97940 97940
42 ou_ema_revert_maker 2025 -8.645 502849 502849
43 ou_ema_revert_maker 2026 -6.588 523114 523114
44 pairs_btc_eth 2024 -15.364 242 242
45 pairs_btc_eth 2025 -14.429 990 990
46 pairs_btc_eth 2026 -10.802 712 712
47 pairs_btc_eth_maker 2024 -8.364 242 242
48 pairs_btc_eth_maker 2025 -7.429 990 990
49 pairs_btc_eth_maker 2026 -3.802 712 712
50 prod_mr_5m 2024 -4.717 10186 10186
51 prod_mr_5m 2025 -3.832 45902 45902
52 prod_mr_5m 2026 -5.004 49001 49001
53 prod_mr_5m_maker 2024 2.283 10186 10186
54 prod_mr_5m_maker 2025 3.168 45902 45902
55 prod_mr_5m_maker 2026 1.996 49001 49001
56 vol_breakout 2024 -12.294 67189 67189
57 vol_breakout 2025 -18.546 340933 340933
58 vol_breakout 2026 -19.739 330372 330372
59 vol_breakout_maker 2024 -5.294 67189 67189
60 vol_breakout_maker 2025 -11.546 340933 340933
61 vol_breakout_maker 2026 -12.739 330372 330372
62 vwap_revert 2024 -16.574 196980 196980
63 vwap_revert 2025 -16.542 1199981 1199981
64 vwap_revert 2026 -16.273 1258439 1258439
65 vwap_revert_maker 2024 -9.574 196980 196980
66 vwap_revert_maker 2025 -9.542 1199981 1199981
67 vwap_revert_maker 2026 -9.273 1258439 1258439
68 xs_momentum_15m 2024 -18.51 110400 110400
69 xs_momentum_15m 2025 -19.401 438000 438000
70 xs_momentum_15m 2026 -18.289 325100 325100
71 xs_momentum_15m_maker 2024 -11.51 110400 110400
72 xs_momentum_15m_maker 2025 -12.401 438000 438000
73 xs_momentum_15m_maker 2026 -11.289 325100 325100
74 xs_reversal_15m 2024 -14.27 110400 110400
75 xs_reversal_15m 2025 -13.727 438000 438000
76 xs_reversal_15m 2026 -15.06 325100 325100
77 xs_reversal_15m_maker 2024 -7.27 110400 110400
78 xs_reversal_15m_maker 2025 -6.727 438000 438000
79 xs_reversal_15m_maker 2026 -8.06 325100 325100
80 xs_reversal_costaware 2024 -14.277 110300 110300
81 xs_reversal_costaware 2025 -13.727 438000 438000
82 xs_reversal_costaware 2026 -15.06 325100 325100
83 xs_reversal_costaware_maker 2024 -7.277 110300 110300
84 xs_reversal_costaware_maker 2025 -6.727 438000 438000
85 xs_reversal_costaware_maker 2026 -8.06 325100 325100
+4
View File
@@ -0,0 +1,4 @@
method,year,ev_bp,n
prod_mr_5m,2024,2.28,105089
prod_mr_5m,2025,3.17,105089
prod_mr_5m,2026,2.0,105089
1 method year ev_bp n
2 prod_mr_5m 2024 2.28 105089
3 prod_mr_5m 2025 3.17 105089
4 prod_mr_5m 2026 2.0 105089
+2059
View File
File diff suppressed because it is too large Load Diff
+53
View File
@@ -0,0 +1,53 @@
{
"pairs": {
"BTCUSDT": {
"prod_n": 107,
"stand_n": 107,
"prod_pf": 0.4799,
"stand_pf": 0.4799,
"prod_sum_pnl": -0.2231,
"stand_sum_pnl": -0.2231,
"bars_30m": 34602
},
"ETHUSDT": {
"prod_n": 105,
"stand_n": 105,
"prod_pf": 0.3737,
"stand_pf": 0.3737,
"prod_sum_pnl": -0.3143,
"stand_sum_pnl": -0.3143,
"bars_30m": 34770
},
"SOLUSDT": {
"prod_n": 82,
"stand_n": 82,
"prod_pf": 0.3604,
"stand_pf": 0.3604,
"prod_sum_pnl": -0.2581,
"stand_sum_pnl": -0.2581,
"bars_30m": 34937
},
"XRPUSDT": {
"prod_n": 114,
"stand_n": 114,
"prod_pf": 0.6517,
"stand_pf": 0.6517,
"prod_sum_pnl": -0.1706,
"stand_sum_pnl": -0.1706,
"bars_30m": 34937
},
"ZECUSDT": {
"prod_n": 107,
"stand_n": 107,
"prod_pf": 0.9739,
"stand_pf": 0.9739,
"prod_sum_pnl": -0.0139,
"stand_sum_pnl": -0.0139,
"bars_30m": 34937
}
},
"fee_rt": 0.0011,
"engine": "app.trading.mean_reversion.run_mr_backtest",
"stand": "tools/mr_engine.stand_mr_backtest",
"source": "30м из ресемпла 5м данных"
}
File diff suppressed because it is too large Load Diff