Metode for backtests
Præcis hvad backtesteren gør, så du kan vurdere, hvor meget du kan stole på et resultat. Alle backtests på sitet, i appen og i Claude bruger den samme motor og de samme regler.
Data
- Daglige kurser, udbytter og splits for alle aktier på Oslo Børs, Nasdaq Stockholm, Nasdaq Copenhagen og Nasdaq Helsinki, omkring 12 år tilbage, fra Yahoo Finance. Opdateres hver hverdagsaften.
- Afkastet bruger udbyttejusterede kurser, så udbytter geninvesteres. En strategi kan køres i NOK, SEK, DKK, EUR eller USD: afkastet omregnes med hver dags valutakurs.
- Tal fra årsrapporter (resultat, egenkapital, EBITDA, gæld, antal aktier) fra Yahoo Finance, som kun går tilbage til omkring 2023.
- Renter fra Norges Bank og inflation fra Norges Statistisk sentralbyrå, til markedstiming.
- AI-vurderinger af selskabsmeddelelser og rapporter, fra børsernes nyhedstjenester.
Ingen fremtidsviden
En backtest må kun bruge det, en investor kunne have vidst den dag. Hver regel nedenfor sikrer det.
- Beslutninger bruger data til og med lukkekursen på dag t og handles fra dag t+1, så et signal tjener aldrig afkastet fra den dag, det blev målt.
- Tal fra årsrapporter tæller fra 90 dage efter regnskabsårets afslutning, når rapporten er offentliggjort, og udløber efter 550 dage, så et selskab, der holder op med at rapportere, falder ud.
- En meddelelse tæller fra den dag, den blev offentliggjort, eller næste handelsdag, hvis den kom efter lukketid kl. 16.20.
- Makrotal dateres, når de blev offentliggjort: inflationen for en måned fra den 10. i måneden efter.
- Valutakurser udfyldes aldrig fra senere dage.
- Kursrensningen fjerner kun nul- og negative kurser. Store spring beholdes og tælles op under resultatet: en senere kurs bruges aldrig til at rette en tidligere, for det ville også være fremtidsviden.
Handel og omkostninger
- Kurtage opkræves i basispoint på hvert køb og salg, med valgfrit minimumskurtage pr. handel. Forudindstillingerne følger de nordiske mæglers prislister.
- Slippage, når det er slået til, er halvdelen af købs-salgs-spændet plus et kvadratrodsled for markedspåvirkning: daglig volatilitet × √(handlens størrelse ÷ gennemsnitlig daglig omsætning). At handle en større del af aktiens normale omsætning koster mere, op til 20 % af handlen. Volatilitet og omsætning er fra dagen før.
- Shortpositioner betaler et lånegebyr af deres værdi hver dag, 2 % om året, medmindre du angiver andet.
- Mellem rebalanceringerne følger beholdningen kurserne og handles ikke. En ordre i en aktie uden kurs den dag venter, til aktien handles.
- Alle omkostninger vises under resultatet, fordelt på kurtage, slippage og lån.
Sammenligningsindeks
Hvert resultat sammenlignes med alle aktierne i sit eget udvalg – dem, der består kurs-, omsætnings- og historikfiltrene hver dag – ligevægtet og uden omkostninger. Det besvarer spørgsmålet: tilførte filtrene og rangeringen noget ud over bare at eje det marked, du valgte?
Nøgletal
Nøgletallene bruger dagligt afkast med 252 handelsdage om året og ingen risikofri rente.
- Sharpe
- Gennemsnitligt årligt afkast divideret med årlig volatilitet.
- Sortino
- Som Sharpe, men divideret med nedsideafvigelsen: kun tabsdage tæller som risiko.
- Calmar
- CAGR divideret med største fald: årligt afkast pr. enhed af det værste fald.
- Beta og alfa mod sammenligningsindekset
- Beta er, hvor meget strategien bevæger sig, når sammenligningsindekset bevæger sig 1 %. Alfa er det årlige afkast, der er tilbage efter beta × sammenligningsindeksets afkast.
- Tracking error og informationsratio
- Tracking error er den årlige volatilitet i afkastet ud over sammenligningsindekset. Informationsratioen er dette merafkast pr. år divideret med tracking error: over 0,5 er godt og sjældent.
- Største fald
- De dybeste fald fra en top med datoerne for toppen, bunden og indhentningen, og hvor mange handelsdage det tog at komme tilbage.
Faktorregression
En strategi kan slå sammenligningsindekset blot ved at eje flere små selskaber eller nylige vindere end sammenligningsindekset. Faktorregressionen adskiller det fra reel dygtighed (alfa). Den forklarer strategiens ugentlige afkast med fire faktorer bygget fra det samme udvalg, som hver backtest bruger:
- Marked
- Sammenligningsindeksets afkast.
- Størrelse (små minus store)
- De 30 % af aktierne med lavest omsætning minus de 30 % med højest. Omsætningen står i stedet for markedsværdi, som kræver antal aktier, og det går kun tilbage til omkring 2023.
- Momentum (12-1 måneder)
- De 30 % med højest afkast det seneste år, uden den seneste måned, minus de 30 % med lavest.
- Lav volatilitet
- De 30 % med lavest 60-dages volatilitet minus de 30 % med højest.
Hver faktor genopbygges første handelsdag hver måned ud fra lukkekursen den dag, holdes ligevægtet fra dagen efter og kræver mindst fem aktier på hver side. Ugentligt afkast bruges, fordi mange nordiske small caps ikke handles hver dag, hvilket ville trække daglige estimater mod nul. T-værdierne bruger Newey-West-standardfejl med fire lags, som tager højde for afkast, der hænger sammen fra uge til uge. Regressionen kræver et år med uger.
Læs det sådan: en eksponering på 0,5 mod størrelse betyder et halvt væddemål på små selskaber. Faktoralfaen er det årlige afkast, som ingen af faktorerne forklarer. Med en t-værdi under 2 kan den ikke skelnes fra nul, uanset hvor stor den ser ud. Værdi- og kvalitetsfaktorer tilføjes, når dataene fra årsrapporterne dækker nok år.
Afkastet reduceres ikke med en risikofri rente. Med beta b og risikofri rente rf er alfa overvurderet med omkring rf × (1 − b) om året.
Test af robusthed
Én god backtest kan være held, og at prøve mange varianter og beholde den bedste er en sikker måde at finde held på. Disse værktøjer viser, om et resultat holder:
- Rullende perioder: hvor ofte strategien slog sammenligningsindekset over alle 1- og 3-årsvinduer.
- Krydsvalidering: den samme strategi startet på mange datoer, hvor hver kørsel vælger sine egne aktier fra kontanter, med spredningen i CAGR og Sharpe.
- Optimering og Forbedr med AI: hver variant viser CAGR for første og anden halvdel af perioden. En variant, der kun skinner i den ene halvdel, var sandsynligvis heldig.
- Walk-forward-test: optimeringens bedste indstilling i et rullende træningsvindue, handlet i månederne efter og så valgt igen. Sat sammen viser testperioderne, hvad optimeringen ville have tjent uden facit bagefter, ved siden af den indstilling, der viste sig at være bedst. Hver indstilling backtestes én gang over hele perioden og deles op i vinduer, så det koster ikke ekstra at skifte indstilling mellem testene.
- Deflateret Sharpe-ratio (Bailey og López de Prado): chancen for, at den bedste Sharpe blandt de afprøvede indstillinger er en ægte fordel. Den hæver barren fra nul til den Sharpe, den bedste af så mange indstillinger ville nå ved held, og tager højde for testens længde, skævhed og tykke haler. Over 95 % er overbevisende. Den kender kun indstillingerne i den kørsel, ikke de andre idéer, du prøvede først.
- Livestrategier: en historik fra den dag, du begynder at følge en strategi, med rigtige kurser, som aldrig genberegnes.
Eksport til Python eller regneark
Tryk på Download på et resultat for at gemme værdiudviklingen, alle handler og beholdningen som CSV-filer eller hele resultatet som JSON. Værdierne er rå: afkast som decimaltal og beløb i strategiens 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))
Kendte begrænsninger
- Overlevelsesbias: selskaber, der er afnoteret efter konkurs eller opkøb, er ikke med i dataene. Resultaterne ser bedre ud end virkeligheden, mest for small caps og strategier, der køber tabere. At tilføje afnoterede selskaber er næste skridt for dataene.
- Tal fra årsrapporter går kun tilbage til omkring 2023, så værdi- og kvalitetsstrategier har kort historik.
- AI-modellen kan vide, hvad der skete efter ældre meddelelser, så AI-strategier kan se bedre ud i de første år, end de ville have været.
- Yahoo Finance har af og til fejl, som splits, der ikke er justeret. Store spring tælles op under hvert resultat.
- Handler sker til lukkekurs: der er ingen data i løbet af dagen, og skat er ikke medregnet.
Sådan kontrolleres motoren
Motoren blev gennemgået i september 2026, og alle fundne fejl er rettet. En automatisk testsuite køres ved hver ændring. Den sammenligner simuleringen med uafhængige regnskaber for aktier og kontanter, kontrollerer, at senere data aldrig ændrer et tidligere resultat, og kontrollerer omkostninger, shortsalg, stop-loss og valutaomregning på små markeder med kendte svar.