Jag har snart ett år på nacken sedan jag började arbeta heltid med kvanthandel. Min verksamhet för ett år sedan presterade inte särskilt bra, och jag hoppades på mer kontroll över avkastningen – särskilt på en mer förutsägbar ROI. Det var så allt började.

Jag förväntade mig inte att den här resan skulle vara så utmanande som den har varit – när jag ser tillbaka på allt lärande, omlärning, programmering, omprogrammering, testning, omtestning och lansering av strategier vid någon tidpunkt, bara för att se dem misslyckas. Det finns dock några få strategier som klarar sig igenom alla processer och blir lönsamma. Dessa vinnande strategier har vissa gemensamma mönster, som jag försökt sammanställa i följande lärdomar som jag har lärt mig under det senaste året.

En del av punkterna kan tyckas uppenbara för dig som är en mer erfaren näringsidkare. För mig var varje enskild punkt en enorm insikt, som ibland följdes av ett stort skifte i hur jag närmar mig marknaderna. Jag önskar att jag hade känt till dessa punkter i förväg, vilket hade kunnat spara mig otaliga timmar. Följande lärdomar är riktade till mig och inte i någon meningsfull ordning.

Välj dina marknader strategiskt

Att handla med amerikanska aktier, forex och obligationer är förmodligen en dålig idé. Det är inte det klokaste valet, på grund av för mycket konkurrens med de största aktörerna. Hitta din likviditets sweet spot genom att ta en titt på marknader som skulle stödja dina likviditetsbehov; de bör dock inte vara magnituder större. Spela och vinn på nischmarknader genom att lära sig deras regler, snarare än att handla där stora aktörer handlar och där spelet är mycket svårare. Min poäng är denna: en strategi på filippinska aktier kommer sannolikt att vara mer lönsam än samma strategi på amerikanska aktier.

Lär dig reglerna och acceptera dem

Jag handlade på några olika marknader (i efterhand borde jag ha hållit mig till en). Var och en har olika regler och är riggad på sitt eget sätt. Market makers (eller de mest dominerande aktörerna på en marknad) gör allt för att vinna. Anta att marknaderna är riggade, lär dig reglerna och spela efter dem, men förneka dem inte genom att tro att marknaderna agerar naturligt. Försök inte att ”överlista” marknaderna; detta kommer troligen att slå tillbaka. Leta efter spår (beteendemässiga, spoofing, placerade order och likviditetsjakt) som stora aktörer lämnar, och använd dem till din fördel.

Känn dina prioriteringar

Det finns så mycket att göra inom kvanthandel: strategiutveckling, optimering, backtesting, utförande och riskhantering. Fokusera inte på fel saker i början – som att optimera parametrar. Bygg snarare mycket grundläggande MVP-versioner av varje del i ekvationen och optimera genom att iterera medan du är i produktion. En perfekt optimerad strategi hjälper inte om exekveringsdelen inte fungerar korrekt.

Räkna med att förlora under ditt första år

Förstör inte skalningen så fort du ser några inledande framgångar, eftersom det kan utplåna stora delar (40 % i mitt fall) av din portfölj. Det kommer att ta dig mycket mer ansträngning att göra det tillbaka; istället är det lättare att anpassa ordentliga riskåtgärder från början. Genom att ha en förväntan om att förlora (åtminstone det första året) kommer du inte att frestas att lägga mer kapital än nödvändigt på att testa och lära dig.

Hastigt med kapitalet, skynda dig med utförandet

Jag var för snabb med att skala upp kapitalet utan att tänka på risken. Tvärtom befann jag mig ofta i analysförlamning och lovade mig själv att lansera en ny strategi efter ”bara en optimering till”. Jag överoptimerade för mycket. Jag borde bara ha lanserat flera strategier för att se vad som fungerar först och sedan optimera löpande. Att bygga och optimera strategier baserade på teori hjälper inte, om det inte finns någon praktisk återkoppling.

Använd inte prisstopp

Jag kom fram till att det finns två sätt att använda prisstopp: antingen inte alls eller för att skydda sig mot svarta svanhändelser (99,9:e percentilen av volatilitetsfördelningen). Istället för prisstoppar bör du använda tidsstoppar och korrekt positionsdimensionering. Prisstopp kommer, som forskningen visar, att förstöra en bra strategi, helt enkelt på grund av slumpmässigheten i volatiliteten. Tidsdimensionen är mycket mer hanterbar och förutsägbar än prisdimensionen i en hypotes som uttrycks av din handel (både i backtest och i livehandel). Genom att använda tidsstopp sätter du en tidsbegränsning när det gäller hur länge din hypotes är giltig, vilket nästan alltid minskar variansen (och ökar Sharpe ratio).

Känn in och utgångar

För varje handel, vet du var du ska gå in och var du ska gå ut. För mig fastställs dessa utifrån två regler – den ena är en modifierad formel för Average True Range. Det är nästan ett krav att ha fördefinierade regler för ingångar och utgångar för att kunna backtesta ordentligt och veta vad man kan förvänta sig i livehandel.

Känn dina siffror

För varje strategi måste du känna till det förväntade värdet, träfffrekvensen, den förväntade drawdown, den längsta drawdownen, den förväntade volatiliteten, variansen, Sharpe-kvoten, avkastningens standardavvikelse, avkastningens skevhet och värdet vid risk. Dessutom bör rätt insatsstorlek, risk för ruin, Kelly-fraktion och optimal F väljas strategiskt baserat på hur strategin presterar under backtestet.

Gör riskhantering till en prioritet

Att radera ut 40 % av kapitalet kan hända på en dag, men att få tillbaka det kan ta många månader – om inte år. Använd korrekt riskhantering i första hand och var medveten om den potentiella risken för ruin på grund av svarta svanhändelser. Det är alltid en bra idé att räkna med det värsta fallet. Det ska inte vara en utmaning för dina strategier att en dag vakna upp till en marknad på -50 %.

Använd färre parametrar men vet vad de gör

Min bäst presterande strategi använder endast 3 parametrar. Dessa är lätta att optimera och lätta att testa för robusthet. Vet exakt vad dina parametrar gör och varför de används. Det värsta misstaget är förmodligen att låta ett optimeringsskript generera parameterkombinationer, t.ex. långsam/fast period för flera kombinationer av glidande medelvärden. Det kommer säkert att finnas något som ser bra ut på pappret/in backtestet, men det är tveksamt om samma strategi kommer att fungera i livehandel.

Skapa ett bra backtest och vet vad som gäller

Skippa inte på någon befintlig lösning (gäller för optimering också, förresten) – i alla fall inte förrän du har byggt flera backtester själv. Du måste förstå effekten av slippage, avgifter, sekvensen av exekveringshändelser och olika ordertyper. Jag skrev många backtest-skript, där de första var mycket invecklade. Min senaste version körs på 12 rader kod (mestadels parallella beräkningar), vilket än en gång bevisar att enkelhet vinner.

Finn ett bra utvärderingsmått

Det räcker inte med att testa hur strategin presterar, du måste veta vad du ska leta efter. Naturligtvis började jag leta efter hög årlig avkastning. Att optimera Sharpe var bättre, men inte heller vad jag behövde (jag undrar än i dag varför Sharpe ratio anses vara industristandarden, eftersom det finns mycket bättre mått). Att hitta rätt optimerings- och utvärderingsmått är nyckeln, annars bygger du något som helt missar målet.

Veta vad du ska leta efter i en strategi

För att hitta ett bra utvärderingsmått måste du veta vad du faktiskt letar efter i en strategi, och det baseras på många personliga faktorer (portföljstorlek, accepterad risk etc.). Känn till egenskaperna hos din önskade strategi, eftersom detta kommer att definiera vilken utvärderingsmetrik du ska välja. Jag föredrar konsekventa, negativt skeva strategier, och det är detta jag bygger för.

Fokusera på funktioner, inte på optimering

Det finns ett stort utbud av verktyg för optimering, genetiska optimeringar, icke-konvexa optimeringar, huvudkomponentanalys, statistisk/Bayesiansk optimering och tusen tjusiga bibliotek. Ur min synvinkel bidrar optimering till att förbättra en strategi med 10-20 procent, men det leder inte till en lönsam strategi i första hand. Om en strategi är dålig hjälper ingen optimering. Fokusera på deduktiv analys och feature engineering – i enkla termer, att göra meningsfullhet av indata och data.

Djupinlärning är överskattat

Jag förstår inte hypen. Maskininlärning är bra, och djupinlärning är också bra (alias neurala nätverk). Att optimera 10 000 parametrar leder sannolikt bara till överanpassning. Om strategin inte fungerar utan kraftbibliotek som Tensorflow kommer den förmodligen inte att fungera i produktion (även om backtestet är fantastiskt). Kort sagt bör strategin vara lönsam redan med något enkelt som en linjär regression.

Bättre data, bättre funktioner

”Data är oljan i den digitala världen”, har någon sagt. Jag har hört att vissa hedgefonder använder satellitbilder av parkeringsplatser för att förutsäga aktieavkastning. Även om sådana typer av data förmodligen innehåller begränsad information (jag skulle gissa lika bra som uppgifter om väderprognoser) är det fortfarande användbara data och inte dåliga på något sätt. Min poäng är: fokusera på att få bättre data för att sedan producera bättre funktioner. Kombinera flera svaga funktioner och strategier tillsammans, och detta kommer sannolikt att förbättra avkastningen.

Akademiska artiklar är bra, men…

Akademiska artiklar är bra, men de faller oftast till föga när det gäller praktisk användbarhet. Det finns helt enkelt en obalans i incitamenten mellan akademiker och näringsidkare. Akademiker är inte handlare, och handlare publicerar inte fungerande strategier. Se på akademisk forskning med en nypa salt; försumma den dock inte helt och hållet. Jag kan inte räkna hur många gånger jag funnit en liten bit information riktigt värdefull. Ett papper kommer inte att resultera i en bra strategi, men att tillämpa insikter från 20 papper kan göra det.

Snabb återkoppling är ett måste

Att konkurrera med stora aktörer, särskilt inom HFT-området, är förmodligen en dålig idé (som jag förklarade ovan). Att göra tvärtom – att hålla affärer i dagar, månader och år – är inte heller idealiskt. För mig är det bästa alternativet en hålltid på 5 till 60 minuter. Om jag inte kan testa en strategi på 2 veckor med statistisk signifikans (dvs. mer än 100 affärer) investerar jag inte min tid i den. För att testa en strategi med en hålltid på flera dagar (och längre) skulle jag behöva månader för att validera, och det är inte vad jag är intresserad av.

Handla inte bara på pris och prisindikatorer

Priset är en återspegling av vad som hänt på marknaden. Det har låg information om aktörer och deras avsikter. Indikatorer är inte heller tillräckligt användbara, eftersom de bara är en härledning från priset, och de flesta indikatorer släpar efter. Marknaderna är mer oroliga och automatiserade nuförtiden, och eftersläpande indikatorer är inte lika användbara som jag antar att de var förr.

Avledningar av avledningar är användbara

Jag hittade ett sätt att göra indikatorer användbara: genom att bygga funktioner på dem. Jag har upptäckt att strategier skulle prestera mycket bättre om indikatorer – låt oss säga glidande medelvärde – strategiskt refaktoriseras till något som liknar en andra derivation, t.ex. genom att dela upp MA-värden i bins och räkna förekomsterna per bin under de senaste X timmarna.

Dubblera din tidsram

Att välja en högre tidsram leder nästan alltid till bättre resultat. Detta kan inte upprepas i all oändlighet eftersom din forskning görs med en specifik tidsram i åtanke. Men om din strategi är optimerad för 15 minuter ger en ökning av innehavstiden från till 30 minuter nästan alltid bättre avkastning med lägre risk.

Mer riskfyllda marknader, mindre positioner

Handla på marknader som är mer volatila, eftersom volatilitet är bra för möjligheter. Var bara medveten om riskerna och justera positionsstorleken därefter. Det kan vara mycket mer lönsamt att handla på marknader som är 10x så volatila samtidigt som man har 1/10 av positionen. Risk-belöningskurvan är inte så linjär som jag trodde – jag tittar på dig Bitcoin!

Handelsavgifter gör en stor skillnad

Då du fördubblar hålltiden som nämnts minskar avgifternas roll redan nu. Att optimera strategier specifikt för att undvika stora avgifter är ännu smartare. Beroende på strategin (särskilt för högre frekvenser) utgör avgifterna mer än 50 procent av avkastningen. Detta innebär att optimering av avgifter bör vara en av de högsta prioriteringarna, oavsett om det innebär att använda färre marknadsordrar, använda bättre mäklare eller förhandla fram bättre avtal med befintliga mäklare.

Färdiggör dig själv med din handelsmiljö

Ovan nämndes under att bli mer bekant med en nischmarknad, detta gäller i ännu högre grad mäklare, börser, deras API:er, stilleståndstider och latenser. Du bör känna till deras API:er i grunden, särskilt eftersom många mäklare har invecklade och dolda funktioner som verkligen kan bidra till ens prestanda (villkorliga order, bättre information om fyllning/status på order, bulktransaktioner etc.).

Eftertanke

Tack för att du läste. Mängden saker jag lär mig dag för dag avtar inte, trots att jag närmar mig 2000 timmarsgränsen för kvanthandel. Jag tror att detta är en av de få branscher där inlärningskurvan blir brantare med tiden, vilket faktiskt gör att jag ser fram emot de kommande månaderna/åren. Slutligen, om jag skulle ha missat något – eller om du vill komma i kontakt med mig – kan du kontakta mig via e-post.

.

Lämna ett svar

Din e-postadress kommer inte publiceras.