Бектести
Дані: ETHUSDT 1m, data.binance.vision. Старт 5 ботів × 100 USDT. Комісія 0,1 %, прослизання 0,05 %.
Запуск: GitHub Actions → backtest / walkforward.
Рік 2025-10 … 2026-09 (просто тримати ETH: −35,2 %)
| # | Стратегія / параметри | Результат | Угод | Win | PF (закриті) | Макс. DD | Примітка |
|---|---|---|---|---|---|---|---|
| 1 | legacy_v2, заводські (±0,3 %, вікно ±0,1 %) | −34,1 % | 4 | 100 % | ∞ | −64,6 % | 5/5 позицій застрягли |
| 2 | legacy_v2 + isSellOnAnyLevel | −32,2 % | 61 | 98,4 % | 2228 | −63,2 % | не стоп-лосс; тримав до 313 год |
| 3 | v3 (Біблія ред. 1: ATR 1h, стоп 3, вихід E1) | −9,2 % | 104 | 66 % | 0,42 | −10,5 % | kill switch на −10 % |
| 4 | те саме без kill switch | −66,4 % | 1821 | 66 % | 0,44 | −67,3 % | переваги немає |
Walk-forward №1 — рік, 18 варіантів (ATR 1h/4h), вікна 3+1 міс
Out-of-sample 9 міс: обраний +5,97 USDT, PF 0,99; базовий −363,78, PF 0,46. PF > 1,2 — не пройдено. In-sample усі 18 збиткові.
Walk-forward №2 — 3 роки 2023-10 … 2026-09, 37 варіантів (ATR 4h/1d), вікна 3+1 міс
Out-of-sample 33 міс: обраний −66,98 USDT, PF 0,92; базовий −1291, PF 0,47. PF > 1,2 — не пройдено. 4h: усі 18 збиткові (PF 0,79–0,91). 1d: усі 18 прибуткові (PF 2,1–2,7), але ≈ 45 угод; WF їх не обирав (< 10 угод у вікні навчання).
Контроль денного профілю — 3 роки 2023-10 … 2026-09 (просто тримати ETH: +60,8 %, просадка 69,5 %)
| Ризик на угоду | Результат | CAGR | Макс. DD | Sharpe | PF | Угод | Час у ринку |
|---|---|---|---|---|---|---|---|
| 0,5 % (за замовчуванням) | +5,34 % | 1,75 % | 2,43 % | 0,72 | 2,06 | 52 | 10,5 % |
| 1 % (+ max_open_risk 5 %) | +10,15 % | 3,27 % | 4,19 % | 0,73 | 1,98 | 52 | 10,5 % |
| 2 % (+ max_open_risk 10 %) | +11,13 % | 3,58 % | 4,95 % | 0,64 | 1,71 | 51 | 10,5 % |
Sharpe «просто тримати» за цей період: 0,55. Виходи (0,5 %): за часом 47, тейк 4, стоп 1. Механізм — «купити відскок після падіння ≥ 1 денний ATR і тримати 72 год». Фільтр ATR ≤ 4 % більшість часу забороняє входи. При ризику 2 % розмір упирається в бюджет бота.
Експеримент «комісії чи шум?» — 3 роки 2023-10 … 2026-09, денний профіль параметрів, kill switch вимкнено
| ATR | Комісія + прослизання | Результат | Угод | Win | PF | Макс. DD | Sharpe |
|---|---|---|---|---|---|---|---|
| 1h | 0,1 % + 0,05 % | −88,0 % | 2658 | 46,9 % | 0,57 | 88,6 % | −4,05 |
| 1h | 0 | −76,9 % | 4229 | 48,7 % | 0,78 | 79,5 % | −2,29 |
| 4h | 0,1 % + 0,05 % | −49,1 % | 1222 | 47,8 % | 0,80 | 61,1 % | −1,12 |
| 4h | 0 | −13,3 % | 1232 | 49,6 % | 0,96 | 45,7 % | −0,15 |
| 1d | 0,1 % + 0,05 % | +5,3 % | 52 | 57,7 % | 2,06 | 2,4 % | 0,72 |
| 1d | 0 | +6,5 % | 52 | 59,6 % | 2,41 | 2,3 % | 0,88 |
Висновок: навіть без комісій 1h і 4h збиткові (PF < 1) — причина в шумі, а не лише у витратах; комісії лише поглиблюють збиток. Лімітні ордери чи знижки на комісії цю логіку на коротких таймфреймах не врятують. Денна перевага від комісій майже не залежить.
Портфелі (2026-10-15) — див. docs/strategies.md
7 років: обережний +21 % (DD 7,7 %), збалансований +361 % (DD 50 %), лише режим +1203 % (DD 66 %), ETH +1831 % (DD 79 %). 3 роки: поточний +5,3 % (DD 2,1 %, Calmar 0,83 — найкращий), збалансований +23,7 % (DD 15 %), ETH +55 % (DD 68 %). B1 7 років: kill switch −10 % зупинив рукав у 2019–2020; без нього +41 %, DD 15 %, 409 угод, PF 1,29.
Walk-forward №3 (2026-10-15) — 7 років 2019-01 … 2026-09, сітка daily (32 варіанти), вікна 12 міс навчання → 3 міс перевірки
Out-of-sample 27 вікон (2020-01…2026-09): - обраний на навчанні: +61,4 USDT (+12,3 %), PF 1,23, 293 угоди, макс. місячна просадка 4,8 %; - базовий A (1d·stop2·E2·hold72·amax4): +44,0 USDT (+8,8 %), PF 2,38, 84 угоди, просадка 2,3 %. - Абсолютні умови етапу 1 (PF > 1,2, ≥ 100 угод, просадка < 15 %) — виконані на out-of-sample. - Проти базового — не пройдено: PF нижчий, просадка більша, краще лише в 13/27 вікон. - На навчанні майже завжди обирався amax15 (без фільтра волатильності) + hold168 — тобто варіант B. - Недолік сітки: варіанти anchor_h 24/72 ділили одні ознаки (кеш за atr_tf) — їхні результати однакові й нічого не доводять. Виправлено. Висновок: обидва — A (якість: PF 2,4, мало угод) і B (обсяг: PF 1,2–1,3, багато угод) — мають перевагу поза вибіркою; B не кращий за A за якістю, лише заробляє більше в абсолюті.
Макроподії FOMC + CPI (2026-10-15) — 7 років 2019-01 … 2026-09
Календар: 62 рішення FOMC + 91 публікація CPI (лише заплановані; позачергові ФРС 03.2020 не враховано — це був би look-ahead).
Подієве дослідження, вікно −24 … +24 год (контроль — 1938 звичайних вікон, > 72 год від подій):
| Вікна | n | Сер. рух | Сер. модуль руху | Std | Сер. падіння | 10-й перц. падіння | Падіння > 5 % |
|---|---|---|---|---|---|---|---|
| FOMC | 62 | +1,38 % | 4,84 % | 6,60 % | −3,89 % | −8,50 % | 31 % |
| CPI | 91 | +0,87 % | 4,54 % | 6,65 % | −4,37 % | −9,78 % | 30 % |
| звичайні дні | 1938 | +0,32 % | 3,90 % | 5,52 % | −4,01 % | −8,86 % | 27 % |
Навколо подій волатильність трохи вища (модуль руху 4,7 % проти 3,9 %), але падіння не глибші, а середній рух — навіть угору.
Бектест правил «без нових входів 24 год до і 2 год після» / «вийти в USDT перед подією»:
| Рукав | Без фільтра | З фільтром | Висновок |
|---|---|---|---|
| A (відскок) | +9,2 %, DD 2,1 %, Sharpe 0,58 | +10,0 %, DD 2,6 %, Sharpe 0,61 | різниця в межах шуму |
| B (відскок розширений) | +20,7 %, DD 7,7 %, Sharpe 0,56 | +22,9 %, DD 7,7 %, Sharpe 0,61 | +2 п.п. за 7 років, 5 угод менше — не доведено |
| B, 48 год до події | — | +19,9 %, DD 7,8 % | гірше |
| C (режим), ½ у USDT на подію | +1203 %, DD 65,9 % | +783 %, DD 66,1 % | гірше: дохід −7 п.п./рік, просадка та сама |
| C, ½ лише на FOMC | — | +989 %, DD 66,8 % | гірше |
| C, увесь рукав у USDT на подію | — | +363 %, DD 67,3 % | значно гірше |
Висновок: запланований макрокалендар не передбачає просадок ETH. Великі просадки — це тижні й місяці тренду вниз, а не години навколо FOMC/CPI. Вихід з позиції перед подією лише платить комісії й пропускає рух угору. Фільтр календаря відхилено (розділ 8: вмикається лише при доведеному покращенні). Календар лишається в коді як дані для ШІ-аналітика і для майбутніх перевірок. Цінність ШІ-новин можлива лише для незапланованих шоків (злами бірж, регуляторні заборони) — це перевіряє тіньовий аналітик (розділ 7.5 Біблії).
2026-10-15 · BTCUSDT проти ETHUSDT (ті самі стратегії, 2019-01 … 2026-09)
| Портфель | ETH: річна / макс. DD | BTC: річна / макс. DD |
|---|---|---|
| поточний (A) | 1,14 % / 2,1 % | 0,35 % / 6,8 % |
| обережний (B) | 2,45 % / 7,7 % | 0,44 % / 9,4 % |
| збалансований | 21,8 % / 50,0 % | 13,8 % / 38,3 % |
| агресивний | 28,6 % / 56,2 % | 19,0 % / 46,9 % |
| лише_режим (C) | 39,3 % / 65,9 % | 27,7 % / 56,5 % |
| просто тримати | 46,5 % / 79,3 % | 49,0 % / 76,6 % |
Відскок на BTC: PF 1,08 (A, B), 1,17 (B1) — переваги майже немає (ETH: A 1,91, B 1,32). Режим C на BTC: PF 2,26 (ETH 3,28). Висновок: параметри налаштовані під волатильність ETH; BTC як друга пара без окремого підбору параметрів дохід не збільшує. Рекомендація — не додавати поки що (рішення за Командиром).
2026-10-17 · Сітковий бот (spot grid), ETHUSDT 2019-01 … 2026-09
Модель: agent/backtest/grid.py (1m-свічки, без купівлі й продажу в одній хвилині, комісія 0,1 % / 0,075 %,
прослизання 0,02 %, реінвестування). 24 варіанти: крок 0,5–3 %, 10/20 рівнів, plain / stop / regime.
| Варіант (комісія 0,1 %) | Річна | Макс. DD | Calmar | Угод/день |
|---|---|---|---|---|
| plain, крок 3 %, 10 рівнів (найкращий) | 31,1 % | 65,1 % | 0,48 | 0,7 |
| plain, крок 1 %, 10 рівнів | 28,1 % | 73,7 % | 0,38 | 2,3 |
| plain, крок 0,5 %, 20 рівнів | 16,7 % | 74,7 % | 0,22 | 9,6 |
| stop, крок 3 %, 20 рівнів (найкращий stop) | 11,9 % | 45,5 % | 0,26 | 2,1 |
| regime, крок 2 %, 10 рівнів (найкращий regime) | 9,6 % | 53,1 % | 0,18 | 1,6 |
| для порівняння: лише_режим (C) | 39,3 % | 65,9 % | 0,60 | — |
| для порівняння: агресивний | 28,6 % | 56,2 % | 0,51 | — |
| для порівняння: збалансований | 21,8 % | 50,0 % | 0,44 | — |
Висновок: сітка не краща за наші портфелі за співвідношенням дохід/просадка. Дохід plain-сітки — це по суті утримання ETH з «мішком» на падінні (просадки 65–75 %). Дрібний крок (0,5 %) дає 5–10 угод/день, але комісії з'їдають дохід; стоп нижче сітки — збитки на пилці (до −95 %/рік). Рекомендація: не додавати (рішення Командира).
2026-10-21 · Стоп під мінімумом прострілу ліквідності (ідея «стоп-хантинг») — відхилено
ETHUSDT 2019-01…2026-09, комісія 0,1 %, прослизання 0,05 %. v3.stop_mode=sweep: стоп = мінімум прострілу − буфер×ATR
(зн0 / зн25 / зн50), sweep_size_atr — той самий стоп, але розмір як для ATR-стопу. Група --preset sweep.
| Рукав | Базовий (ATR-стоп) | зн0 | зн25 | зн50 | зн25фікс |
|---|---|---|---|---|---|
| B (5 ботів) — річна / PF | 2,45 % / 1,32 | −0,56 % / 0,77 | 0,71 % / 1,11 | 1,95 % / 1,19 | 1,34 % / 1,15 |
| B1 — річна / PF | −0,07 % / 0,96 | −0,11 % / 0,97 | −0,26 % / 0,91 | 0,05 % / 1,02 | −0,20 % / 0,92 |
| Bm — річна / PF / угод | 0,42 % / 1,06 / 28 | 1,80 % / 1,21 / 21 | 1,87 % / 1,22 / 25 | −0,07 % / — | 0,03 % / 1,00 / 32 |
Портфелі: збалансований 21,77 % → 21,74…21,80 %; live_міні 28,61 % → 28,56…28,75 % (різниця в межах шуму).
Висновок: стабільної переваги немає. На B (найбільше угод, 416) усі варіанти гірші за ATR-стоп. На Bm зн0/зн25 краще,
але це 21–25 угод за 7 років, а сусідні варіанти (зн50, фікс) гірші — ознака випадковості. Не вмикаємо; код лишається
вимкненим (stop_mode: atr).
2026-10-23 · Інші пари: SOL, BNB проти ETH (пресети base)
Комісія 0,1 %, прослизання 0,05 %; ті самі параметри, що для ETH. Річна / макс. просадка.
| Період | Пара | збалансований | лише_режим (C) | B1 (відскок) | просто тримати |
|---|---|---|---|---|---|
| 2021-01…2026-09 | ETH | 8,5 % / 24 % | 22,2 % / 42 % | −1,4 % (PF 0,71) | 25,5 % / 79 % |
| 2021-01…2026-09 | SOL | 38,7 % / 53 % | 67,0 % / 67 % | 3,0 % (PF 1,77) | 106 % / 96 % |
| 2021-01…2026-09 | BNB | 3,5 % / 27 % | 6,7 % / 64 % | 2,0 % (PF 1,52) | 69 % / 71 % |
| 2022-01…2026-09 | ETH | 8,9 % / 19 % | 18,0 % / 38 % | 4,0 % (PF 1,29) | −6,9 % / 74 % |
| 2022-01…2026-09 | SOL | 16,1 % / 38 % | 37,1 % / 49 % | −0,4 % (PF 0,97) | −8,4 % / 95 % |
Висновки: - BNB гірший за ETH — не додаємо. - SOL: відскок (B/B1) нестабільний — не переносити. Режимне утримання (C) на SOL краще за ETH і без манії 2021 (37 % проти 18 % річних, Sharpe 0,85 проти 0,62), але просадка більша (49 % проти 38 %), лише 21 угода, результат тримається на кількох великих ростах (2023–2024). Кандидат: «C на SOL» як частина рукава C у повній версії (від ~100 $). Перед вмиканням — walk-forward і рішення Командира; для live-міні (17 $) не підходить через мінімальний ордер 5 $.