Egy predikciós piaci backteszt használhat megfelelőnek tűnő tickert és megfelelő árfolyamelőzményeket, miközben rossz kontraktussal kereskedik. Ezt a hibát könnyű nem észrevenni, mert a piaci nevek rövidek, az eseményoldalak frissülnek, egy YES-részesedés pedig mindig nullától egyig terjedő árnak látszik.
Vegyünk egy képzeletbeli piacot ezzel a címkével: „Átmegy a Tiszta Közlekedésről szóló törvény?” Egy stratégia egy híralapú jelzés után 0.42-es áron YES-t vásárol. A backteszt később 1.00-ra értékeli a pozíciót. Mielőtt elhinném, hogy nyertünk, pontosan tudni akarom, mit ígért a kontraktus: melyik törvényjavaslatról volt szó, mit jelentett az, hogy „átmegy”, mi volt a határidő, és melyik forrás alapján történt az elszámolás.
A cím: „Átmegy a Tiszta Közlekedésről szóló törvény?”
A cím megjelenítésre szolgáló szöveg, nem stabil instrumentumazonosító. Két piac címe szinte teljesen azonos lehet úgy is, hogy más törvényhozási ciklusra, módosított törvényjavaslatra vagy határidőre vonatkoznak. A platform a piac címét is módosíthatja a pontosítás érdekében anélkül, hogy az alapul szolgáló feltételek változnának.
Ezért a backtesztnek a pozíciót a platform megváltoztathatatlan piac- vagy kontraktusazonosítójához kell kötnie, és meg kell őriznie a teljes szabályzat szövegét, annak verziójával együtt. Ha az előzményadatok csak címet és tickert tartalmaznak, nem állapítható meg, hogy az árfolyam-idősor ahhoz a kontraktushoz tartozik-e, amellyel a stratégia kereskedni akart.
| Azonosító mező | Mit rögzít | Mi romlik el, ha hiányzik |
|---|---|---|
| Platform és piacazonosító | A konkrétan jegyzett piacot | Az egymáshoz hasonló címek összekeverednek |
| Szabályzatverzió | A résztvevők által elfogadott feltételeket | Egy későbbi módosítás a korábbi ügyletekre is érvényesül |
| Kimeneteltoken-azonosító | A kereskedett YES vagy NO követelést | A YES és NO árait felcserélik vagy összevonják |
| Elszámolási forrás | A kimenetel eldöntéséhez használt bizonyítékot | A backteszt más döntéshozóval számol |
A szabályok: mit jelent az, hogy „átmegy”?
Tegyük fel, hogy a szabály szerint a törvényjavaslatnak június 30-ig át kell mennie a Képviselőházon és a Szenátuson, majd az elnöknek alá kell írnia. Ha a backteszt már azt is sikernek veszi, hogy a javaslat az egyik kamarán átment, megváltoztatta a fogadást. Ugyanez történik akkor is, ha a következő ciklusban elfogadott, azonos nevű törvényjavaslatot számítja be.
Olvasd a tényleges elszámolási feltételeket végrehajtható logikaként. Rögzítsd a határidőt és az időzónát, a beszámító eseményt, az esetleges kivételeket és a megnevezett elszámolási forrást. A kétértelműség is számít: ha a platform szabályzata nyitva hagy egy hihető forgatókönyvet, ne válaszd ki észrevétlenül azt az értelmezést, amelyik illik a múltbeli kimenetelhez.
Ennek a munkának van egy roppant prózai része: még azelőtt elmenteni a szabályzat oldalát, hogy bármi érdekes történne. Ha csak az elszámolás után mented el az oldalt, azon már a végleges szöveg szerepelhet, miközben a stratégiád egy korábbi verzió alapján lépett piacra.
Az idővonal: mikor szerezhetett tudomást róla a stratégia?
Tegyük fel, hogy a szabályok rendben vannak, a híralapú jelzés pedig 14:05 UTC-kor aktiválódott. A történeti adatfolyam szerint 14:05-kor kötés történt 0.42-es áron. Ez az időbélyeg önmagában nem árulja el, hogy az információ elérhető volt-e a kötés előtt, a rögzített ár végrehajtható lett volna-e utána, vagy hogy az adatpont jegyzést, kötést vagy egy időszak összesítését jelöli-e.
A jelzés elérhetőségének időpontját külön kezeld a piaci esemény időpontjától. Ezután csak akkor add be a megbízást, amikor a stratégia már ki tudta számítani és el tudta küldeni. Egy gyér forgalmú piacon a következő rögzített kötésre perceket is várni kellhet; ez nem bizonyítja, hogy a megbízásod ezen az áron teljesült volna.
Az ár: a jegyzés nem teljesülés
A 0.42-es YES részesedésenként 42 centes árat jelent, de az utolsó kötés árfolyamának idősora elfedi a spreadet és az elérhető mennyiséget. Ha a legjobb eladási ár 0.45, és 20 részesedés érhető el rajta, egy 100 részesedéses szimulált vétel nem teljesülhet teljes egészében 0.42-n. A megbízás végigmehet a könyvön, várakozhat, vagy egyáltalán nem teljesülhet.
A predikciós piacok árai egy könyvelési rövidítésre is csábítanak: a 0.42-t 42%-os valószínűségként kezeljük, és megfeledkezünk arról, hogy ez a belépés készpénzköltsége is. Egy 100 YES részesedésből álló pozíció díjak előtt $42-ba kerül. Ha 1 dolláron számolják el, a bruttó bevétel $100; ha 0 dolláron, akkor nulla. A díjaknak, a részleges teljesüléseknek és az adott platform elszámolási mechanizmusainak is szerepelniük kell a főkönyvben.
Az elszámolás: mi zárja le az ügyletet?
A backteszt gyakran a végső piaci árfolyamon zárja a pozíciót. A lejáratig tartott kontraktus azonban a szabályzat szerint fizet, az utolsó jegyzett ára pedig lehet elavult, a spreadje széles, vagy messze lehet a végső kifizetéstől. Modellezd az elszámolást önálló eseményként: a kimenetelnek, az elszámolás időpontjának és a pénzmozgásnak a kontraktus nyilvántartásából kell származnia.
Számolj azzal is, ha a piac kimenetele érvénytelen vagy vitatott, amennyiben a platform szabályzata ezt meghatározza. Ilyenkor a tétet visszatéríthetik, más összeget fizethetnek, vagy elhúzódhat az ügyintézés. A bináris kifizetést feltételező modell nem tud minden elszámolási módot kezelni.
A backteszt értékelése
Ebben a példában csak akkor fogadnám el a jelentett nyereséget, ha egyezik a megváltoztathatatlan piacazonosító, a belépéskor érvényes szabályzatverzió, a YES token, a jelzés elérhetőségének időpontja, a végrehajtható eladási árak és mennyiségek, a díjak és a rögzített elszámolás. Ha az árfolyamarchívum alapján ezek nem ellenőrizhetők, a korrekt eredmény egy lehetséges kimenetelekből álló tartomány vagy egy nem ellenőrzött eredmény.
Egyetlen kis ügyletnél ez talán szigorúnak hangzik. Ha ugyanez az összekapcsolási hiba több ezer piacon ismétlődik, a backteszt végül gondosan mérheti olyan kontraktusok eredményét, amelyekkel a stratégiád soha nem kereskedett.
← Összes bejegyzés


