Bias v predikčních modelech – skrytý nepřítel algoritmického obchodníka
Zamyšlení autora k nově publikovanému vědeckému článku
Když ve výzkumu algoritmického obchodování narazíte na strategii s vynikajícím Sharpe ratiem a stabilní výnosovou křivkou, instinktivně přemýšlíte: „Co tuhle strategii dělá lepší než ostatní?“ Standardní odpovědi se točí kolem indikátorů, feature engineeringu nebo zvoleného modelu. Existuje ale skrytý faktor, kterému se v retail světě nikdo nevěnuje – a často právě on rozhoduje o tom, jestli vaše čísla odráží skutečnou predikční výhodu, nebo jen maskovanou expozici na tržní trend.
Tento faktor se jmenuje systematický bias predikčních modelů. A je to jedno z hlavních témat naší výzkumné práce, kterou v Prisma Forex a v rámci doktorského studia rozvíjím.
Co je predikční bias
Predikční bias je tendence modelu systematicky preferovat jeden směr predikce nad druhým. V kontextu directional trading systémů se projevuje jako asymetrie v poměru long vs. short signálů.
Pokud váš model generuje za rok 700 long signálů a 300 short signálů, máte výrazný upward bias. Pokud má vyrovnaný poměr (např. 510 long vs. 490 short), je směrově neutrální.
V čem je problém: pokud tržní trend v testovacím období byl vzhůru, model s long biasem ukazuje vysoké výnosy – ale ne kvůli své predikční schopnosti, nýbrž kvůli tomu, že jednoduše obchodoval ve směru trendu. V budoucnu se tato „výhoda“ může obrátit proti vám.
Jak bias v modelech vzniká
Bias není známka nedbalosti vývojáře. Vzniká z několika strukturálních důvodů, které jsou ve standardních ML pipelinech těžko viditelné:
1. Asymetrie v trénovacích datech
Pokud trénovací období obsahovalo víc rostoucích dní než klesajících, model se „naučí“, že stoupání je častější. Když dostane nejistý signál, defaultně se přikloní k long predikci.
2. Loss funkce nepenalizující bias
Klasické loss funkce (cross-entropy, MSE) měří jen přesnost, nikoli směrovou symetrii. Pokud model dosáhne 60% přesnosti s 80% long predikcemi, klasická loss to vyhodnotí jako dobrý výsledek. Skutečnost je ale, že model je nebezpečně asymetrický.
3. Feature selection metody
Jedním z překvapivých zjištění naší výzkumné práce bylo, že klasické feature selection metody systematicky vybírají features korelované s jedním směrem. Algoritmus typu FSA (Feature Selection with Annealing) ve své původní podobě generoval v našich testech bias 0,544 (tj. 54,4 % UP, 45,6 % DOWN).
To není drobnost. Implikuje to strukturální problém v samotné metodě výběru proměnných, ne v konkrétním modelu.
4. Optimalizace na in-sample Sharpe
Pokud strategii laděte na maximalizaci Sharpe ratia v období se silným trendem, model „pochopí“, že trendové signály se vyplácejí. Tím se učí přesně to, co chcete eliminovat – závislost na konkrétním režimu.
Proč je bias nebezpečný
Bias maskuje skutečnou výhodu
Strategie s vysokým biasem může mít skvělé výsledky v období, které odpovídá jejímu směru, a katastrofální výsledky v opačném období. Vy ale máte k dispozici jen historická data. Pokud byla převážně v jednom režimu, strategie vám vypadá jako genius.
Bez explicitní bias diagnostiky neumíte odlišit predikční schopnost od trendové expozice.
Bias zhoršuje risk-adjusted výnos
Když strategie obchoduje 80 % long, váš účet je silně exponován na pokles trhu. Drawdowny v poklesech jsou hlubší, recovery time delší. Sharpe ratio v dlouhodobém horizontu klesá.
Bias rozbíjí portfolio diversifikaci
Pokud máte v portfoliu několik strategií s podobným biasem (např. všechny preferují long), všechny drawdownují současně při poklesu trhu. Místo diversifikace máte iluzi diversifikace.
Bias se kumuluje napříč pozicemi
Pokud robot obchoduje 10 měnových párů, každý s mírným biasem, vaše celková expozice na trend je významně větší, než by se zdálo z jednotlivých systémů.
Jak bias měřit
V naší práci publikované v MDPI Metrics jsme zavedli metriku BiasDev (bias deviation):
BiasDev = (N_long - N_short) / N_total
Kde:
N_longje počet long obchodů v evaluačním obdobíN_shortje počet short obchodůN_totalje celkový počet obchodů
Hodnota leží v intervalu [-1, +1]:
- 0 = perfektní směrová symetrie
- +1 = jen long obchody
- -1 = jen short obchody
Naše empirická doporučení:
| BiasDev | Hodnocení |
|---|---|
| < ±0,05 | Vynikající směrová neutralita |
| ±0,05 – ±0,15 | Akceptovatelné |
| ±0,15 – ±0,30 | Výstražný signál, audit potřebný |
| > ±0,30 | Strategie pravděpodobně trendová, ne predikční |
Jak bias korigovat: BFSA framework
Naše práce na Bias-Corrected Feature Selection with Annealing (BFSA) představuje konkrétní řešení tohoto problému. Klíčová myšlenka je integrovat bias penalty přímo do procesu výběru příznaků:
J(S) = Sharpe(S) - λ × |BiasDev(S)|
Kde:
Sje kandidátní podmnožina příznakůSharpe(S)je net Sharpe ratio strategie postavené na těchto příznacíchBiasDev(S)je bias deviation v evaluačním okněλ ≥ 0je penalizační koeficient
Tato formulace je strukturálně odlišná od standardních přístupů. Bias není testován až po dokončení modelu (kdy už je pozdě), ale aktivně řízen v průběhu výběru proměnných. Algoritmus pak nevybere features, které generují asymetrické predikce, i kdyby byly v krátkém horizontu zdánlivě výnosnější.
V našich empirických testech (publikovaných v MDPI Metrics na 14 likvidních FX párech) BFSA dosáhl:
- Snížení bias z 0,544 na 0,501 (téměř dokonalá symetrie)
- Zachování predikční přesnosti (F1 score nepokleslo)
- 57% zlepšení Sharpe ratia v risk-adjusted výnosech
- Portfolio Sharpe přes 2 napříč všemi obchodovanými páry
To není teoretické zlepšení. Je to konkrétní obchodní výhoda.
Praktický postup pro vaše vlastní systémy
Pokud používáte automatický obchodní systém, doporučujeme tento postup pro audit biasu:
Krok 1: Spočítejte BiasDev historických obchodů
Vezměte všechny obchody vašeho systému za poslední rok. Spočítejte:
N_long= počet long obchodůN_short= počet short obchodůBiasDev = (N_long - N_short) / (N_long + N_short)
Krok 2: Vyhodnoťte výsledek
Pokud je BiasDev v zóně rizika (větší než ±0,15), pokračujte v auditu.
Krok 3: Validujte v různých režimech
Spustte strategii na historických datech z různých tržních režimů:
- Bull market (např. 2020–2021)
- Bear market (např. 2008, 2022)
- Sideways market (např. 2015)
Pokud strategie dramaticky selhává v opačném režimu, máte trendovou závislost, ne predikční schopnost.
Krok 4: Aplikujte bias korekci
Pokud váš systém neposkytuje vestavěnou bias correction, můžete experimentovat s:
- Re-weighting trénovacích dat směrem k vyvážené distribuci.
- Class-balanced loss funkcí s penalty za asymetrii.
- Post-processing kalibrací – posuv rozhodovacího prahu tak, aby výsledný směrový poměr byl symetrický.
- Bias-aware feature selection (jako BFSA).
Krok 5: Re-validujte
Po aplikaci korekce opět spustte na všech tržních režimech. Korigovaný systém by měl mít stabilnější výkon napříč režimy, nikoli dramaticky zlepšený výnos v jednom z nich.
Časté omyly o biasu
Omyl 1: „Trh stoupá, takže long bias je v pořádku“
Nikoliv. Trh historicky stoupá zhruba 55 % dní – ne 80 %. Pokud váš model predikuje 80 % long, má bias, který nezachycuje skutečné distribuce výnosů.
Omyl 2: „Můj Sharpe je vysoký, takže bias nevadí“
Nesouhlasím. Vysoký Sharpe v období příznivém pro váš směr může být úplně jiný v období opačném. Bias = skryté riziko.
Omyl 3: „Long bias je rozumný, krátké pozice jsou rizikové“
Toto je psychologická chyba. Statisticky není short rizikovější než long. Riziko vychází z velikosti pozice a stop-lossu, ne ze směru.
Omyl 4: „Bias je akademický koncept, v praxi nezáleží“
Naše empirické výsledky ukazují opak. 57% zlepšení Sharpe ratia dosažené pouze bias korekcí je velmi praktický výsledek.
Bias v kontextu širšího výzkumu
Naše práce na BFSA je součástí širšího hnutí směrem k fairness-aware machine learning. V sociálních aplikacích (úvěrové rozhodování, najímání, prediktivní policejní práce) je fairness etickým imperativem. V tradingu je to ekonomický imperativ – neutralita rozhodování zlepšuje robustnost a stabilitu.
Tento paralelizmus mezi ML fairness a finančním tradingem je oblastí, která je v literatuře zatím podceněná. V našem doktorském výzkumu na VŠFS pod vedením doc. Lanského tento most aktivně rozvíjíme.
Závěrem
Bias v predikčních modelech je neviditelný protihráč každého algoritmického obchodníka. Není to chyba, kterou byste museli udělat – je to strukturální vlastnost klasických ML přístupů, kterou musíte aktivně řešit.
Pokud váš automatický obchodní systém neměří a nekoriguje bias, máte v účtu skrytou expozici, o které nevíte. V příznivém režimu to vypadá jako predikční genius. V opačném režimu je to bolestivé probuzení.
Naše doporučení v Prisma Forex je jasné:
- Měřte bias. Vždy. U každého systému.
- Pokud detekujete bias, korigujte ho. Existují metody, které fungují.
- Validujte napříč režimy. Tržní směr není konstanta.
- Vyhodnocujte ekonomicky, ne jen statisticky. Sharpe, drawdown, recovery time – ne jen F1.
Skrytý nepřítel nezůstane skrytý navždy. Jediná otázka je, kdy ho objevíte – při auditu vlastního systému, nebo až při bolestivém drawdownu na živém účtu.
A v algoritmickém obchodování platí jedno staré pravidlo: co umíte měřit, to umíte řídit. Bias toho není výjimkou.
Pokud vás téma zajímá hlouběji, podívejte se na naše publikace v Acta Informatica Pragensia, MDPI Metrics a sborníku VŠFS. Nebo mě kontaktujte na LinkedIn.
