Prognóza volatility EUR/USD v 4 řádcích: jak dquant zjednodušuje ML pro obchodníky bez Data Science
Moderní algoritmické strategie vyžadují přesné hodnocení rizika v reálném čase. Volatilita je klíčovým motorem stop-orderů, velikosti pozice a řízení kapitálu. Ale tradiční přístupy (GARCH, EWMA) se často nedokážou adaptovat na změny tržních režimů, zatímco ML řešení zůstávají pro většinu obchodníků nedostupná kvůli vysoké vstupní bariéře: feature engineering, křížová validace, hledání hyperparametrů. Knihovna dquant tento problém řeší na úrovni API: celou předzpracovávání, učení i validaci zabalila do tří volání metod — bez nutnosti rozumět interní architektuře XGBoost nebo ručně formovat znaky.
Jak funguje VolClustXGB: od surových OHLCV k prognóze
Model VolClustXGB je specializovaný XGBoost-regresor zaměřený na predikci volatility. Nejenže předpovídá cenu nebo směr pohybu — vydává skalární odhad očekávané volatility (například metriku podobnou ATR) na určené množství barů dopředu. Pod kapotou je realizován konvejér:
- Automatická generace technických znaků z OHLCV: TR (True Range), logaritmické výnosy, absolutní výnosy, cenový gap, poměr těla svíčky k rozpětí (body), poměr stínů (shadow), poloha zavření vůči rozpětí (close_position), klouzavý průměr ATR za 14 period (roll_atr_14).
- Rozdělení časového řady na vstupní okna (
input_bars=70) a cílové hodnoty (horizon=20). Cílovou proměnnou je volatilita následujících 20 barů, vypočítaná jako medián nebo průměr ATR pro daný horizont. - Automatický split na tréninkovou a validační soubor s ohledem na časovou závislost (time-series aware split), který eliminuje únik dat.
- Učení s brzkým zastavením (
early_stopping=True) na základě snižování chyby na validaci (RMSE nebo MAE), což předchází přeučení i při vysokém počtu stromů (trees_count=200). - Vizualizace procesu učení: graf konvergence chyby na train/validation, který umožňuje posoudit stabilitu modelu.
Všechny fáze probíhají v jednom volání .fit(), bez ručního řízení indexů, normalizace ani transformace datových typů.
Praktická implementace: kód, interpretace, omezení
Referenční příklad používá hodinová data EUR/USD z Yahoo Finance. Kriticky důležité je pochopit, že zdroj dat určuje kvalitu prognózy: yfinance má limit 730 dní pro intradenní data, což může být nedostatečné pro učení na různých tržních cyklech (nízká volatilita vs. výbuchy kvůli FOMC nebo geopolitickým událostem). Alternativa je MetaTrader 5, který poskytuje přístup k delším historiím (až 1000+ dní) prostřednictvím lokálního terminálu a brokera.
Klíčové parametry volání .fit():
feature_list: seznam znaků, které budou automaticky vypočítány. Ve výchozím nastavení se používá sada optimalizovaná pro měnové páry, ale lze ji rozšířit nebo nahradit.input_bars: délka vstupního okna. Hodnota 70 odpovídá ~3 dnech na hodinovém time frame — dostatečnému objemu pro zachycení krátkodobých vzorců volatility.horizon: horizont prognózy. Pro hodinová datahorizon=20znamená 20-hodinovou prognózu — užitečnou pro intradenní strategie řízení rizika.show_results: zobrazení grafu učení. Doporučuje se používat ve vývojovém režimu pro diagnostiku přeučení.
Po učení se prognóza provádí voláním .forecast() s tím samým počtem barů jako input_bars. Výsledek je pole predikovaných hodnot volatility, kompatibilní s jakýmkoli risk-management modulem.
Co je důležité
- Není třeba ručně vytvářet znaky: knihovna automaticky generuje TR, výnosy, roll_atr_14 a další technické metriky z OHLCV.
- Časová odolnost proti změnám režimu: vestavěný time-series split zaručuje, že validační data jsou vždy v budoucnosti oproti tréninkovým.
- Brzké zastavení ve výchozím nastavení: učení se ukončí při zvyšování chyby na validaci, bez ohledu na uvedený
trees_count. - Uchování a opětné použití: model se ukládá v serializovaném formátu pomocí
.save()a načítá se skrze.load(), což umožňuje jeho použití v production bez opětovného učení. - Otevřená licence MIT: kód je dostupný pro audit, modifikaci a integraci do proprietárních systémů bez právních omezení.
Integrace do pracovního procesu obchodníka
Pro praktické použití se doporučuje následující pipeline:
- Denní aktualizace historických dat prostřednictvím MT5 (nebo yfinance, pokud stačí 730 dní).
- Přepočet prognózy volatility na nejbližších 20 barů před zahájením obchodní seance.
- Použití predikované hodnoty pro dynamickou kalibraci stop-lossu: například
stop_distance = forecasted_volatility * 1.5. - Uložení modelu po každém úspěšném učení a porovnání jeho výkonu s předchozími verzemi podle metriky RMSE na testu mimo vzorek.
Upozornění: dquant není plnohodnotnou trading-platformou. Je to nástroj pro generování signálu rizika. Jeho výsledky by měly být integrovány do existujících strategií prostřednictvím standardních rozhraní (pandas DataFrames, numpy arrays). Přímá integrace s MT5 je možná prostřednictvím mt5.order_send() s použitím predikované hodnoty jako vstupního parametru pro výpočet objemu.
— Editorial Team
Zatím žádné komentáře.