Otestoval jsem tisíce strategií. Lekce, kterou jsem se naučil na vlastní kůži: Přestřídání tě přinese peníze. Teď používám křížovou validaci, abych se mohl bránit. Tady je kód, jak to udělat (za 2 minuty):
Pokud nejste obeznámeni s křížovou validací: • Snižuje riziko přefitování modelů • Zahrnuje rozdělení dat do podmnožin • Odhaduje výkon modelu na základě neviditelných dat Používá se ve všech datových vědách. Nyní ho můžete použít pro obchodování s VectorBT PRO. Jdeme!
Importujme VBT PRO a několik knihoven relevantních pro naši analýzu.
Získejte data o svém oblíbeném aktivu. Použijeme AAPL.
Dále nastavíme "splitter", který rozdělí časové rozmezí na menší segmenty podle zvoleného schématu.
Příkaz splitter.plots().show_png() vede k následující vizualizaci:
Dále vytvoříme funkci pro provedení obchodní strategie v rámci stanoveného datového rozmezí s použitím jediné sady parametrů, která vrátí jednu klíčovou metriku. Naše strategie bude jednoduchý EMA crossover v kombinaci s ATR trailing stopem.
Dekorací (nebo obalováním) naší funkce pomocí "parametrizace" umožňujeme 'objektivu' přijímat seznam parametrů a provádět je napříč všemi kombinacemi.
Pojďme analyzovat výsledky rozdělením rychlých a pomalých období EMA. Zdůrazňuje minimální odchylky v Sharpeově poměru mezi tréninkem a testovací sadou alespoň v 50 % rozdělení, kde modrá znamená pozitivní změnu.
Výsledkem je tepelná mapa zobrazující různé Sharpeovy poměry napříč kombinacemi pomalých a rychlých period.
Ačkoliv jste na papíře mohli vytvořit slibnou strategii, křížové ověření je zásadní pro potvrzení jeho konzistentního výkonu v čase a zajištění, že není jen výsledkem náhodných výkyvů. Aplikujte techniky, které jste se zde naučili, ve své vlastní strategii.
93