Strojové učení mi zachránilo zadek, když statická pravidla selhala
Tady je to, co vám nikdo neřekne o algoritmickém tradingu: nejlepší strategie na světě se stane bezcennou, když se změní tržní režim. Naučil jsem se to draze v únoru 2018, když můj systém mean reversion — ziskový po 3 roky v řadě — během 8 dní při explozi VIXu ztratil 23 %.
V Two Sigma jsme říkali: "Trhy mají paměť, ale jsou také schizofrenní." Poté, co jsem odešel obchodovat vlastní kapitál, strávil jsem 18 měsíců budováním toho, co se stalo mým frameworkem pro detekci režimů. Ne proto, že bych chtěl — ale protože jsem musel.
Tradiční přístup? Natvrdo naprogramovat různé strategie pro různé tržní podmínky. Problém? Než si uvědomíte, že se režim změnil, váš P&L už krvácí. Skutečná detekce režimu probíhá před pohybem, ne po něm.

Skrytý Markovův model, který všechno změnil
Březen 2020. Zatímco všichni diskutovali, zda je COVID "jen chřipka", můj model detekce režimu udělal něco zajímavého — přepnul z režimu "trendující" do "krizového" 21. února, celých 10 dní před skutečným krachem. Ne proto, že by předpověděl pandemii, ale protože tržní mikrostruktura už křičela.
Zde je zjednodušená verze toho, co zachránilo mé portfolio:
def detect_regime(features):
# Features: volatility ratios, correlation matrices, volume patterns
regime_probabilities = hmm_model.predict_proba(features)
if regime_probabilities['crisis'] > 0.7:
return 'defensive'
elif regime_probabilities['trending'] > 0.6:
return 'momentum'
else:
return 'mean_reversion'
Kouzlo není v modelu — je ve features. Většina detekcí režimu selhává, protože lidé krmí model špatnými vstupy. Klouzavé průměry? K ničemu. RSI? Ještě horší. Potřebujete features, které zachycují tržní mikrostrukturu:
- Poměry realizované/implikované volatility napříč více časovými rámci
- Mezitřídní korelační matice (když se dluhopisy a akcie pohybují společně, režimy se mění)
- Perzistence nerovnováhy toku objednávek (jak dlouho trvá směrový tlak)
- Intradenní shlukování volatility (strach se objeví v 15minutových svíčkách dříve než v denních)
Můj současný model používá 47 features, ale tyto čtyři představují 71 % přesnosti klasifikace režimu.

Tři režimové stavy, na kterých skutečně záleží
Zapomeňte na akademické články mluvící o 7 různých tržních režimech. Po zpracování 8 let tickových dat napříč futures, forexem a kryptem, pouze tři režimy skutečně ovlivňují váš P&L:
1. Momentum režim (38 % tržního času)
Charakterizován trvalými směrovými pohyby s pullbacky pod 38,2 % Fibonacciho. Korelace zůstávají pozitivní, volatilita se postupně rozšiřuje. Toto je doba, kdy trend following tiskne peníze. Moje momentum algoritmy zde běží na plné velikosti pozice.
2. Mean Reversion režim (49 % tržního času)
Základní kámen pro většinu algo obchodníků. Volatilita se stahuje, range drží, korelace mean-revertují. Ale je tu háček — tento režim má dva podstavy, které nazývám "zdravé sekání" a "stlačená pružina". Ten druhý předchází prudkým pohybům.
3. Krizový režim (13 % tržního času)
Všechny korelace jdou na 1 nebo -1. Volatilita exploduje. Likvidita mizí. Tradiční strategie nejen zaostávají — implodují. Během krizových režimů snižuji velikosti pozic o 75 % a přecházím pouze na volatilní arbitráž.
Klíčový poznatek? Režimy se shlukují. Krize následuje po kompresi v 73 % případů. Momentum následuje po krizi v 67 % případů. Tato posloupnost vám dává výhodu.
Budování vlastního systému detekce režimu
Ušetřím vám 6 měsíců pokusů a omylů. Zde je framework, který skutečně funguje v produkci:
class RegimeDetector:
def __init__(self, lookback=252, retrain_frequency=30):
self.features = ['vol_ratio', 'correlation_eigenvalue',
'flow_persistence', 'intraday_clustering']
self.model = HiddenMarkovModel(n_states=3)
self.scaler = RobustScaler() # Lépe zvládá odlehlé hodnoty
def calculate_features(self, data):
# Tady se děje kouzlo
features = {}
# Volatilní režim
features['vol_ratio'] = data['realized_vol'] / data['implied_vol']
# Korelační struktura
corr_matrix = calculate_rolling_correlation(data, window=21)
features['correlation_eigenvalue'] = np.max(np.linalg.eigvals(corr_matrix))
# Mikrostruktura
features['flow_persistence'] = calculate_order_flow_autocorrelation(data)
return self.scaler.transform(features)
Kritické části, které většina tutoriálů vynechává:
- Použijte RobustScaler, ne StandardScaler. Tržní data mají tlusté ocasy, které lámou standardní normalizaci.
- Retrénujte měsíčně, ne denně. Modely režimů jsou citlivé na přeučení na šumu.
- Začněte maximálně se 3 stavy. Více stavů = více způsobů, jak se oklamat výkonem na in-sample datech.

Past přeučení, která zabíjí většinu ML traderů
Tady naštvu ML evangelisty: většina strojového učení v tradingu je důmyslné prokládání křivek. Postavil jsem modely s 93% přesností na in-sample datech, které v produkci ztrácely peníze. Proč? Naučily se šum, ne signál.
Můj první model detekce režimu měl 200+ features a používal komplexní ensemble neuronových sítí. Dokázal "předpovědět" krizi 2008 dokonale. V backtestingu. V živém tradingu? Přepínal mezi režimy každý druhý den, generoval více transakčních nákladů než alfa.
Řešením není méně ML — je to chytřejší ML:
- Feature engineering > složitost modelu. Jednoduchý HMM se skvělými features porazí neuronovou síť s nekvalitními vstupy.
- Walk-forward validace je nevyjednávatelná. Trénujte na 2019-2020, validujte na 2021, testujte na 2022. Pokud se nezobecní napříč různými tržními cykly, je to k ničemu.
- Stabilita režimu je důležitější než přesnost. Lepší detekovat režimy pozdě, ale zůstat v nich, než přepínat při každém výkyvu volatility.
Můj současný model obětuje 20 % teoretické přesnosti pro 80 % větší stabilitu. Tento kompromis tiskne peníze.
Výsledky živého tradingu: Dobré, špatné a ošklivé
Pojďme mluvit o reálných číslech z mých režimově adaptivních strategií za posledních 18 měsíců:
Dobré: Během říjnového výkyvu volatility Treasury v roce 2024 přepnul detektor režimu do krizového módu o 2 dny dříve. Výsledek? +8,7 %, zatímco buy-and-hold ztratil 12 %.
Špatné: Falešné signály během letní "sekací zóny" 2024 způsobily 7 zbytečných přepnutí režimu. Každé přepnutí stojí zhruba 0,3 % na transakčních nákladech a skluzu. To je -2,1 % mrtvé váhy.
Ošklivé: Model zcela minul lednový bleskový krach krypta v roce 2025. Proč? Mikrostruktura krypta se liší od tradičních trhů a mé features byly kalibrovány na futures datech. Ztratil 4,2 % před manuálním převzetím. Poučení — detekce režimu není univerzální napříč třídami aktiv.
Celková výkonnost: +31,4 % oproti +19,2 % pro statické strategie. Ale skutečná hodnota není v extra výnosech — je v lepším spánku s vědomím, že se mé algo přizpůsobí, když trhy zešílí.
Integrace s reálnými obchodními systémy
Teorie je hezká. Implementace platí účty. Zde je návod, jak se detekce režimu integruje se skutečnou obchodní infrastrukturou:
# Vrstva řízení rizika
position_size = base_size * regime_risk_multiplier[current_regime]
if current_regime == 'momentum':
active_strategies = ['trend_following', 'breakout']
disable_strategies(['mean_reversion', 'arbitrage'])
elif current_regime == 'mean_reversion':
active_strategies = ['range_trading', 'pairs']
disable_strategies(['trend_following'])
else: # crisis
active_strategies = ['volatility_arb']
reduce_all_positions(0.25)
Kritické detaily implementace:
- Přechody režimů potřebují buffery. Nepřepínejte strategie při prvním signálu — vyžadujte 2-3 po sobě jdoucí období potvrzení.
- Velikost pozice se upravuje před změnou strategie. Nejprve snižte riziko, otázky pokládejte později.
- Vždy udržujte "režimově neutrální" zajištění. Moje je dlouhá volatilita během nejistoty.
Pro tradery používající indikátory FibAlgo, vícečasové rámcové signály dobře doplňují detekci režimu — pomáhají potvrdit, kdy se kratší časové rámce začínají sladit s posuny režimu dříve, než to denní grafy doženou.

Běžné způsoby selhání a jak se jim vyhnout
Ušetřím vás chyb, které mě stály šest čísel:
Způsob selhání 1: Únik feature
Použití implikované volatility k detekci volatilních režimů se zdá chytré, dokud si neuvědomíte, že IV již zahrnuje očekávání režimu. Předpovídáte minulost. Držte se realizovaných metrik a mikrostruktury.
Způsob selhání 2: Cukání při přechodu režimu
Trhy nepřepínají režimy čistě. Vždy existuje chaotické přechodové období. Moje řešení? "Přechodový stav", který udržuje pozice minimální, dokud se nový režim nestabilizuje.
Způsob selhání 3: Kalibrace specifická pro aktivum
Detektor režimu natrénovaný na S&P futures selže spektakulárně na forexu. Každá třída aktiv má jedinečnou mikrostrukturu. Postavte samostatné modely nebo používejte transfer learning opatrně.
Způsob selhání 4: Ignorování makro událostí
Žádný ML model nepředpověděl Brexit nebo odvázání švýcarského franku. Detekce režimu vám pomáhá reagovat rychleji, ne předpovídat černé labutě. Vždy udržujte jističe pro "nemožné" události.
Budoucnost adaptivního tradingu
Po 8 letech budování a bourání systémů detekce režimu je můj kontrariánský názor: budoucnost není ve složitějších modelech — je v jednodušších modelech, které se přizpůsobují rychleji.
Trhy se stávají efektivnějšími na vysokofrekvenční úrovni, ale více závislými na režimu na denní/týdenní úrovni. Zásahy centrálních bank, algoritmické stádovství, dominance pasivních toků — to vytváří odlišné režimy, které jednoduché adaptivní systémy mohou využívat.
Můj další projekt? Kombinace detekce režimu s analýzou váženou likviditou pro predikci přechodů režimu dříve, než se plně projeví. Předběžné výsledky ukazují náskok 4-6 hodin u hlavních posunů.
Výhoda v roce 2026 není v tom mít nejlepší model — je v tom mít model, který přizná, když se mýlí, a přizpůsobí se. Statické strategie jsou mrtvé. Pokud neumíte naprogramovat adaptivní chování, obchodujete s včerejšími nástroji na zítřejších trzích.
Vaše další kroky
Začněte jednoduše. Zapomeňte na neuronové sítě a zaměřte se na základy režimů:
- Spočítejte klouzavý 20denní poměr realizované/implicitní volatility pro váš hlavní obchodní nástroj
- Vyznačte přechody režimů, když poměr překročí svůj 90denní klouzavý průměr
- Otestujte zpětně, jak vaše současná strategie funguje v každém režimu
- Zaveďte úpravy velikosti pozic na základě režimu (zatím nezměny strategie)
- Teprve až toto funguje, přidejte sofistikovanější funkce a modely
Pamatujte: detekce režimu je nástroj, nikoli strategie. Říká vám, které strategie kdy spustit. Alfa pochází z toho, že máte dobré strategie pro každý režim a disciplínu systematicky mezi nimi přepínat.
Trhy budou stále podivnější. Vaše obchodní systémy by měly být připraveny se přizpůsobit, jinak skončíte na hřbitově skvělých strategií, které fungovaly, dokud nepřestaly. Ve Two Sigma jsme měli další rčení: "Trhu je jedno, jaký máte P&L." Ale se správnou detekcí režimu alespoň uvidíte ten náklaďák dřív, než do vás narazí.


