Metod för backtester
Exakt vad backtestern gör, så att du kan bedöma hur mycket du kan lita på ett resultat. Alla backtester på webbplatsen, i appen och i Claude använder samma motor och regler.
Data
- Dagliga kurser, utdelningar och splits för alla aktier på Oslo Børs, Nasdaq Stockholm, Nasdaq Copenhagen och Nasdaq Helsinki, ungefär 12 år bakåt, från Yahoo Finance. Uppdateras varje vardagskväll.
- Avkastningen använder utdelningsjusterade kurser, så utdelningar återinvesteras. En strategi kan köras i NOK, SEK, DKK, EUR eller USD: avkastningen räknas om med varje dags växelkurs.
- Siffror från årsredovisningar (resultat, eget kapital, EBITDA, skulder, antal aktier) från Yahoo Finance, som bara går tillbaka till omkring 2023.
- Räntor från Norges Bank och inflation från norska SSB, för marknadstajming.
- AI-bedömningar av bolagsmeddelanden och rapporter, från börsernas nyhetstjänster.
Ingen framtidskunskap
En backtest får bara använda det en investerare kunde ha vetat den dagen. Varje regel nedan ser till det.
- Beslut använder data till och med stängningskursen dag t och handlas från dag t+1, så en signal tjänar aldrig avkastningen från dagen den mättes.
- Siffror från årsredovisningar räknas från 90 dagar efter räkenskapsårets slut, när rapporten har publicerats, och upphör efter 550 dagar, så ett bolag som slutar rapportera faller bort.
- Ett meddelande räknas från dagen det publicerades, eller nästa handelsdag om det kom efter stängning kl. 16.20.
- Makrovärden dateras när de publicerades: inflationen för en månad från den 10:e i månaden efter.
- Växelkurser fylls aldrig i från senare dagar.
- Kursrensningen tar bara bort noll- och negativa kurser. Stora hopp behålls och räknas under resultatet: en senare kurs används aldrig för att rätta en tidigare, eftersom det också vore framtidskunskap.
Handel och kostnader
- Courtage tas ut i baspunkter på varje köp och försäljning, med en valfri minimiavgift per affär. Förvalen följer de nordiska mäklarnas prislistor.
- Slippage, när det är påslaget, är halva köp-sälj-spreaden plus en kvadratrotsterm för marknadspåverkan: daglig volatilitet × √(affärens storlek ÷ genomsnittlig daglig omsättning). Att handla en större del av aktiens normala omsättning kostar mer, upp till 20 % av affären. Volatilitet och omsättning är från dagen före.
- Blankningspositioner betalar en låneavgift på sitt värde varje dag, 2 % per år om du inte anger något annat.
- Mellan ombalanseringarna följer innehaven kurserna och handlas inte. En order i en aktie utan kurs den dagen väntar tills aktien handlas.
- Alla kostnader visas under resultatet, uppdelade på courtage, slippage och lån.
Jämförelseindex
Varje resultat jämförs med alla aktier i sitt eget urval – de som klarar kurs-, omsättnings- och historikfiltren varje dag – likaviktade och utan kostnader. Det svarar på frågan: tillförde filtren och rangordningen något utöver att bara äga marknaden du valde?
Nyckeltal
Nyckeltalen använder daglig avkastning med 252 handelsdagar per år och ingen riskfri ränta.
- Sharpe
- Genomsnittlig årlig avkastning delad med årlig volatilitet.
- Sortino
- Som Sharpe, men delad med nedsidesavvikelsen: bara förlustdagar räknas som risk.
- Calmar
- CAGR delad med största nedgången: årlig avkastning per enhet av den värsta nedgången.
- Beta och alfa mot jämförelseindex
- Beta är hur mycket strategin rör sig när jämförelseindex rör sig 1 %. Alfa är den årliga avkastning som återstår efter beta × jämförelseindexets avkastning.
- Tracking error och informationskvot
- Tracking error är den årliga volatiliteten i avkastningen utöver jämförelseindex. Informationskvoten är den överavkastningen per år delad med tracking error: över 0,5 är bra och ovanligt.
- Största nedgångar
- De djupaste nedgångarna från en topp, med datumen för toppen, botten och återhämtningen, och hur många handelsdagar det tog att komma tillbaka.
Faktorregression
En strategi kan slå jämförelseindex bara genom att äga fler små bolag eller nyliga vinnare än jämförelseindex. Faktorregressionen skiljer det från verklig skicklighet (alfa). Den förklarar strategins veckoavkastning med fyra faktorer byggda från samma urval som varje backtest använder:
- Marknad
- Jämförelseindexets avkastning.
- Storlek (små minus stora)
- De 30 % av aktierna med lägst omsättning minus de 30 % med högst. Omsättningen står i stället för börsvärde, som kräver antal aktier, och det går bara tillbaka till omkring 2023.
- Momentum (12-1 månader)
- De 30 % med högst avkastning det senaste året, utan den senaste månaden, minus de 30 % med lägst.
- Låg volatilitet
- De 30 % med lägst 60-dagarsvolatilitet minus de 30 % med högst.
Varje faktor byggs om första handelsdagen varje månad utifrån den dagens stängningskurs, hålls likaviktad från dagen efter och behöver minst fem aktier på varje sida. Veckoavkastning används eftersom många nordiska småbolag inte handlas varje dag, vilket skulle dra dagliga skattningar mot noll. T-värdena använder Newey-West-standardfel med fyra laggar, som tar hänsyn till avkastning som hänger ihop från vecka till vecka. Regressionen behöver ett år av veckor.
Läs det så här: en exponering på 0,5 mot storlek betyder ett halvt vad på småbolag. Faktoralfan är den årliga avkastning som ingen av faktorerna förklarar. Med ett t-värde under 2 går den inte att skilja från noll, hur stor den än ser ut. Värde- och kvalitetsfaktorer läggs till när data från årsredovisningarna täcker tillräckligt många år.
Avkastningen minskas inte med en riskfri ränta. Med beta b och riskfri ränta rf är alfa överskattad med ungefär rf × (1 − b) per år.
Test av robusthet
Ett bra backtest kan vara tur, och att prova många varianter och behålla den bästa är ett säkert sätt att hitta tur. De här verktygen visar om ett resultat håller:
- Rullande perioder: hur ofta strategin slog jämförelseindex över alla 1- och 3-årsfönster.
- Korsvalidering: samma strategi startad på många datum, där varje körning väljer sina egna aktier från kontanter, med spridningen i CAGR och Sharpe.
- Optimering och Förbättra med AI: varje variant visar CAGR för periodens första och andra halva. En variant som bara glänser i ena halvan hade troligen tur.
- Walk-forward-test: optimeringens bästa inställning i ett rullande träningsfönster, handlad under månaderna efter och sedan vald på nytt. Sammanfogade visar testperioderna vad optimeringen skulle ha tjänat utan facit i efterhand, bredvid inställningen som visade sig vara bäst. Varje inställning backtestas en gång över hela perioden och delas upp i fönster, så att byta inställning mellan testerna kostar inget extra.
- Deflaterad Sharpekvot (Bailey och López de Prado): chansen att den bästa Sharpe bland de prövade inställningarna är en verklig fördel. Den höjer ribban från noll till den Sharpe som den bästa av så många inställningar skulle nå av tur, och tar hänsyn till testets längd, skevhet och tjocka svansar. Över 95 % är övertygande. Den känner bara till inställningarna i den körningen, inte de andra idéer du provade först.
- Livestrategier: en historik från dagen du börjar följa en strategi, med verkliga kurser, som aldrig räknas om.
Export till Python eller kalkylark
Tryck på Ladda ned på ett resultat för att spara värdeutvecklingen, alla affärer och innehaven som CSV-filer, eller hela resultatet som JSON. Värdena är råa: avkastning som decimaltal och belopp i strategins valuta.
import pandas as pd
equity = pd.read_csv("tickback-…-equity.csv", parse_dates=["date"], index_col="date")
returns = equity["strategy"].pct_change().dropna()
print(returns.resample("YE").apply(lambda r: (1 + r).prod() - 1))
Kända begränsningar
- Överlevnadsbias: bolag som avnoterats, genom konkurs eller uppköp, finns inte i data. Resultaten ser bättre ut än verkligheten, mest för småbolag och strategier som köper förlorare. Att lägga till avnoterade bolag är nästa steg för data.
- Siffror från årsredovisningar går bara tillbaka till omkring 2023, så värde- och kvalitetsstrategier har kort historik.
- AI-modellen kan veta vad som hände efter äldre meddelanden, så AI-strategier kan se bättre ut de första åren än de skulle ha varit.
- Yahoo Finance har ibland fel, som splits som inte är justerade. Stora hopp räknas under varje resultat.
- Affärer sker till stängningskurs: det finns inga data under dagen, och skatt ingår inte.
Så kontrolleras motorn
Motorn granskades i september 2026, och alla fel som hittades har rättats. En automatisk testsvit körs vid varje ändring. Den jämför simuleringen med oberoende bokföring av aktier och kontanter, kontrollerar att senare data aldrig ändrar ett tidigare resultat, och kontrollerar kostnader, blankning, stop-loss och valutaomräkning på små marknader med kända svar.