Handelsutbildning
Så backtestar du en handelsstrategi: steg-för-steg-guide
Lär dig hur du backtestar en handelsstrategi steg för steg. Omfattar verktyg, metoder, vanliga misstag och hur du tolkar backtestresultat för nybörjare.
Översättningen uppdaterad
- Ursprungligen publicerad
- Källan uppdaterad
- Översättningen uppdaterad
I den här artikeln
Backtestning tillämpar angivna regler på historiska data under en utförandemodell. Den uppskattar vad den modellen skulle ha gett, inte vad ett riktigt konto definitivt skulle ha tjänat.
1. Skriv regler som en annan person kan reproducera
Definiera instrumentet, datakällan, sessionen, signalens timing, order för in- och utträde, kvantitetsmetod, kostnader och villkor för att inte handla. Ange om en signal använder en avslutad bar. Versionshantera reglerna innan du kör utvärderingen.
För ett crossover-exempel: ange typ av medelvärde och perioder, vilken bar som bekräftar korsningen och den tidigaste tidpunkten för en efterföljande order. ”Köp vid crossover” lämnar viktiga antaganden om orderutförande obesvarade.
2. Kontrollera data som du kunde ha känt till
Granska saknade barer, tidszonsförändringar, justeringar för bolagshändelser och rullningar av terminskontrakt. En aktuell lista över överlevande aktier är inte nödvändigtvis det historiska universumet. Ekonomiska rapporter och företagssiffror kan ha reviderats efter testdatumet.
Värden från högre tidsramar och bekräftade svängpunkter kan föra in framtida information om de används för tidigt. Bevara dataversionen och testinställningarna så att resultatet kan reproduceras.
3. Modellera order och kostnader
En bar som innehåller både mål och stop säger inte vilket som träffades först. Använd finare data där det är lämpligt eller dokumentera en konservativ regel för oklarheter. Att priset nuddar en limitkurs garanterar inte tillgänglig kvantitet eller ett orderutförande.
Ta med den faktiska avgiftsstrukturen och ett motiverat intervall för antaganden om ogynnsamma orderutföranden. Det finns inget universellt tillåtet slippageutrymme på en till två tick som passar varje order, instrument och händelse. TradingViews strategidokumentation förklarar hur en mäklaremulator hanterar order och begränsningar vid testning; andra verktyg kan skilja sig.
4. Granska sekvensen, inte bara totalsumman
Registrera tidsstämplar för in- och utträde, orderutföranden, kvantiteter, kostnader, öppen exponering och skäl till att order hoppades över eller avvisades. Granska förväntat nettoresultat per affär, nedgång från referensvärdet (drawdown) och beroende av ett fåtal extremvärden tillsammans med vinstfrekvens och profit factor.
En vinstfrekvens på 45% med genomsnittliga bruttovinster som är dubbelt så stora som genomsnittliga förluster har ett positivt förväntat bruttoresultat per affär i den modellen. Kostnader eller olika realiserade utfall per affär kan vända det. En fast målkvot är inte samma sak som en observerad genomsnittlig vinnande affär.
5. Håll utvärderingen åtskild från urvalet
Använd en del av data för att utveckla regler och en separat del för att utvärdera dem. Att upprepade gånger finjustera mot den andra delen gör den till ännu ett utvecklingsdataset. Dokumentera hur många varianter som testades och inkludera ogynnsamma perioder.
Ingen tröskel på 100 affärer skapar statistisk signifikans på egen hand. Beroende mellan affärer, variation i utfall per affär och marknadstäckning spelar roll. Se osäkerhet kring urvalsstorlek.
Framåtsimulering kan sedan kontrollera timing och orderarbetsflöde på nyinkommande data. Det är fortfarande simulering, och ett bra resultat kräver inte ett test med riktiga pengar. Pausa omedelbart vid ett säkerhets- eller implementeringsproblem i stället för att fortsätta bara för att nå ett antal.
Riskfriskrivning: Handel innebär en betydande risk för förlust. Tidigare resultat är inte en indikation på framtida resultat. Se vår fullständiga riskfriskrivning.