Investor's wiki

backtesting

backtesting

Vad Àr backtesting?

Backtesting Àr den allmÀnna metoden för att se hur bra en strategi eller modell skulle ha fungerat i efterhand. Backtesting bedömer lönsamheten för en handelsstrategi genom att upptÀcka hur den skulle fungera med historiska data. Om backtesting fungerar kan handlare och analytiker ha förtroendet att anvÀnda det framöver.

FörstÄ Backtesting

Backtesting tillÄter en handlare att simulera en handelsstrategi med hjÀlp av historiska data för att generera resultat och analysera risker och lönsamhet innan de riskerar nÄgot faktiskt kapital.

Ett vÀl genomfört backtest som ger positiva resultat försÀkrar handlare om att strategin Àr i grunden sund och sannolikt kommer att ge vinster nÀr den implementeras i verkligheten. DÀremot kommer ett vÀl genomfört backtest som ger suboptimala resultat att fÄ handlare att Àndra eller förkasta strategin.

SÀrskilt komplicerade handelsstrategier, sÄsom strategier implementerade av automatiserade handelssystem, Àr mycket beroende av backtesting för att bevisa sitt vÀrde, eftersom de Àr för svÄrbegripliga för att utvÀrdera nÄgot annat.

SÄ lÀnge en handelsidé kan kvantifieras kan den backtestas. Vissa handlare och investerare kan söka expertis hos en kvalificerad programmerare för att utveckla idén till en testbar form. Vanligtvis involverar detta en programmerare som kodar idén till det proprietÀra sprÄket som Àr vÀrd för handelsplattformen.

Programmeraren kan inkorporera anvÀndardefinierade indatavariabler som gör att handlaren kan "tweaka" systemet. Ett exempel pÄ detta skulle vara i det enkla glidande medelvÀrdet (SMA) crossover-systemet. Handlaren skulle kunna mata in (eller Àndra) lÀngden pÄ de tvÄ glidande medelvÀrden som anvÀnds i systemet. Handlaren kunde sedan backtesta för att avgöra vilka lÀngder av glidande medelvÀrden som skulle ha presterat bÀst pÄ historiska data.

Det ideala backtesting-scenariot

Det ideala backtestet vÀljer exempeldata frÄn en relevant tidsperiod med en varaktighet som speglar en mÀngd olika marknadsförhÄllanden. PÄ sÄ sÀtt kan man bÀttre bedöma om resultatet av backtestet representerar en lyckotrÀff eller sund handel.

Den historiska datamÀngden mÄste innehÄlla ett verkligt representativt urval av aktier, inklusive de frÄn företag som sÄ smÄningom gick i konkurs eller sÄldes eller likviderades. Alternativet, inklusive endast data frÄn historiska aktier som fortfarande finns kvar idag, kommer att ge artificiellt hög avkastning i backtesting.

Ett backtest bör övervÀga alla handelskostnader, hur obetydliga de Àn Àr, eftersom dessa kan lÀggas ihop under loppet av backtesting-perioden och drastiskt pÄverka utseendet pÄ en strategis lönsamhet. Handlare bör se till att deras backtesting-programvara stÄr för dessa kostnader.

Utomprovstestning och framÄtprestandatestning ger ytterligare bekrÀftelse angÄende ett systems effektivitet och kan visa ett systems verkliga fÀrger innan riktiga pengar Àr pÄ gÄng. En stark korrelation mellan backtesting, out-of-samp och forward prestationstestresultat Àr avgörande för att bestÀmma lönsamheten för ett handelssystem.

Backtesting vs. FramÄtprestandatestning

FramÄtprestandatestning, Àven kÀnd som pappershandel,. förser handlare med ytterligare en uppsÀttning out-of-sample data för att utvÀrdera ett system. FramÄtprestandatestning Àr en simulering av faktisk handel och innebÀr att följa systemets logik pÄ en livemarknad. Det kallas ocksÄ för pappershandel eftersom alla affÀrer endast utförs pÄ papper; det vill sÀga transaktioner och uttrÀden dokumenteras tillsammans med eventuell vinst eller förlust för systemet, men inga riktiga affÀrer utförs.

En viktig aspekt av framÄtprestandatestning Àr att följa systemets logik exakt; annars blir det svÄrt, för att inte sÀga omöjligt, att exakt utvÀrdera detta steg i processen. Handlare bör vara Àrliga om alla handelsintrÀden och uttrÀden och undvika beteenden som körsbÀrsplockningsaffÀrer eller att inte inkludera en handel pÄ papper som rationaliserar att "jag skulle aldrig ha tagit den handeln." Om handeln skulle ha skett enligt systemets logik bör den dokumenteras och utvÀrderas.

Backtesting vs. Scenariosanalys

Medan backtesting anvÀnder faktiska historiska data för att testa för passform eller framgÄng, anvÀnder scenarioanalys hypotetiska data som simulerar olika möjliga utfall. Till exempel kommer scenarioanalys att simulera specifika förÀndringar i vÀrdena pÄ portföljens vÀrdepapper eller nyckelfaktorer som Àger rum, sÄsom en förÀndring i rÀntan.

Scenarioanalys anvÀnds vanligtvis för att uppskatta förÀndringar i en portföljs vÀrde som svar pÄ en ogynnsam hÀndelse och kan anvÀndas för att undersöka ett teoretiskt vÀrsta scenario.

NĂ„gra fallgropar med backtesting

För att backtesting ska ge meningsfulla resultat mÄste handlare utveckla sina strategier och testa dem i god tro och undvika partiskhet sÄ mycket som möjligt. Det betyder att strategin bör utvecklas utan att förlita sig pÄ data som anvÀnds i backtesting.

Det Àr svÄrare Àn det verkar. Handlare bygger i allmÀnhet strategier baserade pÄ historiska data. De mÄste vara strikta med att testa med andra datamÀngder Àn de de trÀnar sina modeller pÄ. Annars kommer backtestet att ge lysande resultat som inte betyder nÄgot.

PÄ liknande sÀtt mÄste handlare undvika datamuddring, dÀr de testar ett brett utbud av hypotetiska strategier mot samma uppsÀttning data, vilket ocksÄ kommer att ge framgÄngar som misslyckas pÄ realtidsmarknader eftersom det finns mÄnga ogiltiga strategier som skulle slÄ marknaden över en specifik tidsperiod av en slump.

Ett sÀtt att kompensera för tendensen till att data muddra eller cherry-plocka Àr att anvÀnda en strategi som lyckas i den relevanta, eller in-sample, tidsperioden och backtesta den med data frÄn en annan, eller out-of-sample, tidsperiod . Om backtests inom och utanför urvalet ger liknande resultat, Àr det mer sannolikt att de bevisas giltiga.

##Höjdpunkter

– Den underliggande teorin Ă€r att varje strategi som fungerade bra tidigare sannolikt kommer att fungera bra i framtiden, och omvĂ€nt kommer varje strategi som fungerade dĂ„ligt tidigare sannolikt att fungera dĂ„ligt i framtiden.

  • Backtesting bedömer lönsamheten hos en handelsstrategi eller prismodell genom att upptĂ€cka hur den skulle ha utspelat sig i efterhand med hjĂ€lp av historiska data.

  • NĂ€r du testar en idĂ© pĂ„ historisk data Ă€r det fördelaktigt att reservera en tidsperiod med historisk data för testĂ€ndamĂ„l. Om det lyckas kan testa det pĂ„ alternativa tidsperioder eller data utanför urvalet hjĂ€lpa till att bekrĂ€fta dess potentiella livskraft.