Zpět na blog

Trading bot v praxi: overfitting, risk management a co backtest neřekne

prvním díle jsem popsal, jak poznat, jestli se vaše strategie dá automatizovat, a jak se v 5 fázích dostat od myšlenky k běžícímu botovi. Teď přichází těžší část. Bot běží, backtest vypadal skvěle a na lince jsou reálné peníze. Tady je, co se pokazí, jak se chránit a jaké nástroje použít.

Hlavní závěry:

  • Backtest vždy nadhodnocuje výsledky. Počítejte s degradací 30–50 % oproti reálu (slippage, spread, execution quality)
  • Největší zabiják je overfitting: strategie s 15+ parametry na historických datech téměř jistě selže v reálu
  • Kill switch a drawdown limity jsou povinné. Bez nich riskujete celý účet
  • Žádná strategie nefunguje věčně. Pravidelný monitoring a re-optimalizace každých 3–6 měsíců

Kde automatizace selhává: proč backtest vždy lže

Backtest předpokládá perfektní plnění za ideální ceny s perfektním timingem. Realita je jiná.

Overfitting: jak se vám vkrade do strategie

Strategie s 15 optimalizovanými parametry. V backtestu na 2019–2022 vypadá skvěle. Forward test na 2023? Výrazný propad. Strategie si zapamatovala specifické vzory z období vysoké volatility (COVID, post-COVID recovery), které se neopakovaly. Čím víc parametrů, tím víc se strategie „naučí" šum místo skutečných vzorů.

Varovné signály overfittingu:

  • Profit factor nad 3,0 v backtestu, příliš dobré na to, aby to bylo pravda
  • Strategie funguje jen na jednom páru nebo jednom konkrétním období
  • Výsledky se dramaticky mění při malé změně parametru (17-period EMA funguje, ale 16 a 18 ne)
  • Potřebujete více než 5–6 pravidel pro entry

Execution reality vs. backtest

  • Slippage: 0,1–0,5 pipu v likvidních trzích, 1–5+ pipů při ztrátě likvidity
  • Spread variabilita: backtest typicky počítá s fixním spreadem 1,0. V praxi: 0,1–8,0+ při news eventech
  • Broker execution model: ECN vs. market maker zásadně ovlivňuje kvalitu plnění
  • Latence: bot na domácím PC s Wi-Fi vs. VPS v datovém centru brokera (50ms vs 500ms+ se sčítá rychleji, než čekáte)

Tržní události, které backtest nezachytí

Většina backtestů nezohledňuje dopady high-impact news eventů. Řešení: napojení na ekonomický kalendář, aby bot věděl, kdy sedět na rukách.

Pre/post-news okna (30–60 minut před, 15–30 minut po high-impact eventech), smart filtrování podle měnového páru (NFP ovlivní USD páry, ne AUD/NZD) a volatility-based filtry (ATR nad prahem nebo spread nad Y = neobchodovat).

Dalšími slepými místy jsou low liquidity sessions (asijská session pro EUR/USD, rollover periody) a survivor bias v historických datech.

Příklady selhání z praxe: EA s chybou v lot size (extra nula = 10× větší pozice = margin call za hodinu). Broker přešel z fixního na variabilní spread, a strategie optimalizovaná na fixní spread přestala být profitabilní. Knight Capital ztratil 440 milionů dolarů za 45 minut kvůli chybě v deploy procesu, extrémní příklad toho, co se stane bez kill switche.

Risk management: dočasná ztráta vs. vyhozený účet

Position sizing:

  • Fixní procento rizika (1–2 % účtu riskovaných na obchod), nejjednodušší a nejčastější
  • Volatility-adjusted (ATR-based): pozice se automaticky zmenší ve volatilních trzích. Lepší pro strategie obchodující více instrumentů
  • Kelly Criterion existuje jako teoretický koncept pro pokročilé. V praxi většina traderů skončí u fixního procenta nebo ATR-based sizingu

Ochranné mechanismy (povinné):

  • Max drawdown: 15–20 % účtu → bot přestane obchodovat, vyžaduje manuální review
  • Denní max loss: 3–5 % → žádné nové pozice do dalšího dne
  • Kill switch: X po sobě jdoucích ztrát (typicky 5–8) → pauza a diagnostika
  • Korelační guard: maximální expozice do jedné měny/sektoru. Long EURUSD a long GBPUSD je v podstatě jeden obchod

„Nuclear option" protokol: při systémovém selhání (ztráta připojení, neočekávaná volatilita): zavřít všechny pozice za market, zastavit bota, zalogovat stav, poslat notifikaci. Manuální restart až po kontrole.

Nástroje a platformy: co použít v ČR

Platforma Jazyk Vhodné pro Poznámka ČR
MT4/MT5 MQL4/MQL5 Forex/CFD, začátečníci v algo Většina CZ brokerů, největší komunita
cTrader C# Forex/CFD, moderní alternativa MT5 Purple Trading a další CZ brokeři
TradingView Pine Script Screening, vizuální vývoj strategií Bez nativního autotradu (potřeba bridge)
Python Python Crypto, vlastní infra, ML strategie Vyžaduje programátorské znalosti
NinjaTrader C# Futures (CME), pokročilí Méně rozšířené v ČR
StrategyQuant X No-code Generování + testování strategií Pozor na overfitting!

Infrastruktura a provozní náklady: VPS s nízkou latencí k brokeru (10–50 USD/měsíc), data feed 0–200 USD dle trhu. Minimální kapitál pro forex s micro loty: realisticky 2 000–5 000 USD, aby position sizing dával smysl.

ESMA leverage limity (30:1 major, 20:1 minor páry) ovlivňují position sizing, bot s tím musí počítat. Vyšší frekvence obchodů znamená i složitější daňové přiznání.

Po nasazení: monitoring a údržba

Nasazení bota na live účet je teprve začátek skutečné práce (a tady většina lidí přestane dávat pozor). Žádná strategie nefunguje věčně.

  • Týdenní review: equity curve vs. expected drawdown z backtestu
  • Rolling metriky: sledovat win rate, profit factor a průměrný obchod za posledních 50–100 obchodů, porovnávat s backtestem
  • Degradace strategie: pokud rolling Sharpe klesne pod 50 % backtestového → re-optimalizace nebo odstavení
  • Regime detection: trending vs. ranging trh. Buď dva boty na různé režimy, nebo filtr (ADX, volatilita)
  • Update cyklus: re-optimalizace parametrů každých 3–6 měsíců na čerstvých datech (walk-forward princip)

Past „nastavím a zapomenu": bot vyžaduje pravidelný monitoring, údržbu a úpravy. Strategie, která v backtestu vrací 40 % ročně, tiše krvácí směrem k breakevenu za 6 měsíců, protože se změnil volatilní režim a spreadové podmínky.

Bez monitoringu si toho všimnete, až když je drawdown výrazný.

Chci zautomatizovat svou strategii