13 oktober 2026 · research

Ditt backtest hittade en edge på 20 %. Hur mycket kom från en enda felaktig tidsstämpel?

Ditt backtest hittade en edge på 20 %. Hur mycket kom från en enda felaktig tidsstämpel?

Ett backtest gav en annualiserad avkastning på 20 %. Det använde 8 års data, 1,640 affärer och en ren walk-forward-delning. Sedan ersatte vi leverantörens nuvarande historik med de värden som registrerades vid tidpunkten, och edgen föll till 3 %.

Den överraskande siffran var inte den ursprungliga avkastningen. Det var de 17 procentenheter som byggde på reviderade data. Sådan efterklokhet kan gömma sig i ekonomiska publiceringar, bolagsfundamenta, indexmedlemskap och till och med i till synes enkla marknadsfält. Historiska data visar vad källan säger nu. En punkt-i-tid-datamängd visar vad din strategi kunde ha känt till då.

Varför kan historiska data ändras efter händelsen?

Vissa värden är först uppskattningar och korrigeras senare. En ekonomisk statistik som publiceras på fredagen kan revideras nästa månad. Ett bolag kan göra en omräkning av en resultatpost. En dataleverantör kan rätta en felaktig notering, fylla i ett saknat intervall eller ersätta ett preliminärt värde med ett slutligt. En databas som bara lagrar det senaste värdet får alla dessa ändringar att se ut som om de alltid hade gällt.

Det spelar roll när en strategi rangordnar bolag efter rapporterade intäkter eller handlar på en marknad efter en schemalagd datarelease. Om strategin ser det korrigerade värdet flera månader i förväg har backtestet gett den information som inte fanns på marknaden när beslutet fattades. Signalen kan vara beräknad helt korrekt; indata kommer ändå från fel version av historiken.

Här finns en lätt fälla: ett fält som heter date beskriver ofta vilken period ett värde gäller, inte när det blev tillgängligt. En rad med kvartalsintäkter märkt 31 mars kanske inte publicerades förrän i maj. Märkningen gäller verksamhetsperioden, inte vilken information strategin hade tillgång till.

Vilken tidsstämpel ska ett backtest använda?

Håll isär värdets giltighetsperiod och dess tillgänglighetstid. Spara även publiceringstid och inläsningstid när det är möjligt. En strategi kunde använda ett värde först efter att det publicerats och tagits emot av systemet. Om tidpunkterna skiljer sig åt bör du använda den senare i en konservativ återspelning.

TidsstämpelVad den beskriverVad den används till
GiltighetstidPerioden eller händelsen som värdet avserGrupperar observationer efter det som mäts
PubliceringstidNär källan publicerade den här versionenHindrar att en publicering visas innan den fanns
InläsningstidNär systemet tog emot versionenFångar upp leveransfördröjningar och sena kompletteringar

Anta till exempel att ett bolags kvartalsförsäljning avser januari till mars, rapporteras den 8 maj kl. 16:15 Eastern och når ditt analyslager kl. 16:17. En strategi som fattar beslut vid stängning den 8 maj kan inte använda rapporten om beslutet vid stängning fattades kl. 16:00. En strategi som fattar beslut nästa morgon kan göra det. Enbart kvartalets slutdatum ger inget svar på någondera frågan.

Hur testar jag om revisioner driver resultatet?

Kör samma strategi två gånger: först med den dataversion som var tillgänglig vid varje historisk beslutstidpunkt och sedan med den senast reviderade historiken. Håll exekveringsantaganden, universum och kod oförändrade. Skillnaden visar hur känsligt resultatet är för revisioner; det är ingen ny jämförelse mellan strategier.

Undersök sedan varifrån skillnaden kommer. Förändras resultatet på publiceringsdagar? Är de största skillnaderna koncentrerade till några få bolag med omräknade rapporter eller korrigerade observationer? Handlar strategin före den relevanta publiceringstidpunkten? En liten granskning av enskilda händelser förklarar ofta mer än ännu ett diagram över kumulativ avkastning.

20%avkastning med senaste historiken
3%avkastning med punkt-i-tid-värden
17 ppskillnad som beror på revisioner

Siffrorna är ett exempel, inte ett generellt avdrag. Det användbara resultatet är en jämförelse för din egen strategi, med samma affärer och kostnader där det går. Om versionen med reviderad historik presterar mycket bättre bör du ta reda på vilka fält och datum som står för skillnaden innan du litar på backtestets huvudresultat.

Vad bör en granskning av punkt-i-tid-data dokumentera?

Börja med de fält som strategin faktiskt använder. Ta reda på källan, vad tidsstämpeln betyder, hur revisioner hanteras och om tidigare versioner går att hämta. Fråga leverantören hur korrigeringar representeras: genom att rader skrivs över, nya versionsrader eller en separat granskningslogg. Att en produktsida kallar data ”historiska” avgör inte saken.

Håll också granskningen avgränsad. Om strategin bara använder affärer och staplar från en börs kanske revisioner av ekonomiska data saknar betydelse. Men korrigeringar av staplar och återfyllning från dataleverantören kan ändå spela roll, särskilt när en signal bygger på en illikvid marknad eller ett exakt händelsefönster.

När punkt-i-tid-historik saknas

Behandla inte tyst dagens värde som gårdagens. Markera fältet som en begränsning, ta bort det från slutsatser som förutsätter historisk tillgänglighet eller lägg in en konservativ fördröjning och visa hur mycket resultatet förändras. En fördröjd proxy kan vara användbar i research, förutsatt att fördröjningen är tydlig och begränsningen följer med resultatet.

Backtestets uppgift är att återskapa ett beslut utifrån den informationsmängd som fanns vid tidpunkten. Om dina data bara visar den senaste versionen har det ärliga resultatet en gräns: det kan testa strategin mot dagens rekonstruerade historik, men det kan inte fastställa exakt vad en historisk aktör kunde ha sett.

backtestingdata engineeringbolagshändelserpunkt-i-tid-data
← Alla inlägg