Automatické obchodování

StrategyQuant: Rozhovor s Tomášem

V dnešním rozhovoru vám chci představit Tomáše. Tomáš je účastníkem našeho kurzu „Automatické obchodní systémy“ a momentálně již i algotraderem. Jeho příběh nebyl jednoduchý, ale postupně se vypracoval ke svému prvnímu portfoliu. V rozhovoru jsme se dostali i na téma starší verze programu StrategyQuant 3.

Ahoj Tome, můžeš nám prosímtě sdělit, kdy jsi začal se StrategyQuantem pracovat?

Se Strategy Quantem jsem začal pracovat již v roce 2016, ještě ve verzi 3. Již v tom čase to byl robustní nástroj na generování automatických strategií. Ve zkratce, bylo možné si na StrategyQuantu vytvořit workflow, ale prakticky bylo jedině možné veškeré testy řadit za sebe a manuálně je vyhodnocovat. Data od jednotlivých podkladových aktivech bylo také možné si připravit pouze manuálně v externím nástroji Tick Downloader.

Vidíš nějaké rozdíly, které přišly s příchodem nového StrategyQuantu X?

Nyní ve Strategy Quant X jsou prakticky veškeré funkce včleněny přímo do samotného programu. V Datamanageru stáhnete téměř bez nějakého nastavování veškerá data, která budete chtít použít. Je možné stáhnout si i ticková data za posledních téměř 17 let (forex), pro nespočet podkladových aktiv, pro co nejpreciznější testování. Vzhledem k tomu, že data od poskytovatelů se nachází na CDN serverech, stahování v rámci celého světa probíhá velice rychle. V jednom z posledních buildů byly přidány i data od jiných poskytovatelů. Nyní je možné generovat strategie i na futures a akcie.

Co je ale nejpodstatnější, s příchodem verze Strategy Quant 4, který se později změnil na SQ X přišlo i kompletní přepracování architektury celého programu, kdy bylo nutné také kompletní přepracování workflow generování strategií. Již do samotného generování byly včleněny mimo možností základních testů i stěžejní testy robustnosti, tudíž to, co jsme pracně testovali ručně v SQ 3 je nyní otázkou jednoho nastavení. Nové architektuře nebyl podřízen pouze modul builderu, ale také sekce retesteru a optimalizátor strategií. Základní testy a také testy robustnosti je nyní možné nastavit v jednom kroku.

S příchodem nového StrategyQuantu vznikla funkce Custom Projects. Dokážeš nám popsat, o co se vlastně jedná a jaké jsou jeho výhody?

Ve zkratce jde o vytvoření kompletního workflow pro generování a kompletní retest v rámci jednoho projektu, kdy celý projekt skládáte postupně po jednotlivých tascích do uceleného logického postupu. Výstupem v tomto případě může bez nadsázky být robustní, a hlavně plně obchodovatelná strategie, která je připravena na nasazení na testovací účet (testovací neznamená demo, pozn. autora). Jednotlivých projektů můžete v Custom Projects mít nespočet a na robustnějším hardwaru je možné, aby běželo několik projektů najednou. Nyní prakticky veškeré mé generování a testování strategií se přesunulo již do Custom Projects, protože po správném nastavení workflow se stává tento proces prakticky autonomní a je potřeba minimálních zásahů.

Jaké nové funkce či vylepšení používáš u samotné stavby strategií?

Co se týče generování strategií, do nového SQ X bylo přidáno několik zásadních funkcí, jako například generování multi TF strategií, kdy se zvolí hlavní trh, na kterém strategie poběží a přidá se dalších několik trhů anebo TF, které by měla strategie sledovat. Je také možné generovat strategie s využitím Fuzzy Logic, ale tuto možnost jsem doteď nevyužil. Zajímavým krokem bylo využití levelů samotných indikátorů pro výpočet efektivní hodnoty SL a TP. I samotná architektura kódů strategií nezůstala nezměněna a samotný kód se nyní jeví daleko stabilnější jak u strategií z verze 3.

Abychom nemluvili pouze o výhodách programu. Můžeš nám prosím sdělit i své negativní zkušenosti, které jsi jako uživatel určitě zaznamenal?

Převážně se jedná o rychlost, stabilitu a hardwarovou náročnost samotného systému. SQ X se hlavně v dřívějších buildech choval někdy docela nestandardně, až nestabilně, hlavně u úkolů jako Walk Forward Optimalizace, kdy se mi i na silném hardwaru stávalo, že se systém zasekl. Tato nestabilita a také bugy jsou v průběhu vývoje systému a vydávání dalších programových buildů postupně odstraňovány a aplikace se s každým buildem stává stabilnější a lépe použitelná. Ale vzhledem k množství výpočtů, které program provádí je hardwarová náročnost nesporná a logická. Já používám SQ X na starším Xeonu s 12 fyzickými jádry (24 výpočetních instrukcí najednou), 32 GB RAM a disky Raptor a v dřívějších buildech se mi i přesto někdy stalo, že aplikace zamrzla a byla potřeba natvrdo systém restartovat. Bohužel často se v tomto momentě stalo, že jsem přišel o několik tisíc strategií. Ale to se každým buildem stává čím dál tím méně.

Obrovskou výhodou je, že prakticky s každým novým buildem přijde i několik nových, a hlavně praktických funkcí. Vývojáři si dávají v tomto směru fakt práci a systém pořád zlepšují. Co se týče bugů, je možné se na jejich webu zaregistrovat a bug nahlásit a s velkou pravděpodobností bude již v dalším buildu opraven. Popravdě obdivuhodné nasazení vývojářů.

(Pozn. StrategyQuantu: Nový build 126 je již velmi stabilní a také se povedlo velmi dobře odladit náročnost na výkon PC a RAM. Byla to velká výzva, ale povedlo se.)

Uživatelé se nás často ptají, za jak dlouho postaví své první portfolio. Můžeš nám sdělit, jak dlouho ti trval celý proces od generace strategií po nasazení na reálný účet trval?

Mně vytvoření použitelného portfolia, mimo jiné aj kvůli pracovnímu vytížení, trvalo skoro dva roky. Asi si nedokážete představit kolik „materiálu“ musíte vygenerovat, abyste dokázali nasadit třeba 20 použitelných strategií na jeden živý účet. V tomto momentě mi SQ X ukazuje na úvodní stránce, že pouze ve verzi X bylo již celkově vygenerováno 967 milionů strategií. A je z toho jedno testovací portfolio, které nyní běží na live účtu několik měsíců.

Jsi ochotný se s námi podělit o své výsledky a ukázat, jak s výsledným portfoliem pracuješ?

Samozřejmě. Na mém testovacím účtu běží přibližně 20 strategií již několik měsíců. Na tomto účtu není brán zřetel na samotnou korelaci jednotlivých strategií mezi sebou, spíše testuji funkčnost a chování jednotlivých strategií jako samostatných celků. Bohužel, velkou chybou bylo, že jsem na tomto účtu provedl i několik manuálních obchodů, tudíž výsledky za celé období nejsou úplně směrodatné. Přikládám proto graf obchodování za období, kdy na účtu obchoduje pouze automatické portfolio složené výhradně ze strategií vygenerovaných ve SQ X. Musím podotknout, že portfolio i přes svoji korelační nevyváženost obchoduje velice stabilně a dosahuje i v rámci tak krátkého období docela zajímavých zisků – 4,5 % se ztrátou pouze 3,76 %.


Pozn.: Díky „useknutí“ dat je začátek mírně ve ztrátě, reálný zisk je cca 5,5 % až 6 %

Do neděle 22.12. se můžete stát algo traderem stejně jako Tomáš H. a získat StrategyQuant s bonusem 50 %

Děkuji Tomášovi za obsáhlý a příjemný rozhovor. Ten jsme připravili již v létě, ale během práce na certifikačním kurzu jsme na něj zapomněli, tak na zveřejnění si musel počkat chvilku počkat.

Jakub