Backtesting, vad är det?

Det finns ett antal grundläggande tillvägagångssätt för backtesting som du måste eller bör vara medveten om.

 backtesting

backtesting

Först och möjligen så är det farligaste i din backtesting om du möjliggör ditt system att se ”framtida data” – med det här menar jag att du inte får låta dina ”backtester” få tillgång till data som eventuellt kan komma i framtiden. Detta kan vara mycket subtilt och svårt att felsöka och inte särskilt uppenbart. Det bästa sättet att ta sig runt detta problem i din backtesting är att vara riktigt disciplinerad i din kodning och att isolera data baserat på dess ålder.

För det andra, och en potentiell fara i din backtest för de som jobbar med gratis data, är Survivor Bias. Det är här aktier har fallit ut ur index under åren och på grund av detta är därför ditt första dataset redan partisk i din backtest till förmån för de som är kvar. Det finns inget enkelt sätt runt detta. Jag tror att om backtesten är noggrann och dina testiterationer är tillräckligt stora så kommer det inte nödvändigtvis att vara ett problem.

Det tredje och det viktigaste i din backtest, undvik curvefitting. Med detta menar jag att om du lägger till många parametrar till din modell, så skall du inte bli förvånad om du får väldigt bra avkastning vid en backtest. Detta är inte nödvändigtvis något bra utan det kan ha skett på grund av överoptimering. Less is more är ett bra motto att ha när man backtestar. Du bör sträva efter att minska dina parametrar till ett absolut minimum när du backtestar så att din modell kommer att fungera inom de mesta områden och typer av marknader. Tecknet på en bra backtest modell är hur få, och hur enkla parametrarna är. Du bör sträva efter att kontinuerligt backtesta och minska dina parametrar tills du inte ser någon observerbar förändring av dina resultat. Detta är inte helt enkelt att göra, men avgörande, särskilt för amatörer som börjar backtesta.

Fjärde, ”ränta på ränta principen”. Jag gjorde detta misstag ett tag för länge sedan när jag backtesta, min backtesting-modell skulle använda avkastningen från tidigare affärer för att finansiera framtida. Det ser bra ut och hjälper dig att se effekterna av ränta på ränta principen, men det hjälper inte att testa eller verifiera hur bra din strategi är. Du måste eliminera detta från din ursprungliga backtestning så att du bara testar sannolikheten av dina parametrar.

Vilka verktyg skall man använda när man backtestar?

personligen så tycker jag följande programvaror är bäst om man vill backtesta.

Tradestation

Multicharts

Amibroker

Ninjatrader

Sedan finns det en hel del backtesting man kan göra med Python. Det kan om man gör det rätt och är duktig på programmering också bli mycket bra. Problemet är du måste kunna extremt mycket för att ens komma upp till nivån som de programvaror jag listar ovan kan göra. Det finns en plattform som jag kan rekommendera om du vill ta denna vägen framåt och det är Quantopian.

Jag jobbar själv på heltid med algotrading sedan många år tillbaka. Algotrading är detsamma som automatiserad trading och jag har alltid jobbat med de 2 första i min lista ovan. De kan jag rekommendera om du är seriös och vill göra dett på heltid eller är en nybörjare som vill komma igång. Backtesting kommer att vara en mycket viktig del av din trading om börjar med autotrading.

Backtesting på svenska börsen

Backtesta teknisk analys med historiska data. Vill du backtesta olika formationer och setuper på Stockholmsbörsen och se hur de har avkastat historiskt? Något av det viktigaste som finns inom trading är att själv ta reda på statistik och varför olika saker sker och inte sker på börsen. Detta gör du genom att backtesta dina ideér. Nu har du möjlighet att backtesta själv. I tidigare inlägg kan du läsa om hur en mycket enkel strategi har slagit index i USA. Nu kan du dock själv backtesta den och många andra moving average-strategier själv på Samuelssons Rapport med hjälp av vår nya MA-Backtester!

backtest

backtest

Algotrading – Vad är det?

Vad är algotrading? Du har kanske stött på ordet förut några gånger och undrat vad nu detta är för något. Algo trading är när någon skriver ett datorprogram för att göra affärer på börsen och som är baserat på vissa regler. Reglerna är algoritmiska. En algoritm har inget fast värde till skillnad mot en logaritm är där det finns ett initialt fast tal som ska beräknas utifrån. Värdet beräknas i stället utifrån pris från de finansiella marknaderna.

En robots ansikte med diagram i bakgrunden

Algotrading och robothandel

Algo traders kan hålla sin algostrategi aktiverad 24 timmar om dygnet och 7 dagar i veckan om man så vill och programvaror och börsen tillåter det. Det krävs en del programmeringsskicklighet och framförallt engagemang för att göra en sådan algoritm. Transaktionerna sker mycket snabbare än en person kan utföra. Det finns idag programvaror som man kan använda för att underlätta programmeringen av strategier och den automatiska handeln.

Vad krävs för att komma igång med algo trading

Så här gör vi det här, jag kommer att lista ned alla saker som krävs för att du ska starta din egen algoritmiska handel och robothandel och kommer att ge resurser för att täcka var och en av följande saker.
  • Tradingstrategi: en testad lönsam strategi, helst baserat på kvantitativ analys och framtagen med en form av backtesting
  • Programmeringskunskap: Programmering av din egen strategi med hjälp av backtesting bland annat
  • Programvara: som förbinder dig till mäklaren och skickar ordrar för dig
  • Kursdata: data för realtidstrading och historiska data för att backtesta din strategi
  • Infrastruktur: server, datorer, backup strömförsörjning, internetanslutning etc.

Mer information:

Fler bra källor som förklarar vad backtesting är:
Backtesting in Algorithmic Trading
Are your backtest results fooling you?

Tradingstrategi

Detta är den viktigaste delen av algotrading och robothandel. Jag lägger mest tid här. Har jag 10 timmar att jobba så lägger jag 8-9 på att skapa robothandel strategier. Det är den klart svåraste biten av algotrading och robothandel men samtidigt den mest roliga. Marknaden är i ständig förändring och det gör det till en utmaning att hitta algoritmer som klarar olika marknadsförhållanden. Det är absolut inte omöjligt men heller inte lätt.

Se till att din tradingstrategi är robust samt klar och redo att köras. Här är en checklista som jag använder i min algoutbildning och min egen trading:

  • Tydligt definierade regler för entry, exit, stopp och profittargets
  • Har du testat den under en period för att se om den verkligen fungerar?
  • Portfolio management -vilka marknader som ska handlas
  • Risk management – ge dig själv svar på följande frågor. -Hur mycket skall jag riskera per trade och varför vill jag ha det så? När det gäller algoritmisk trading så finns det en också en stor mängd med risk som man utsätts för genom bland annat tekniken man använder. Teknik kan gå sönder och det är bra att ha koll på vad.
  • Sätt av lite pengar för oförutsedda händelser utifall något går snett och framförallt för att betala för dina misstag som du med stor säkerhet kommer att göra i början.