Jeg nærmer mig et år efter, at jeg er begyndt på kvanthandel på fuld tid. Min virksomhed for et år siden præsterede ikke alt for godt, og jeg håbede på mere kontrol over afkastet – især for mere forudsigelig ROI. Det var sådan det hele startede.
Jeg havde ikke forventet, at denne rejse ville være så udfordrende, som den har været – når jeg ser tilbage på al den læring, genlæring, programmering, genprogrammering, test, gen-test og lancering af strategier på et tidspunkt, kun for at se dem mislykkes. Der er dog nogle få strategier, der klarer sig igennem alle processerne og bliver rentable. Disse vindende strategier har nogle fælles mønstre, som jeg har forsøgt at samle i følgende lektioner, som jeg har lært i løbet af det sidste år.
Nogle af punkterne kan virke indlysende for dig som en mere erfaren erhvervsdrivende. For mig var hver enkelt af dem en enorm indsigt, som nogle gange blev fulgt op af et stort skift i min måde at gribe markederne an på. Jeg ville ønske, at jeg havde kendt disse punkter i forvejen, hvilket kunne have sparet mig for utallige timer. De følgende lektioner er henvendt til mig og er ikke i nogen meningsfuld rækkefølge.
- Vælg dine markeder strategisk
- Lær reglerne og accepter dem
- Kend dine prioriteter
- Forvent at tabe i dit første år
- Hast ikke med kapital, haster med udførelse
- Brug ikke prisstop
- Kend indgange og udgange
- Kend dine tal
- Gør risikostyring til en prioritet
- Brug færre parametre, men vid, hvad de gør
- Opret en god backtest og kend ins og outs
- Find en god evalueringsmetrik
- Viden om, hvad du skal kigge efter i en strategi
- Fokuser på funktioner, ikke på optimering
- Deep learning er overvurderet
- Bedre data, bedre funktioner
- Academic papers are great, but…
- Shurtig feedback er et must
- Handel ikke kun på pris og prisindikatorer
- Afledninger af afledninger er nyttige
- Dobl din tidsramme
- Mere risikable markeder, mindre positioner
- Handelsgebyrer gør en stor forskel
- Færdiggør dig selv med dit handelsmiljø
- Eftertanker
Vælg dine markeder strategisk
Handel med amerikanske aktier, forex og obligationer er sandsynligvis en dårlig idé. Det er ikke det klogeste valg på grund af for stor konkurrence med de største aktører. Find dit likviditets-sweetspot ved at tage et kig på markeder, der ville understøtte dine likviditetsbehov; de bør dog ikke være størrelsesordener større. Spil og vind på nichemarkeder ved at lære deres regler i stedet for at handle der, hvor store spillere handler, og hvor spillet er meget sværere. Min pointe er denne: En strategi på filippinske aktier vil sandsynligvis være mere rentabel end den samme strategi på amerikanske aktier.
Lær reglerne og accepter dem
Jeg handlede på et par forskellige markeder (i bakspejlet skulle jeg have holdt mig til ét). Hver har forskellige regler og er rigget på sin egen måde. Market makers (eller de mest dominerende aktører på et marked) gør alt for at vinde. Antag, at markederne er manipulerede, lær reglerne, og spil efter dem, men benægt dem ikke ved at tro, at markederne opfører sig naturligt. Forsøg ikke at “overliste” markederne; det vil sandsynligvis give bagslag. Kig efter spor (adfærdsmæssige, spoofing, placerede ordrer og likviditetsjagter), som de store spillere efterlader, og brug dem til din fordel.
Kend dine prioriteter
Der er så meget at lave inden for kvantehandel: strategiudvikling, optimering, backtesting, eksekvering og risikostyring. Lad være med at fokusere på de forkerte ting i begyndelsen – som f.eks. optimering af parametre. Opbyg hellere meget grundlæggende MVP-versioner af hver del i ligningen og optimer ved at iterere, mens du er i produktion. En perfekt optimeret strategi hjælper ikke, hvis eksekveringsdelen ikke fungerer korrekt.
Forvent at tabe i dit første år
Begynd ikke at skalere, så snart du ser en vis indledende succes, da det kan udslette store dele (40% i mit tilfælde) af din portefølje. Det vil kræve dig en langt større indsats at gøre det igen; i stedet er det lettere at tilpasse ordentlige risikomålinger i første omgang. Ved at have en forventning om at tabe (i hvert fald det første år) vil du ikke blive fristet til at sætte mere kapital end nødvendigt ind i test og læring.
Hast ikke med kapital, haster med udførelse
Jeg var for hurtig til at opskalere kapitalen uden at tænke på risikoen. Tværtimod befandt jeg mig ofte i analyseparalyse, idet jeg lovede mig selv at lancere en ny strategi efter “bare en optimering mere”. Jeg overoptimerede for meget. Jeg burde bare have lanceret flere strategier for at se, hvad der virker først, og derefter optimere løbende. Det hjælper ikke at opbygge og optimere strategier baseret på teori, hvis der ikke er nogen praktisk feedback.
Brug ikke prisstop
Jeg fandt ud af, at der er to måder, prisstop kan bruges på: enten slet ikke eller til at beskytte mod black swan-hændelser (99,9. percentil af volatilitetsfordelingen). I stedet for prisstop skal du bruge tidsstop og korrekt positionsdimensionering. Prisstop vil, som forskningen viser, ødelægge en god strategi, simpelthen på grund af tilfældighederne i volatiliteten. Tidsdimensionen er meget mere håndterbar og forudsigelig end prisdimensionen i en hypotese, der udtrykkes af din handel (både i backtest og i livehandel). Ved at bruge tidsstop sætter du en tidsbegrænsning med hensyn til, hvor længe din hypotese er gyldig, hvilket næsten altid reducerer variansen (og øger Sharpe-ratio).
Kend indgange og udgange
For hver handel skal du vide, hvor du skal gå ind og hvor du skal gå ud. For mig er disse indstillet baseret på to regler – den ene er en modificeret formel for Average True Range. Det er næsten et krav at have foruddefinerede regler for entry og exits for at kunne backteste korrekt og vide, hvad man kan forvente i livehandel.
Kend dine tal
For hver strategi skal du kende den forventede værdi, hitrate, forventet drawdown, længste drawdown, forventet volatilitet, varians, Sharpe-ratio, standardafvigelse af afkast, skævhed af afkast og value at risk. Desuden skal den rette indsatsstørrelse, risiko for ruin, Kelly-fraktion og optimal F vælges strategisk baseret på, hvordan strategien klarer sig under backtesten.
Gør risikostyring til en prioritet
Afviklingen af 40 % af kapitalen kan ske på en dag; men det kan tage mange måneder – hvis ikke år – at få den tilbage. Brug en ordentlig risikostyring i første omgang, og vær opmærksom på den potentielle risiko for ruin som følge af black swan-hændelser. Det er altid en god idé at forvente det værste tilfælde. Det bør ikke være en udfordring for dine strategier at vågne op en dag til et marked på -50%.
Brug færre parametre, men vid, hvad de gør
Min bedst præsterende strategi bruger kun 3 parametre. Disse er nemme at optimere og nemme at teste for robusthed. Du skal vide præcis, hvad dine parametre gør, og hvorfor de bruges. Den værste fejl er nok at lade et optimeringsscript generere parameterkombinationer, f.eks. langsom/hurtig periode for flere kombinationer af glidende gennemsnit. Der vil helt sikkert være noget, der ser godt ud på papiret/ i backtesten, men det er tvivlsomt, om den samme strategi vil fungere i live-handel.
Opret en god backtest og kend ins og outs
Gå ikke med en eller anden eksisterende løsning (gælder i øvrigt også for optimering) – i hvert fald ikke før du selv har bygget flere backtests. Du skal forstå effekten af slippage, gebyrer, sekvensen af udførelseshændelser og forskellige ordretyper. Jeg skrev mange backtest-scripts, hvor de første par stykker var meget indviklede. Min seneste version kører på 12 linjer kode (hovedsagelig parallelle beregninger), hvilket endnu en gang beviser, at enkelhed vinder.
Find en god evalueringsmetrik
Det er ikke nok at teste, hvordan strategien klarer sig; du skal vide, hvad du skal kigge efter. Selvfølgelig begyndte jeg at kigge efter et højt årligt afkast. Optimering af Sharpe var bedre, men heller ikke det, jeg havde brug for (jeg undrer mig stadig den dag i dag over, hvorfor Sharpe-ratio betragtes som branchens standard, da der findes langt bedre målepunkter). Det er vigtigt at finde den rigtige optimerings- og evalueringsmetrik; ellers vil du bygge noget, der helt forbigår målet.
Viden om, hvad du skal kigge efter i en strategi
For at finde en god evalueringsmetrik skal du vide, hvad du egentlig leder efter i en strategi, og det er baseret på mange personlige faktorer (porteføljestørrelse, accepteret risiko osv.). Kend egenskaberne ved din ønskede strategi, da dette vil definere, hvilken evalueringsmetrik du skal vælge. Jeg foretrækker konsekvente, negativt skæve strategier, og det er det, jeg bygger efter.
Fokuser på funktioner, ikke på optimering
Der findes et stort udvalg af værktøjer til optimering, genetiske optimeringer, ikke-konvekse optimeringer, principal component analysis, statistisk/Bayesisk optimering og tusindvis af smarte biblioteker. Fra mit synspunkt vil optimering hjælpe med at forbedre en strategi med 10-20%; men det vil ikke føre til en rentabel strategi i første omgang. Hvis en strategi er dårlig, vil ingen optimering hjælpe. Fokuser på deduktiv analyse og feature engineering – i enkle vendinger, at skabe mening ud af input og data.
Deep learning er overvurderet
Jeg forstår ikke hypen. Maskinlæring er fantastisk, og deep learning er også fantastisk (aka neurale netværk). Optimering af 10.000 parametre vil sandsynligvis kun føre til overfitting. Hvis strategien ikke fungerer uden kraftbiblioteker som Tensorflow, vil den sandsynligvis ikke fungere i produktion (selv om backtesten er fantastisk). Kort sagt bør strategien være rentabel allerede med noget simpelt som en lineær regression.
Bedre data, bedre funktioner
“Data er olien i den digitale verden,” er der nogen der har sagt. Jeg har hørt, at nogle hedgefonde bruger satellitbilleder af parkeringspladser til at forudsige aktieafkast. Selv om sådanne typer data sandsynligvis indeholder begrænsede oplysninger (jeg vil gætte på lige så gode som vejrudsigtsdata), er det stadig brugbare data og på ingen måde dårlige. Min pointe er: fokuser på at få bedre data for derefter at producere bedre funktioner. Kombiner flere svage funktioner og strategier sammen, og dette vil sandsynligvis forbedre afkastet.
Academic papers are great, but…
Academic papers are great, but they usually fall short in terms of practicality. Der er simpelthen et misforhold i incitamenter mellem akademikere og erhvervsdrivende. Akademikere er ikke erhvervsdrivende, og erhvervsdrivende offentliggør ikke arbejdsstrategier. Se på akademisk forskning med et gran salt; negliger den dog ikke helt. Jeg kan ikke tælle hvor mange gange jeg har fundet et lille stykke information virkelig værdifuldt. Et papir vil ikke resultere i en god strategi, men at anvende indsigter fra 20 papirer kan måske.
Shurtig feedback er et must
Konkurrere med store spillere, især i HFT-regi, er nok en dårlig idé (som jeg forklarede ovenfor). At gå den modsatte vej – at holde handler i dage, måneder og år – er heller ikke ideelt. For mig er det søde punkt en holdetid på 5 til 60 minutter. Hvis jeg ikke kan teste en strategi på 2 uger med statistisk signifikans (dvs. mere end 100 handler), investerer jeg ikke min tid i den. For at teste en strategi med en holdingstid på flere dage (og længere) ville jeg have brug for måneder til at validere, og det er ikke det, jeg er interesseret i.
Handel ikke kun på pris og prisindikatorer
Prisen er en afspejling af, hvad der er sket i markedet. Det har lav information om aktørerne og deres intentioner. Indikatorer er heller ikke brugbare nok, da de blot er en afledning af prisen, og de fleste indikatorer halter bagefter. Markederne er mere ustabile og automatiserede i dag, og forsinkede indikatorer er ikke så nyttige, som jeg antager, at de var tidligere.
Afledninger af afledninger er nyttige
Jeg har fundet en måde at gøre indikatorer nyttige på: ved at bygge funktioner ud fra dem. Jeg har fundet ud af, at strategier ville præstere meget bedre, hvis indikatorer – lad os sige det glidende gennemsnit – strategisk refaktoriseres til noget som en anden afledning, f.eks. opdeling af MA-værdier i bins og tælling af forekomsterne pr. bin i løbet af de sidste X timer.
Dobl din tidsramme
Pluk en højere tidsramme fører næsten altid til bedre resultater. Dette kan ikke gentages i det uendelige, da din forskning er udført med en bestemt tidsramme i tankerne. Men hvis din strategi er optimeret til 15 minutter, giver en forøgelse af holdeperioden fra til 30 minutter næsten altid bedre afkast med lavere risiko.
Mere risikable markeder, mindre positioner
Handel på markeder, der er mere volatile, fordi volatilitet er godt for muligheder. Du skal blot være opmærksom på risiciene og justere positionsstørrelsen i overensstemmelse hermed. Det kan være langt mere rentabelt at handle markeder, der er 10x så volatile, mens man har 1/10 af positionen. Risiko-belønningskurven er ikke så lineær, som jeg troede – jeg kigger på dig Bitcoin!
Handelsgebyrer gør en stor forskel
Gennem fordobling af holdingstiden som nævnt er gebyrernes rolle allerede reduceret. At optimere strategier specifikt for at undgå store gebyrer er endnu smartere. Afhængigt af strategien (især for højere frekvenser) udgør gebyrer mere end 50 procent af afkastet. Det betyder, at optimering af gebyrer bør være en af de højeste prioriteter, uanset om det betyder brug af færre markedsordrer, brug af bedre mæglere eller forhandling af bedre aftaler med eksisterende mæglere.
Færdiggør dig selv med dit handelsmiljø
Overst nævnt under at blive mere fortrolig med et nichemarked, gælder dette i endnu højere grad for mæglere, børser, deres API’er, nedetider og latencer. Du bør kende deres API’er ud og ind, især fordi mange mæglere har indviklede og skjulte funktionaliteter, der virkelig kan hjælpe ens præstation (betingede ordrer, bedre oplysninger om fylde/status på ordrer, bulkoperationer osv.).
Eftertanker
Tak for læsning. Mængden af ting, jeg lærer dag for dag, bliver ikke langsommere, selv om jeg nærmer mig 2000 timers mærket for kvantehandel. Jeg tror, at dette er en af de få brancher, hvor læringskurven med tiden bliver stejlere, hvilket faktisk gør mig spændt på de kommende måneder/år. Endelig, hvis jeg har overset noget – eller hvis du ønsker at komme i kontakt – så tag endelig kontakt til mig via e-mail.