Jak si zpětně otestovat obchodní strategii (backtesting)
Domů
Články
Jak si zpětně otestovat obchodní strategii (backtesting)

Jak si zpětně otestovat obchodní strategii (backtesting)

Pokročilí
Zveřejněno Dec 17, 2020Aktualizováno Jun 21, 2023
7m

TL;DR

Máte pocit, že máte skvělé nápady, jak fungovat na trhu, ale nevíte, jak je otestovat, aniž byste riskovali svoje finanční prostředky? Každý dobrý systematický obchodník by si měl umět zpětně otestovat svoje obchodní nápady.

Základním předpokladem zpětného testování je, že co fungovalo v minulosti, by mohlo fungovat v budoucnosti. Ale jak se to dělá? A jak byste měli vyhodnotit výsledky? Ukážeme si to na příkladu jednoduchého backtestu.


Úvod

Zpětné testování je jednou z klíčových složek vývoje vlastní obchodní strategie podle grafů. Funguje tak, že pomocí systému vytvořeného na základě historických dat otestujete zrekonstruované obchody, ke kterým by došlo v minulosti. Výsledky zpětného testování by vám pak měly dát obecnou představu o tom, jestli je daná investiční strategie efektivní.

Skvělým místem pro zpětné testování vlastních strategií je platforma Binance Futures. Pokud chcete získat přístup k historickým datům této platformy, vyplňte tuto žádost.


Co je zpětné testování?

Pokud se chcete podrobněji seznámit s tím, co je zpětné testování, přečtěte si o tom náš článek Co je zpětné testování? 

Hlavním účelem zpětného testování je stručně řečeno zjistit, jestli mohou vaše obchodní nápady fungovat. Použijete historická tržní data a zjistíte, jak by si vaše strategie vedla. Pokud to vypadá, že má strategie potenciál, může být efektivní i v aktuálním živém obchodním prostředí.


Co udělat, než se zpětným testováním začnete

Než začnete něco zpětně testovat, měli byste si rozhodnout, jaký typ obchodníka jste. Jste diskreční nebo systematický obchodník?

Při diskrečním obchodování se obchodníci spoléhají na sebe. O vstupu do pozic a ukončování pozic se rozhodují podle vlastního úsudku. Je to relativně otevřená strategie, ve které většina rozhodnutí závisí na posouzení daných podmínek obchodníkem. V takovém případě, kdy obchodní strategie nemá jasně stanovená pravidla, není zpětné testování až tak relevantní.

To samozřejmě neznamená, že pokud jste diskreční obchodník, můžete zpětné testování nebo papírové obchodování hodit za hlavu. Jejich výsledky akorát nemusí být tak spolehlivé jako u systematických obchodníků.

Systematické obchodování je pro dnešní téma vhodnější. Systematičtí obchodníci se spoléhají na obchodní systém, který je jasně definovaný a říká jim, kdy přesně do pozice vstoupit a kdy z ní vystoupit. Nad stanovením strategie mají sice naprostou kontrolu, ale o signálech pro vstup a výstup rozhoduje strategie. Jednoduchou systematickou obchodní strategii si můžete představit takto:

  • Když se stane A a zároveň B, vstoupíte do obchodu. 
  • Když se pak stane X, pozici opustíte.

Někteří obchodníci upřednostňují tento přístup. Dokáže totiž eliminovat emocionální rozhodnutí a nabízí přiměřenou míru jistoty, že takový obchodní systém bude ziskový. Zaručit to ale samozřejmě nelze.

Proto je důležité mít ve svém systému konkrétně nastavená pravidla pro vstup do pozice a výstup z ní. Pokud strategie není dobře definovaná, její výsledky budou také nekonzistentní. Jak se dá asi čekat, tento styl obchodování je mnohem oblíbenější u algoritmického obchodování.

Pokud chcete provádět zpětné testování automaticky, existuje na to placený backtestingový software. Můžete do něj zadávat vlastní data a tento software provede zpětné testování za vás. V tomto příkladu ale půjdeme cestou manuálního zpětného testování strategie. Je to sice trochu pracnější, ale je to úplně zdarma.


Jak si zpětně otestovat obchodní strategii

Pod tímto odkazem na Tabulky Google najdete šablonu. Je to základní šablona, kterou můžete použít jako výchozí bod k vytvoření vlastní šablony. Dá vám obecnou představu o tom, jaké informace by mohla backtestingová tabulka obsahovat. Někteří obchodníci upřednostňují Excel nebo kódování v Pythonu – je to jen na vás. Můžete do ní přidat mnohem víc dat a cokoli dalšího, co vám přijde užitečné.
Datum
Trh
Pozice
Vstup
Stop lossTake profitRizikoOdměnaPnL

8. 12.

BTCUSD

Long

18 000 USD

16 200 USD

21 600 USD

10 %

20 %

3 600

9. 12.

BTCUSD

Short

19 000 USD

20 900 USD

13 300 USD

10 %

30 %

−1 900


Teď si zpětně otestujeme jednoduchou obchodní strategii. Máme takovouto představu:

  • Při prvním uzavření denní svíčky poté, co se objeví zlatý kříž, nakoupíme jeden bitcoin. Zlatý kříž nastává, když 50denní klouzavý průměr překříží směrem nahoru 200denní klouzavý průměr.
  • Při prvním uzavření denní svíčky poté, co se objeví kříž smrti, jeden bitcoin prodáme. Kříž smrti nastává, když 200denní klouzavý průměr překříží směrem dolů 50denní klouzavý průměr.

Jak vidíte, definovali jsme si i časový rámec, ve kterém strategie platí. To znamená, že když zlatý kříž nastane na grafu čtyřhodinových svíček, nebude to pro nás signál k obchodování.

V tomto příkladu se podíváme jen na časové období od začátku roku 2019. Pokud však chcete přesnější a spolehlivější výsledky, můžete použít delší časové období.

Teď se podíváme, jaké obchodní signály tento systém pro dané období vyprodukoval:

  • Nákup při asi 5 400 USD
  • Prodej při asi 9 200 USD
  • Nákup při asi 9 600 USD
  • Prodej při asi 6 700 USD
  • Nákup při asi 9 000 USD


Takto naše signály vypadají na grafu:

Strategie zlatého kříže a kříže smrti. Zdroj: TradingView.


Na prvním obchodě bychom vydělali asi 3 800 USD, zatímco při druhém obchodě by byla ztráta asi 2 900 USD. To znamená, že realizovaný PnL je 900 USD. 

Zároveň jsme v aktivní pozici, ve které máme k prosinci 2020 nerealizovaný zisk ve výši asi 9 000 USD. Pokud se budeme držet naší původně definované strategie, uzavřeme tento obchod, až nastane další kříž smrti. 



Vyhodnocení výsledků zpětného testování

Co nám tedy tyto výsledky ukazují? Naše strategie by měla rozumnou návratnost, ale zatím není ničím výjimečná. Mohli bychom prodat aktuálně otevřenou pozici, čímž bychom drasticky zvýšili realizovaný PnL, ale tím bychom zneplatnili účel našeho zpětného testování. Když se nebudeme držet plánu, nebudou výsledky spolehlivé.

I když se jedná o systematickou strategii, za zvážení stojí i její kontext. Neziskový obchod z 9 600 USD na 6 700 USD nastal po covidovém propadu v březnu 2020. Taková neočekávaná událost může mít na obchodní systém nadměrně velký vliv. To je další důvod, proč stojí za to se podívat, jestli tato ztráta vybočuje z normálu, nebo je vedlejším produktem strategie.
Takto nějak tedy může vypadat jednoduché zpětné testování. Tato strategie by mohla fungovat, kdybychom se vrátili a otestovali ji s větším množstvím dat nebo kdybychom přidali další technické ukazatele, které by produkované signály posílily.

Co dalšího vám ale mohou výsledky zpětného testování ukázat?

  • Míra volatility: maximální pohyb nahoru a maximální propad dolů.
  • Expozice: množství kapitálu z celého portfolia, které potřebujete strategii přidělit.
  • Roční výnos: procentuální návratnost strategie za celý rok.
  • Poměr zisků a ztrát: kolik obchodů ve vašem systému je v zisku a kolik ve ztrátě.
  • Průměrná realizovaná cena: průměrná cena vašich realizovaných vstupů a výstupů ve strategii.
Tohle je jen několik příkladů a vůbec ne vyčerpávající seznam. To, jaké metriky budete sledovat, je zcela na vás. Čím víc podrobností si do svého deníku poznačíte, tím víc příležitostí se z výsledků něco naučit budete samozřejmě mít. Někteří obchodníci jsou při zpětném testování velice důslední, a to se může odrazit i na jejich výsledcích.
Poslední věcí, kterou je třeba zvážit, je optimalizace. Pokud jste četli náš článek o zpětném testování, už znáte rozdíl mezi zpětným testováním a dopředným testováním nebo papírovým obchodováním. Testování a optimalizace nápadů v reálném obchodním prostředí, jako je testovací síť Binance Futures, může být velmi užitečné.


Závěrem

Vysvětlili jsme si základy toho, jak manuálně zpětně otestovat obchodní strategii. Nezapomínejte, že chování v minulosti není zárukou budoucího výnosu. 

Tržní prostředí se mění a pokud se chcete v obchodování zlepšit, budete se muset těmto změnám přizpůsobit. Obecně je také užitečné slepě nevěřit datům. Pokud jde o hodnocení výsledků, zdravý rozum dokáže být překvapivě užitečným nástrojem.