Blíží se rok od chvíle, kdy jsem se naplno vrhl do kvantitativního obchodování. Můj obchod před rokem nevykazoval příliš dobré výsledky a doufal jsem ve větší kontrolu nad výnosy – zejména v předvídatelnější návratnost investic. Tak to všechno začalo.
Nečekal jsem, že tato cesta bude tak náročná, jak byla – když se ohlédnu zpět na všechno to učení, opětovné učení, programování, přeprogramování, testování, opětovné testování a spuštění strategií v určitém okamžiku, jen aby se ukázalo, že selhaly. Existuje však několik strategií, které projdou všemi procesy a stanou se ziskovými. Tyto vítězné strategie mají některé společné vzorce, které jsem se pokusil shrnout do následujících lekcí, které jsem se naučil za poslední rok.
Některé body se vám jako zkušenějšímu obchodníkovi mohou zdát zřejmé. Pro mě byl každý jednotlivý z nich obrovským poznáním, po kterém někdy následoval velký posun v tom, jak k trhům přistupuji. Přál bych si, abych tyto body znal předem, což mi mohlo ušetřit nespočet hodin. Následující lekce jsou určeny mně a nejsou řazeny v žádném smysluplném pořadí:
- Strategicky si vybírejte trhy
- Naučte se pravidla a přijměte je
- Znejte své priority
- Počítejte s tím, že v prvním roce budete ztrácet
- Nespěchejte s kapitálem, spěchejte s realizací
- Nepoužívejte cenové zastávky
- Znáte vstupy a výstupy
- Znát svá čísla
- Považujte řízení rizik za prioritu
- Používejte méně parametrů, ale vězte, co dělají
- Vytvořte si dobrý backtest a poznejte jeho úskalí
- Najděte dobrou vyhodnocovací metriku
- Vědět, co hledat ve strategii
- Soustřeďte se na funkce, ne na optimalizaci
- Hluboké učení se přeceňuje
- Lepší data, lepší funkce
- Akademické práce jsou skvělé, ale…
- Rychlá zpětná vazba je nutností
- Neobchodujte pouze na základě ceny a cenových indikátorů
- Derivace derivací jsou užitečné
- Zdvojnásobte časový rámec
- Více rizikové trhy, menší pozice
- Obrovský rozdíl dělají poplatky za obchodování
- Seznámit se s obchodním prostředím
- Myšlenky na závěr
Strategicky si vybírejte trhy
Obchody s americkými akciemi, forexem a dluhopisy jsou pravděpodobně špatný nápad. Není to nejmoudřejší volba kvůli příliš velké konkurenci největších hráčů. Najděte si svůj sladký bod likvidity tím, že se podíváte na trhy, které by podpořily vaše potřeby likvidity; neměly by však být magnitudově větší. Hrajte a vyhrávejte na výklenkových trzích tím, že se naučíte jejich pravidla, a ne obchodujte tam, kde obchodují velcí hráči a kde je hra mnohem těžší. Můj názor je následující: strategie na filipínských akciích bude pravděpodobně ziskovější než stejná strategie na amerických akciích.
Naučte se pravidla a přijměte je
Obchodoval jsem několik různých trhů (při zpětném pohledu jsem měl zůstat u jednoho). Každý má jiná pravidla a je svým způsobem zmanipulovaný. Tvůrci trhu (nebo nejdominantnější hráči na jednom trhu) dělají vše pro to, aby vyhráli. Předpokládejte, že trhy jsou zmanipulované, naučte se pravidla a hrajte podle nich, ale nepopírejte je tím, že si budete myslet, že trhy se chovají přirozeně. Nesnažte se trhy „přechytračit“; to se vám pravděpodobně vymstí. Hledejte stopy (behaviorální, spoofing, umístěné příkazy a lov na likviditu), které velcí hráči zanechávají, a využijte je ve svůj prospěch.
Znejte své priority
V kvantovém obchodování je toho tolik: vývoj strategií, optimalizace, zpětné testování, provádění a řízení rizik. Nezaměřujte se na začátku na špatné věci – například na optimalizaci parametrů. Spíše vytvořte velmi základní verze MVP každé části rovnice a optimalizujte iterací během produkce. Dokonale optimalizovaná strategie vám nepomůže, pokud nebude správně fungovat exekuční část.
Počítejte s tím, že v prvním roce budete ztrácet
Nezačínejte škálovat, jakmile uvidíte nějaký počáteční úspěch, protože to může zlikvidovat velkou část (v mém případě 40 %) vašeho portfolia. Bude vás to stát mnohem více úsilí, abyste je získali zpět; místo toho je jednodušší přizpůsobit správná riziková opatření na prvním místě. Tím, že budete počítat se ztrátou (alespoň první rok), nebudete v pokušení vložit do testování a učení více kapitálu, než je nutné.
Nespěchejte s kapitálem, spěchejte s realizací
Příliš rychle jsem navyšoval kapitál, aniž bych myslel na riziko. Naopak jsem se často ocital v analytické paralýze a sliboval si, že po „ještě jedné optimalizaci“ spustím novou strategii. Příliš jsem optimalizoval. Měl jsem prostě spustit více strategií, abych nejprve zjistil, co funguje, a pak optimalizovat průběžně. Vytváření a optimalizace strategií na základě teorie nepomáhá, pokud neexistuje praktická zpětná vazba.
Nepoužívejte cenové zastávky
Zjistil jsem, že existují dva způsoby, jak lze cenové zastávky používat: buď vůbec, nebo k ochraně před událostmi typu černá labuť (99,9. percentil rozdělení volatility). Místo cenových stopů používejte časové zastávky a správnou velikost pozice. Cenové zastávky, jak ukazuje výzkum, zničí dobrou strategii jednoduše kvůli náhodnosti volatility. Časový rozměr je mnohem lépe zvládnutelný a předvídatelný než cenový rozměr hypotézy vyjádřené vaším obchodem (jak v backtestu, tak v reálném obchodování). Použitím časových stopů nastavujete časové omezení z hlediska doby platnosti vaší hypotézy, což téměř vždy snižuje rozptyl (a zvyšuje Sharpeho poměr).
Znáte vstupy a výstupy
Pro každý obchod vězte, kde vstoupit a kde vystoupit. Pro mě jsou nastaveny na základě dvou pravidel – jedno je upravený vzorec Average True Range. Je téměř podmínkou mít předem definovaná pravidla pro vstupy a výstupy, abyste mohli správně zpětně testovat a věděli, co očekávat při reálném obchodování.
Znát svá čísla
Pro každou strategii musíte znát očekávanou hodnotu, míru zasažení, očekávaný drawdown, nejdelší drawdown, očekávanou volatilitu, rozptyl, Sharpeho poměr, směrodatnou odchylku výnosů, šikmost výnosů a hodnotu v riziku. Také správná velikost sázky, riziko ztroskotání, Kellyho podíl a optimální F by měly být strategicky zvoleny na základě toho, jak se strategie chová během zpětného testu.
Považujte řízení rizik za prioritu
Vymazání 40 % kapitálu může nastat během jednoho dne; jeho vrácení zpět však může trvat mnoho měsíců – ne-li let. Používejte především správné řízení rizik a buďte si vědomi potenciálního rizika krachu v důsledku událostí typu černá labuť. Vždy je dobré počítat s nejhorší variantou. Pro vaše strategie by nemělo být problémem, když se jednoho dne probudí do -50% trhu.
Používejte méně parametrů, ale vězte, co dělají
Moje nejvýkonnější strategie používá pouze 3 parametry. Ty se snadno optimalizují a snadno se testuje jejich robustnost. Přesně vězte, co vaše parametry dělají a proč se používají. Nejhorší chybou asi je nechat optimalizační skript generovat kombinace parametrů, např. pomalá/rychlá perioda pro více kombinací klouzavých průměrů. Určitě se najde něco, co vypadá dobře na papíře/v backtestu, ale je pochybné, že stejná strategie bude fungovat při živém obchodování.
Vytvořte si dobrý backtest a poznejte jeho úskalí
Nepoužívejte nějaké existující řešení (mimochodem platí i pro optimalizaci) – alespoň ne předtím, než si sami vytvoříte několik backtestů. Musíte pochopit vliv skluzu, poplatků, pořadí událostí při provádění a různých typů příkazů. Napsal jsem mnoho skriptů backtestů, přičemž několik prvních bylo velmi složitých. Moje nejnovější verze běží na 12 řádcích kódu (většinou paralelní výpočty), což opět dokazuje, že jednoduchost vítězí.
Najděte dobrou vyhodnocovací metriku
Testování toho, jak strategie funguje, nestačí; musíte vědět, co hledat. Samozřejmě jsem začal hledat vysoký roční výnos. Optimalizace Sharpeho poměru byla lepší, ale také nebyla tím, co jsem potřeboval (dodnes se divím, proč je Sharpeho poměr považován za průmyslový standard, když existují mnohem lepší metriky). Nalezení správné optimalizační a vyhodnocovací metriky je klíčové, jinak vytvoříte něco, co se zcela mine cílem.
Vědět, co hledat ve strategii
Chcete-li najít dobrou vyhodnocovací metriku, musíte vědět, co vlastně ve strategii hledáte, a to vychází z mnoha osobních faktorů (velikost portfolia, přijatelné riziko atd.). Poznejte vlastnosti požadované strategie, protože to určí, jakou hodnotící metriku zvolit. Já dávám přednost konzistentním, negativně vychýleným strategiím, a to je to, pro co stavím.
Soustřeďte se na funkce, ne na optimalizaci
Existuje velká řada nástrojů pro optimalizaci, genetické optimalizace, nekonvexní optimalizace, analýza hlavních komponent, statistická/Bayesova optimalizace a tisíc efektních knihoven. Z mého pohledu optimalizace pomůže zlepšit strategii o 10-20 %; v první řadě však nevede k ziskové strategii. Pokud je strategie špatná, žádná optimalizace nepomůže. Zaměřte se na deduktivní analýzu a feature engineering – zjednodušeně řečeno na to, aby vstupy a data dávaly smysl.
Hluboké učení se přeceňuje
Nechápu ten humbuk. Strojové učení je skvělé a hluboké učení je také skvělé (neboli neuronové sítě). Optimalizace 10 000 parametrů pravděpodobně povede jen k nadměrnému přizpůsobení. Pokud strategie nefunguje bez výkonných knihoven jako Tensorflow, pravděpodobně nebude fungovat ani v produkci (i když backtest je úžasný). Strategie by zkrátka měla být zisková už s něčím jednoduchým, jako je lineární regrese.
Lepší data, lepší funkce
„Data jsou ropa digitálního světa,“ řekl kdosi. Slyšel jsem, že některé hedgeové fondy používají satelitní snímky parkovacích míst k předpovídání výnosů akcií. Ačkoli takový druh dat pravděpodobně obsahuje omezené informace (hádal bych, že stejně dobré jako údaje o předpovědi počasí), stále jsou to použitelná data a v žádném případě nejsou špatná. Můj názor je: zaměřte se na získávání lepších dat, abyste pak mohli vytvářet lepší funkce. Zkombinujte více slabých funkcí a strategií dohromady, a tím pravděpodobně zlepšíte návratnost.
Akademické práce jsou skvělé, ale…
Akademické práce jsou skvělé, ale obvykle nedosahují praktické použitelnosti. Mezi akademiky a obchodníky je prostě nesoulad v motivaci. Akademici nejsou obchodníci a obchodníci nepublikují funkční strategie. Dívejte se na akademický výzkum s rezervou; nezanedbávejte ho však úplně. Už ani nespočítám, kolikrát jsem našel nějakou opravdu cennou informaci. Výsledkem jednoho článku nebude dobrá strategie, ale použití poznatků z 20 článků by mohlo.“
Rychlá zpětná vazba je nutností
Soutěžit s velkými hráči, zejména v oblasti HFT, je pravděpodobně špatný nápad (jak jsem vysvětlil výše). Jít opačným směrem – držet obchody několik dní, měsíců a let – také není ideální. Pro mě je sweet spot doba držení 5 až 60 minut. Pokud nejsem schopen otestovat strategii za 2 týdny se statistickou významností (což znamená více než 100 obchodů), nebudu do ní investovat svůj čas. Abych otestoval strategii s několikadenní (a delší) dobou držení, potřeboval bych k ověření měsíce, a to mě nezajímá.
Neobchodujte pouze na základě ceny a cenových indikátorů
Cena je odrazem toho, co se stalo na trhu. Má málo informací o aktérech a jejich záměrech. Indikátory také nejsou dostatečně užitečné, protože jsou pouze odvozené od ceny a většina indikátorů zaostává. Trhy jsou dnes více rozkolísané a automatizované a zpožděné indikátory nejsou tak užitečné, jak bych předpokládal, že byly v minulosti.
Derivace derivací jsou užitečné
Našel jsem způsob, jak udělat indikátory užitečnými: tím, že z nich postavím funkce. Zjistil jsem, že strategie by fungovaly mnohem lépe, kdyby se indikátory – řekněme klouzavý průměr – strategicky přetvořily na něco jako druhou derivaci, např. rozdělení hodnot MA do binů a počítání výskytů na bin za posledních X hodin.
Zdvojnásobte časový rámec
Výběr vyššího časového rámce téměř vždy vede k lepším výsledkům. To se nemůže opakovat donekonečna, protože váš výzkum je prováděn s ohledem na jeden konkrétní časový rámec. Pokud je však vaše strategie optimalizována pro 15 minut, zvýšení doby držení z na 30 minut téměř vždy přináší lepší výnosy při nižším riziku.
Více rizikové trhy, menší pozice
Obchodujte na trzích, které jsou více volatilní, protože volatilita je dobrá pro příležitosti. Jen si buďte vědomi rizik a podle toho upravte velikost pozice. Mnohem výnosnější může být obchodovat na trzích, které jsou 10x volatilnější, a přitom mít 1/10 pozice. Křivka poměru rizika a výnosu není tak lineární, jak jsem si myslel – dívám se na tebe Bitcoine!“
Obrovský rozdíl dělají poplatky za obchodování
Zdvojnásobením doby držení, jak bylo zmíněno, se již role poplatků snižuje. Optimalizovat strategie speciálně tak, aby se vyhnuly velkým poplatkům, je ještě chytřejší. V závislosti na strategii (zejména u vyšších frekvencí) tvoří poplatky více než 50 % výnosů. To znamená, že optimalizace poplatků by měla být jednou z nejvyšších priorit, ať už to znamená používat méně tržních příkazů, využívat lepší brokery nebo vyjednávat lepší dohody se stávajícími brokery.
Seznámit se s obchodním prostředím
Je zmíněno výše v části seznámení se s jednou tržní nikou, ještě více to platí pro brokery, burzy, jejich API, prostoje a latence. Jejich API byste měli znát zevnitř i zvenčí, zejména proto, že mnoho brokerů má složité a skryté funkce, které mohou někomu opravdu pomoci k výkonu (podmíněné příkazy, lepší informace o naplnění/stavu příkazů, hromadné operace atd.).
Myšlenky na závěr
Děkuji za přečtení. Množství věcí, které se den za dnem učím, nepolevuje, i když se blížím k hranici 2000 hodin kvantového obchodování. Myslím, že je to jedno z mála odvětví, kde je s přibývajícím časem křivka učení strmější, což mě vlastně těší do dalších měsíců/let. A nakonec, kdybych něco přehlédl – nebo kdybyste se se mnou chtěli spojit – ozvěte se mi prosím e-mailem.