12 oktober 2026 · research

Vi plockade isär ett prediktionsmarknadstest som köpte fel kontrakt

Vi plockade isär ett prediktionsmarknadstest som köpte fel kontrakt

Ett backtest för prediktionsmarknader kan använda en ticker som ser rätt ut, rätt prishistorik och ändå fel kontrakt. Misstaget är lätt att missa eftersom marknadsnamn är korta, evenemangssidor uppdateras och en YES-andel alltid ser ut som ett pris mellan noll och ett.

Tänk dig en hypotetisk marknad med namnet ”Går Clean Transit Act igenom?” En strategi köper YES för 0.42 efter en nyhetssignal. Backtestet värderar senare positionen till 1.00. Innan jag litar på den vinsten vill jag veta exakt vad kontraktet lovade: vilket lagförslag, vad som räknades som att det ”går igenom”, tidsfristen och källan för avräkningen.

Titeln: ”Går Clean Transit Act igenom?”

En titel är en visningstext, inte en stabil instrumentidentifierare. Två marknader kan ha nästan identiska formuleringar men avse olika lagstiftningsperioder, ändrade lagförslag eller tidsfrister. En handelsplats kan också ändra en titel för att förtydliga marknaden utan att ändra de underliggande villkoren.

Därför bör backtestet knyta positionen till handelsplatsens oföränderliga marknads- eller kontrakts-ID och sedan spara hela regeltexten och dess version. Om historiska data bara innehåller en titel och en ticker går det inte att fastställa att prisserien hör till det kontrakt strategin var tänkt att handla.

IdentitetsfältVad det fastställerVad som går fel om det saknas
Handelsplats och marknads-IDDen specifika listade marknadenLiknande titlar slås ihop
RegelversionVillkoren deltagarna gick med påEn senare ändring tillämpas på tidigare affärer
Utfallstoken-IDYES- eller NO-anspråket som handlasYES- och NO-priser byts ut mot varandra eller slås ihop
AvräkningskällaUnderlaget som används för att avgöra utfalletBacktestet utgår från en annan beslutsinstans

Reglerna: vad betyder ”gå igenom”?

Anta att regeln säger att lagförslaget måste godkännas av representanthuset och senaten senast den 30 juni och därefter undertecknas av presidenten. Ett backtest som räknar godkännande i endera kammaren som en framgång har ändrat vadet. Detsamma gäller ett backtest som räknar ett lagförslag med samma namn under nästa session.

Läs de faktiska avräkningskriterierna som villkor som går att exekvera. Notera tidsfristen och tidszonen, den händelse som uppfyller villkoren, eventuella undantag och den angivna avräkningskällan. Tvetydigheter spelar också roll: om handelsplatsens regler lämnar ett rimligt scenario oavgjort ska du inte i tysthet välja den tolkning som passar det historiska utfallet.

En del av arbetet är föga glamorös men viktig: att spara regelsidan innan något intressant händer. En sida som fångas först efter avräkningen kan visa den slutliga formuleringen, trots att strategin gick in under en tidigare version.

Tidslinjen: när kunde strategin veta?

Anta nu att reglerna håller och att nyhetssignalen utlöstes kl. 14:05 UTC. Det historiska flödet visar en affär kl. 14:05 till priset 0.42. Den tidsstämpeln ensam säger inte om informationen fanns tillgänglig före affären, om det registrerade priset gick att handla till efteråt eller om stapeln visar en offert, en affär eller en sammanfattning av ett tidsintervall.

Håll tidpunkten då signalen blev tillgänglig åtskild från marknadshändelsens tidpunkt. Lägg sedan ordern efter att strategin hunnit beräkna och skicka den. På en illikvid marknad kan nästa registrerade affär dröja flera minuter; det visar inte att din order skulle ha fått det priset.

Priset: en offert är inte ett avslut

YES till 0.42 innebär ett pris på 42 cent per andel, men en serie med senaste affärer döljer spreaden och tillgänglig volym. Om bästa säljkurs är 0.45 för 20 andelar kan en simulerad order på 100 andelar inte fyllas helt till 0.42. Den kan gå igenom flera nivåer i orderboken, ligga kvar och vänta eller bli helt ofylld.

Priser på prediktionsmarknader lockar också till en bokföringsmässig genväg: man behandlar 0.42 som en sannolikhet på 42 % och glömmer att det också är kontantbeloppet vid ingången. En YES-position på 100 andelar kostar $42 före avgifter. Om den avräknas till $1 blir bruttointäkten $100; om den avräknas till $0 blir den noll. Avgifter, partiella avslut och eventuella avräkningsregler som gäller på just den handelsplatsen hör hemma i transaktionsloggen.

$42bruttokostnad för 100 YES-andelar till $0.42
$100bruttoavräkningsvärde om YES får rätt
$0bruttoavräkningsvärde om NO får rätt

Avräkningen: vad avslutar affären?

Ett backtest avslutar ofta positionen till det sista marknadspriset. Men ett kontrakt som hålls till avräkning betalas ut enligt reglerna, och den senast noterade kursen kan vara inaktuell, ha en stor spread eller ligga långt från den slutliga utbetalningen. Modellera avräkningen som en egen händelse: utfallet, avräkningstidpunkten och kassaflödet ska hämtas från kontraktsuppgifterna.

Ta också hänsyn till att en marknad kan avräknas som ogiltig eller omtvistad, om handelsplatsens regler definierar sådana utfall. Insatsen kan då återbetalas, ett annat belopp kan betalas ut eller avräkningen kan fördröjas. Ett antagande om binär utbetalning kan inte representera alla avräkningsvägar.

Backtestets dom

I det här exemplet skulle jag godta den rapporterade vinsten först efter att ha matchat det oföränderliga marknads-ID:t, regelversionen som gällde vid ingången, YES-tokenen, tidpunkten då signalen blev tillgänglig, säljkurser och volymer som gick att handla till, avgifter och den registrerade avräkningen. Om prisarkivet inte räcker för de kontrollerna är det ärliga resultatet ett scenariointervall eller ett overifierat resultat.

Det kan låta strängt för en liten affär. Upprepa samma fel i datasammanfogningen för tusentals marknader, så kan backtestet bli en noggrann mätning av kontrakt som strategin aldrig handlade.

prediktionsmarknaderbacktestingmarknadsdataexekvering
← Alla inlägg