En algoritme for prediksjonsmarkeder bør kunne forklare hvordan en prognose ble til en foreslått ordre. Forklaringen trenger mer enn en sannsynlighet og en markedspris. Den må inkludere den nøyaktige kontrakten, anslagets alder og betydning, dagens gjennomføringsforhold, relevante kostnader, kontobegrensninger og tilstanden til eksisterende forpliktelser.
Denne veiledningen følger én hypotetisk algoritme gjennom denne rekkefølgen. Den bruker en enkel fullt betalt Ja-kontrakt som betaler $1 hvis det definerte vilkåret oppfylles, og ellers $0. Alle sannsynligheter, priser, gebyrer og grenser er oppdiktet for opplæring. Faktiske kontrakter og handelsplasser kan ha andre bestemmelser, og eksemplet er ingen anbefaling om kapitalfordeling eller påstand om lønnsom ytelse.
Utformingen lar bevisst algoritmen stoppe. En tvetydig regel, utdatert ordrebok eller ukjent kontotilstand bør hindre et underbygd forslag selv om prognosen virker gunstig. Målet er et avgrenset ordreforslag der begrunnelse og regnestykke kan rekonstrueres etter hendelsen.
Definer målet for algoritmen for prediksjonsmarkeder
Algoritmen begynner med handelsplass, kontraktsidentifikator, utfallsvalg og nøyaktig oppgjørsvilkår. En modell som anslår en bred hendelse, er utilstrekkelig hvis kontrakten bruker en bestemt kilde, terskel eller revisjonsregel. Sannsynligheten må gjelde det faktiske instrumentet som vurderes.
Skriv målet i en form som kan evalueres senere. For det hypotetiske eksemplet antar vi at den navngitte første publiseringen må overstige en angitt terskel, og at den enkle utbetalingen uttrykkelig er $1 eller $0. Eventuelle unntakstilfeller er utelukket av eksemplets definisjon, ikke antatt fraværende i virkelige kontrakter.
Den eldre veiledningen om en handelsalgoritme for prediksjonsmarkeder gir et bredere utformingsrammeverk. En nyttig algoritme kan ikke rette et udefinert mål gjennom avansert størrelsesvalg. Kontraktsbetydningen er en forutsetning fordi den avgjør hva prognose- og utbetalingsberegningene gjelder.
Bevar prognosen og dokumentasjonstidspunktet
Anta at modellen gir et sentralt Ja-anslag på 0,64. Registrer utstedelsestid, kildedokumentasjon, modellversjon og evalueringsomfang. Tallet bør være et sannsynlighetsanslag for det definerte målet, ikke en rangeringspoengsum eller intern sikkerhetsverdi ommerket til sannsynlighet.
Anslaget forblir usikkert. I dette opplæringseksemplet undersøker analytikeren også et lavere scenario på 0,58 for å se hvordan forslaget oppfører seg under en mindre gunstig antakelse. Scenarioet er ikke en statistisk fastslått konfidensgrense med mindre en separat metode støtter en slik tolkning.
Bevar prognosen før senere utfall undersøkes. En historisk gjenspilling må bruke informasjon tilgjengelig ved beslutningstidspunktet, inkludert manglende inndata og forsinkede publiseringer. Den eldre veiledningen om algoritmisk handel i prediksjonsmarkeder forklarer hvorfor senere rettelser ikke stilltiende bør forbedre den tidligere algoritmens tilsynelatende kunnskap.
Definer et vilkår for at algoritmen skal avstå
Et avståelsesvilkår angir når intet forslag skal produseres. Relevante tilfeller er uavklart kontraktskobling, utløpt prognosedokumentasjon, ufullstendige markedsdata eller en kontotilstand som ikke kan avstemmes. Hvert vilkår bør gi en lesbar begrunnelse fremfor et tallresultat som ser ut som en avgjørelse.
Avståelse er ikke en prognose om null sannsynlighet. Det betyr at beslutningsprosessen mangler en påkrevd inndata eller ligger utenfor godkjent omfang. Behold siste gyldige prognose som historisk dokumentasjon hvis den er nyttig, men ikke send den videre som aktuell bare fordi ingen erstatning er tilgjengelig.
Algoritmen bør også skille kvalifikasjon for undersøkelser fra kvalifikasjon for handel. En kontrakt kan fortsatt være interessant å studere mens dagens konto- eller markedsforhold hindrer handling. Skillet hjelper granskere med å forstå om systemet avviste ideen, utsatte den eller manglet dokumentasjonen som trengs for å avgjøre.
Les relevant markedsside og mengde
Et forslag om å kjøpe Ja trenger ferske tilbud og tilgjengelige mengder etter handelsplassens faktiske representasjon. En vist midtpris eller siste handel er ikke nok. Algoritmen bør bevare ordrebokens tidsstempel og anslå kostnaden for tiltenkt størrelse fremfor å anta at hver enhet kan handles på beste nivå.
I den hypotetiske ordreboken tilbys åtte kontrakter til $0,50 og ytterligere ti til $0,52. Disse 18 kontraktene er mengden tilgjengelig innenfor den foreslåtte prisgrensen i det observerte øyeblikket. Andre tilbud, hvis de finnes, ligger utenfor scenarioets tillatte pris og utelates.
Veiledningen om handel med hendelseskontrakter forklarer den underliggende kostnads- og utbetalingsmekanikken. Algoritmen bruker mekanikken uttrykkelig. Et pristilbud er inndata til et forslag, mens faktiske utførelser senere fastslår ervervet mengde og kostnad. De to bør forbli atskilt i posten.
Ta med kostnader under en navngitt antakelse
For opplæring antar vi et oppdiktet gebyr på $0,01 per ervervet kontrakt og ingen andre avgifter i det forenklede scenarioet. Ved høyeste tillatte kjøpspris på $0,52 er maksimal åpningskostnad per kontrakt derfor $0,53. Dette er en modellforutsetning, ikke en gjeldende gebyrplan for noen handelsplass.
Faktiske avgifter må kontrolleres under relevante produkt- og markedsvilkår. Kalshis gebyrveiledning påpeker at gebyrer kan avvike mellom markeder. En algoritme bør bruke gjeldende relevante regler og bevare versjonen eller kilden som ble brukt i kostnadsanslaget.
Hvis kostnader ikke kan anslås med tilstrekkelig støtte for strategien, bør forslaget forbli utilgjengelig. En liten tilsynelatende fordel kan forsvinne med en beskjeden gebyr- eller gjennomføringsforskjell. Algoritmen bør ikke behandle ukjente kostnader som null bare fordi det lar beregningen fortsette.
Beregn scenarioet per kontrakt
Under den enkle utbetalingen på $1 eller $0 innebærer en personlig sannsynlighet på 0,64 en forventet utbetaling på $0,64 per kontrakt etter anslaget. Mot maksimal modellert kostnad på $0,53 er forventet forskjell $0,11. Under det lavere scenarioet på 0,58 er den $0,05.
Dette er forventninger under forutsetninger, ikke garanterte gevinster. En kontrakt kan gjøres opp som Nei og tape åpningskostnaden i eksemplet. Prognosen kan også være feil, og gjennomføringsforholdene kan endres. Beregningens formål er å vise forholdet mellom sannsynlighet, utbetaling og kostnad.
En beslutningsregel kan kreve en margin som passer egen dokumentasjon og utforming. Denne artikkelen foreskriver ingen. Det viktige kravet er at regelen skrives før utfall undersøkes, og at usikkerhet i prognose eller kostnader ikke skjules bak en forventningsverdi som ser presis ut.
Bruk kontantkapasitet før størrelse velges
Anta at den hypotetiske arbeidsflyten tillater høyst $13,25 i ny åpningskostnad for dette forslaget. Med den konservative kostnaden på $0,53 per kontrakt støtter budsjettet høyst 25 kontrakter fordi 25 multiplisert med $0,53 er lik $13,25. Mengden må følge den faktiske handelsplassens støttede trinn.
Dette er en kapasitetsberegning, ikke et anbefalt budsjett eller en regel for størrelsesvalg. Algoritmen bør bruke faktisk godkjent beløp og kontotilstand. Midler som allerede er bundet andre steder, kan ikke telles to ganger, og ukjent ordrestatus kan gjøre tilsynelatende tilgjengelig kapasitet upålitelig.
Bevar budsjettkilden og tidspunktet. Hvis kontoen endres før godkjenning, beregn på nytt eller ugyldiggjør forslaget etter den definerte regelen. At en prognose forblir uendret, betyr ikke at kontoen fortsatt har samme evne til å handle. Markedsanalyse og ressursgodkjenning er ulike lag.
Ta hensyn til eksisterende eksponering og åpne forpliktelser
Anta nå at arbeidsflyten har en hypotetisk grense på 40 Ja-kontrakter eksponert mot den relevante hendelsesgruppen. Den holder allerede 20 og har to til i en annen åpen forpliktelse. Gjenværende kapasitet er 18 kontrakter: 40 minus 20 minus to. Denne begrensningen er strammere enn kontantkapasiteten på 25.
Hendelsesgruppen må ha en definert betydning. Flere kontrakter kan dele en risikodrivkraft selv om navnene er ulike. Et virkelig system kan bruke et mer egnet risikomål enn kontraktsantall, særlig når utbetalinger eller strukturer avviker. Den enkle antallsgrensen her er bare valgt for å synliggjøre regnestykket.
Veiledningen om algoritmer for prediksjonsmarkeder sammenligner metoder og forutsetningene deres. Dette eksemplet viser hvorfor en gunstig enkeltprognose ikke alene kan avgjøre størrelse. Eksisterende eksponering og forpliktelser kan begrense forslaget uavhengig av modellens sikkerhet.
Bruk den minste underbygde kapasiteten
De hypotetiske grensene er nå 25 kontrakter fra kontanter, 18 fra hendelsesgrensen og 18 fra den observerte ordreboken innenfor prisgrensen. Det avgrensede forslaget er derfor høyst 18 kontrakter. En annen regel kan pålegge en enda mindre grense, og en manglende forutsetning ville gi intet forslag i det hele tatt.
Maksimal reservert åpningskostnad under den konservative grensen er 18 multiplisert med $0,53, eller $9,54. Den observerte ordreboken antyder en lavere kostnad før gebyrer: Åtte til $0,50 koster $4, og ti til $0,52 koster $5,20. Totalen er $9,20 før det oppdiktede gebyret på $0,18, eller $9,38 samlet.
Hold maksimalgrensen og det observerte anslaget atskilt. Førstnevnte støtter godkjenning innenfor oppgitt grense, mens sistnevnte beskriver dagens ordrebokscenario. Ingen av dem er en faktisk utførelse. Skillet hindrer at en senere gjennomføringsforskjell forveksles med en brutt regnskapsidentitet.
Kontroller samlet forventningsscenario uten å overdrive
Ved det sentrale anslaget på 0,64 har 18 enkle kontrakter på $1 en modellert forventet utbetaling på $11,52. Å trekke fra det observerte samlede anslaget på $9,38 gir en forventet forskjell på $2,14. Under det lavere scenarioet på 0,58 er forventet utbetaling $10,44 og forskjellen $1,06.
Mulig realisert utbetaling i det enkle eksemplet forblir enten $18 eller null hvis alle 18 holdes til avgjørelse. Forventningen er et gjennomsnitt utledet fra en sannsynlighetsmodell, ikke et tredje oppgjørsutfall. Dette skillet er avgjørende når beregninger presenteres for lesere som kan forveksle forventningsverdi med lovede kontanter.
Følsomhetsgjennomgang bør omfatte forutsetninger utover sannsynligheten. Kostnader kan endres, regler kan misforstås, og bare deler av forslaget kan bli utført. Algoritmen bør bevare disse mulighetene og unngå å presentere den samlede forventningen som et fullstendig mål på all relevant risiko.
Godkjenn en bestemt forslagsversjon
Godkjenning bør gjelde en definert kontrakt, side, mengde, prisgrense og dokumentasjonsversjon. Hvis inndataene endres vesentlig, trenger systemet en regel for å oppdatere eller avvise forslaget. En tidligere godkjenning bør ikke bli ubegrenset tillatelse til å handle under alle senere markedsforhold.
Veiledningen om automatiseringsprogramvare for prediksjonsmarkeder utdyper tillatelser og unntakshåndtering. En prognoseproduserende komponent kan forbli atskilt fra komponenten som kontrollerer kontofullmakt. Skillet gjør det lettere å identifisere hvilken avgjørelse som tillot den eksterne handlingen.
Registrer et utløpsvilkår. Et forslag kan bli utdatert på grunn av medgått tid, endret ordrebok, en kontraktstilstandsovergang eller ny kontodokumentasjon. Utløp bør ikke viske ut undersøkelsesposten; det betyr at den konkrete handlingen ikke lenger er underbygd under vilkårene som opprinnelig godkjente den.
Skill innsending fra fullføring
Å sende inn det godkjente forslaget skaper et forsøk, ikke nødvendigvis en fullført posisjon. Bevar forsøksreferansen og handelsplassens faktiske svar. Systemet bør skille akseptert, åpen, delvis utført, kansellert, avvist og ukjent etter dagens implementering fremfor å tvinge dem inn i ett vellykket-flagg.
Hvis svaret er ukjent, avstem det eksisterende forsøket før et nytt opprettes. En ny ordre kan duplisere eksponering hvis den opprinnelige allerede er utført eller fortsatt er aktiv. En gjentatt prognose eller gjentatt varsling er ingen ny godkjenning til å ignorere usikkerheten.
Den eldre veiledningen om API for boter i prediksjonsmarkeder forklarer hvorfor disse grensene betyr noe. En algoritme bør produsere en kjede som kan undersøkes, fra prognose til godkjent forslag til forsøk. Den bør ikke behandle hvert nytt forsøk som en ny økonomisk avgjørelse bare fordi programvarefunksjonen kan kalles igjen.
Beregn på nytt etter delvis utførelse
Anta at den hypotetiske ordren utfører åtte kontrakter til $0,50 og fire til $0,52. Kostnaden før gebyrer er $4 pluss $2,08, eller $6,08. Med det oppdiktede gebyret på $0,01 på hver av 12 ervervede kontrakter er samlet åpningskostnad $6,20. Seks av de foreslåtte 18 forblir ikke utført.
Kontoen holder nå 32 kontrakter i den forenklede hendelsesgruppen: de opprinnelige 20 pluss de nye 12. Den har også to kontrakter i den tidligere separate forpliktelsen og seks gjenværende fra dette forslaget. Samlet utgjør de fortsatt grensen på 40 kontrakter hvis alle åpne mengder utføres.
Algoritmen må avgjøre hva som skjer med de gjenværende seks etter dagens regel. Den kan ikke resonnere som om alle 18 ble ervervet, og kan heller ikke ignorere den gjenværende forpliktelsen når et nytt forslag vurderes. Faktiske utførelser og aktive forespørsler må begge gjenspeiles i kapasitetsberegningen.
Avstem kostnader og posisjonstilstand
Etter at ordren når en kjent tilstand, sammenlign utførelsespost, gebyrer, posisjonsmengde og tilgjengelig kapasitet. Bruk faktisk belastede beløp fremfor den hypotetiske forhåndsvisningen når en virkelig konto gjennomgås. Bevar ethvert avvik og kilden fremfor stilltiende å justere tall til totalene virker rimelige.
Hvis gjenværende mengde kanselleres, vent på relevant bekreftet tilstand før forpliktelsen frigjøres i den interne loggen. En kanselleringsforespørsel kan kappes med utførelser etter faktisk handelsplassatferd. Endelig mengde må komme fra avstemt dokumentasjon.
Algoritmens beslutningspost bør beholde både prognosescenarioet og det realiserte kontoforløpet. Dette muliggjør senere evaluering. En nyttig prognose kan møte dårlig gjennomføring, og en svak prognose kan gi et gunstig enkeltutfall. Posten bør la tilfellene skilles fremfor å reduseres til ett fortjenestetall.
Test beregningen fra prognose til ordre
En beregning fra prognose til ordre bør kontrolleres med tilfeller som tester reelle grenser. Bruk en utløpt prognose, en tvetydig kontrakt, en utdatert ordrebok, utilstrekkelig kontantkapasitet og et ukjent tidligere forsøk. Hvert bør gi definert avståelse eller redusert størrelse før innsending vurderes.
Test regnestykket med de hypotetiske verdiene i denne veiledningen. Bekreft grensen på 18 kontrakter, den konservative grensen på $9,54, det ordrebokbaserte anslaget på $9,38 og kostnaden på $6,20 for delvis utførelse av 12 kontrakter. Kontrollene verifiserer meningsfulle forhold fremfor å speile vilkårlige implementeringsdetaljer.
Test også et tilfelle der riktig resultat er ingen handling til tross for en høy prognose. For eksempel bør null gjenværende eksponeringskapasitet blokkere forslaget. Dette viser at algoritmen respekterer uavhengige begrensninger fremfor å la sikkerhet overstyre kontoregelen.
Undersøk hvilke forslag som faktisk blir utført
En prognose evaluert på tvers av alle foreslåtte handler kan oppføre seg annerledes på delmengden som faktisk utføres. En hvilende kjøpsordre kan være mer tilbøyelig til å bli utført etter at informasjon gjør kontrakten mindre attraktiv for andre deltakere. Algoritmen bør derfor undersøke forholdene rundt utførelser fremfor å anta at fullførte ordrer er et tilfeldig utvalg av forslagene.
I en historisk studie fastslår ikke en pris som berører grensen, i seg selv at algoritmens fulle mengde ville blitt utført. Tilgjengelig størrelse, tidspunkt og handelsplassens faktiske matchingsregler betyr noe. Bruk en underbygd gjennomføringsmodell og identifiser begrensningene. En urealistisk raus utførelsesantakelse kan få en grundig beregning fra prognose til ordre til å virke mer effektiv enn en virkelig arbeidsflyt kunne være.
Bevar ikke utførte og kansellerte forslag så vel som fullførte. Sammenlign dokumentasjonstilstanden ved godkjenning med tilstanden nær faktiske utførelser der dataene tillater det. Hvis prognosen utløper mens en ordre forblir åpen, må regelen angi om forpliktelsen skal gjennomgås eller trekkes tilbake. Det opprinnelige gunstige anslaget bør ikke forbli en permanent begrunnelse for enhver senere utførelse.
Denne gjennomgangen knytter prognoser og gjennomføring sammen uten å slå dem sammen. Modellen kan fortsatt være godt kalibrert for sitt tiltenkte mål mens ordreregelen velger en ugunstig delmengde av øyeblikk. Omvendt kan gjennomføringen være nøyaktig mens prognosen er svak. En nyttig post lar granskeren identifisere hvilken forutsetning som trenger revisjon, fremfor å tilskrive hvert resultat bare til sannsynlighetsmodellen.
En algoritme for prediksjonsmarkeder bør vise hver forutsetning
Den fullførte algoritmen kan forklare hvorfor den vurderte kontrakten, hvilket sannsynlighetsanslag den brukte, hvordan kostnader ble modellert, og hvilken grense som avgjorde endelig størrelse. Den kan også forklare hvorfor et forslag utløp eller et forsøk fortsatt er uavklart. Forklaringene er en del av utformingen, ikke valgfri kommentar lagt til etterpå.
Det hypotetiske eksemplet produserte høyst 18 kontrakter fordi kontanter, eksponering og dybde ble evaluert separat. Forventningsverdiberegningene avhang av en usikker prognose og uttrykkelige kostnader. Den faktiske posisjonen avhang av utførelser. Å holde skillene synlige hindrer at en ryddig formel forveksles med et garantert handelsresultat.
Bygg prosessen som en kjede av underbygde avgjørelser med tydelige stoppvilkår. Bevar dokumentasjonen og avstem det som faktisk skjer. Det skaper en algoritme der atferden kan testes, gjennomgås og revideres uten å skjule forutsetningene i én ugjennomsiktig poengsum eller behandle en usikker innsending som tillatelse til å begynne igjen.