Backtesting är en nyckelkomponent för effektiv handel med systemutveckling. Det åstadkommes genom att rekonstruera, med historiska data, affärer som skulle ha skett i det förflutna med hjälp av regler definierade av en given strategi. Resultatet erbjuder statistik för att mäta strategins effektivitet.
Den bakomliggande teorin är att alla strategier som fungerade bra i det förflutna sannolikt kommer att fungera bra i framtiden, och omvänt kommer alla strategier som har fungerat dåligt sannolikt att fungera dåligt i framtiden. Den här artikeln tittar på vilka applikationer som används i backtesting, vilken typ av data som erhålls och hur man använder dem.
Hur man testar en handelsstrategi med hjälp av data och verktyg
Backtesting kan ge massor av värdefull statistisk feedback om ett givet system. En del universell statistik för backtesting inkluderar:
- Nettoresultat: Nettoprocenten erhållen eller förlorad Volatilitetsåtgärder: Maximal procent upp- och nackdel Genomsnitt: Procentuell genomsnittlig vinst och genomsnittlig förlust, genomsnittliga barer Exponering: Procentandel av investerat kapital (eller exponerat för marknaden) Ratio: Vinst / förlustkvot Årlig avkastning: Procentuell avkastning över ett år Riskjusterad avkastning: Procentuell avkastning som funktion av risk
Program för backtesting
Vanligtvis kommer program för backtesting att ha två viktiga skärmar. Den första gör det möjligt för näringsidkaren att anpassa inställningarna för backtesting. Dessa anpassningar inkluderar allt från tidsperiod till provisionskostnader. Här är ett exempel på en sådan skärm i AmiBroker:
Den andra skärmen är den faktiska resultatrapporten. Det är här du kan hitta statistiken som nämns ovan. Återigen, här är ett exempel på den här skärmen i AmiBroker:
I allmänhet innehåller de flesta handelsprogramvaror liknande element. Vissa avancerade program inkluderar också ytterligare funktionalitet för att utföra automatisk positionsstorlek, optimering och andra mer avancerade funktioner.
10 regler för backtesting handelsstrategier
Det finns många faktorer att uppmärksamma när näringsidkare backtestar handelsstrategier. Här är en lista över de viktigaste sakerna att komma ihåg när du testar:
- Ta hänsyn till de breda marknadstrenderna inom den tidsram som en given strategi testades. Till exempel, om en strategi endast testades 1999–2000, kanske det inte går bra på en björnmarknad. Det är ofta en bra idé att backtest över en lång tidsram som omfattar flera olika typer av marknadsförhållanden. Ta hänsyn till universumet där backtesting inträffade. Till exempel, om ett brett marknadssystem testas med ett universum som består av tekniska aktier, kan det inte klara sig bra i olika sektorer. Som en allmän regel, om en strategi riktas mot en specifik aktiegenre, begräns universumet till den genren; underhålla i alla andra fall ett stort universum för testningsändamål. Volatilitetsåtgärder är oerhört viktiga att tänka på när man utvecklar ett handelssystem. Detta gäller särskilt för skuldsatta konton, som utsätts för marginalsamtal om deras eget kapital sjunker under en viss punkt. Handlare bör försöka hålla volatiliteten låg för att minska risken och möjliggöra enklare övergång till och från ett visst lager. Det genomsnittliga antalet barer som hålls är också mycket viktigt att se när man utvecklar ett handelssystem. Även om de flesta program för backtesting inkluderar provisionskostnader i de slutliga beräkningarna, betyder det inte att du bör ignorera denna statistik. Om möjligt kan du höja ditt genomsnittliga antal barer som hålls och minska provisionskostnaderna och förbättra din totala avkastning. Exponering är ett dubbelkantigt svärd. Ökad exponering kan leda till högre vinster eller högre förluster, medan minskad exponering innebär lägre vinster eller lägre förluster. I allmänhet är det en bra idé att hålla exponeringen under 70% för att minska risken och möjliggöra enklare övergång till och från ett visst lager. Medelvinst / förluststatistik, i kombination med vinst / förlust-förhållandet, kan vara användbar för att bestämma optimal positionstorlek och penninghantering med hjälp av tekniker som Kelly Criterion. Handlare kan ta större positioner och minska provisionskostnaderna genom att öka deras genomsnittliga vinster och öka deras vinst-till-förlust-kvot. Annualiserad avkastning används som ett verktyg för att jämföra ett systems avkastning mot andra investeringsplatser. Det är viktigt att inte bara titta på den totala årliga avkastningen utan också ta hänsyn till den ökade eller minskade risken. Detta kan göras genom att titta på den riskjusterade avkastningen, som står för olika riskfaktorer. Innan ett handelssystem införs måste det överträffa alla andra investeringsplatser med lika eller mindre risk. Anpassning av testning är extremt viktigt. Många applikationer för backtesting har input för provisionskostnader, runda (eller bråkdelade) partistorlekar, kryssstorlekar, marginalkrav, räntesatser, antaganden om glidning, regler för positioneringsstorlek, exit-regler för samma stapel, (släp) stoppinställningar och mycket mer. För att få de mest exakta backtestresultaten är det viktigt att ställa in dessa inställningar för att härma mäklaren som ska användas när systemet går live. Backtesting kan ibland leda till något som kallas överoptimering. Detta är en förutsättning där prestationsresultaten är inställda så högt till det förflutna att de inte längre är lika exakta i framtiden. Det är generellt en bra idé att implementera regler som gäller för alla lager, eller en utvald uppsättning riktade lager, och är inte optimerade i den utsträckning reglerna inte längre är förståliga av skaparen. Backtesting är inte alltid det mest exakta sättet att mäta effektiviteten hos ett visst handelssystem. Ibland misslyckas strategier som har fungerat bra i det förflutna i nutiden. Tidigare resultat indikerar inte framtida resultat. Var noga med att handla ett system som har testats framgångsrikt innan du går live för att vara säker på att strategin fortfarande gäller i praktiken.
Poängen
Backtesting är en av de viktigaste aspekterna av att utveckla ett handelssystem. Om de skapas och tolkas ordentligt kan det hjälpa handlare att optimera och förbättra sina strategier, hitta tekniska eller teoretiska brister samt få förtroende för sin strategi innan de tillämpar den på den verkliga världsmarknaden.
