En algoritme til forudsigelsesmarkeder bør kunne forklare, hvordan en prognose blev til en foreslået ordre. Forklaringen kræver mere end en sandsynlighed og en markedspris. Den skal omfatte den præcise kontrakt, estimatets alder og betydning, aktuelle udførelsesforhold, gældende omkostninger, kontobegrænsninger og tilstanden for eventuelle eksisterende forpligtelser.
Denne vejledning følger én hypotetisk algoritme gennem rækkefølgen. Den bruger en simpel fuldt betalt Ja-kontrakt, som udbetaler 1 $, hvis dens definerede betingelse opfyldes, og ellers 0 $. Alle sandsynligheder, priser, gebyrer og grænser er opdigtet til undervisning. Faktiske kontrakter og handelssteder kan have andre bestemmelser, og eksemplet er ikke en allokeringsanbefaling eller en påstand om rentable resultater.
Designet tillader bevidst algoritmen at stoppe. En tvetydig regel, en forældet bog eller en ukendt kontotilstand bør forhindre, at der produceres et underbygget forslag, selv hvis prognosen ser gunstig ud. Målet er et afgrænset ordreforslag, hvis begrundelse og regning kan rekonstrueres efter hændelsen.
Definér algoritmens mål på forudsigelsesmarkeder
Algoritmen begynder med handelsstedet, kontraktidentifikatoren, udfaldsvalget og den præcise afregningsbetingelse. En model, som estimerer en bred begivenhed, er utilstrækkelig, hvis kontrakten bruger en bestemt kilde, tærskel eller revisionspolitik. Sandsynligheden skal henvise til det faktiske instrument under overvejelse.
Skriv målet i en form, som senere kan evalueres. Antag i det hypotetiske eksempel, at den navngivne første offentliggørelse skal overstige en angivet tærskel, og at den simple udbetaling udtrykkeligt er 1 $ eller 0 $. Eventuelle undtagelsestilfælde er udelukket af eksemplets definition, ikke antaget fraværende fra virkelige kontrakter.
Den ældre vejledning til en handelsalgoritme til forudsigelsesmarkeder giver en bredere designramme. En nyttig algoritme kan ikke reparere et udefineret mål gennem sofistikeret størrelsesfastsættelse. Kontraktbetydning er en forudsætning, fordi den bestemmer, hvad prognose- og udbetalingsberegningerne handler om.
Bevar prognosen og dokumentationens tidspunkt
Antag, at modellen leverer et centralt Ja-estimat på 0,64. Registrér udstedelsestidspunkt, kildedokumentation, modelversion og evalueringsomfang. Tallet bør være et sandsynlighedsestimat for det definerede mål, ikke en rangeringsscore eller intern tillidsværdi omdøbt til sandsynlighed.
Estimatet forbliver usikkert. I dette undervisningseksempel undersøger analytikeren også et lavere scenarie på 0,58 for at se, hvordan forslaget opfører sig under en mindre gunstig antagelse. Scenariet er ikke en statistisk fastslået konfidensgrænse, medmindre en separat metode understøtter den fortolkning.
Bevar prognosen, før senere udfald ses. En historisk genafspilning skal bruge information tilgængelig på beslutningstidspunktet, herunder manglende input og forsinkede offentliggørelser. Den ældre vejledning til algoritmisk handel på forudsigelsesmarkeder forklarer, hvorfor senere rettelser ikke stiltiende bør forbedre den tidligere algoritmes tilsyneladende viden.
Definér en afståelsesbetingelse for algoritmen
En afståelsesbetingelse for algoritmen angiver, hvornår intet forslag bør produceres. Relevante tilfælde omfatter uafklaret kontrakttilknytning, udløbet prognosedokumentation, ufuldstændige markedsdata eller en kontotilstand, som ikke kan afstemmes. Hver betingelse bør producere en læsbar begrundelse frem for et numerisk resultat, der ligner en beslutning.
Afståelse er ikke en prognose om nul sandsynlighed. Det betyder, at beslutningsprocessen mangler et krævet input eller falder uden for sit godkendte omfang. Bevar den seneste gyldige prognose som historisk dokumentation, hvis det er nyttigt, men send den ikke videre som aktuel, blot fordi ingen erstatning er tilgængelig.
Algoritmen bør også skelne forskningsegnethed fra handelsegnethed. En kontrakt kan fortsat være interessant at undersøge, mens aktuelle konto- eller markedsforhold forhindrer handling. Denne adskillelse hjælper gennemlæsere med at forstå, om systemet afviste idéen, udsatte den eller manglede dokumentationen til at afgøre det.
Læs den relevante markedsside og mængde
Et forslag om at købe Ja kræver aktuelle salgstilbud og tilgængelige mængder efter handelsstedets faktiske repræsentation. En vist midtkurs eller seneste handel er utilstrækkelig. Algoritmen bør bevare bogens tidsstempel og estimere omkostningen for den tilsigtede størrelse frem for at antage, at hver enhed kan handles på det bedste niveau.
I den hypotetiske bog tilbydes otte kontrakter til 0,50 $ og yderligere ti til 0,52 $. Disse 18 kontrakter er den tilgængelige mængde inden for den foreslåede prisgrænse på det observerede tidspunkt. Eventuelle andre tilbud ligger uden for scenariets tilladte pris og udelukkes.
Vejledningen til handel med begivenhedskontrakter forklarer de underliggende omkostnings- og udbetalingsmekanismer. Algoritmen bruger mekanismerne udtrykkeligt. En kurs er et input til et forslag, mens faktiske udførelser senere fastslår den erhvervede mængde og omkostning. De to bør forblive separate i registreringen.
Medtag omkostninger under en navngivet antagelse
Antag til undervisning et opdigtet gebyr på 0,01 $ pr. erhvervet kontrakt og ingen andre gebyrer i det forenklede scenarie. Ved den højeste tilladte købspris på 0,52 $ er den maksimale indgangsomkostning pr. kontrakt derfor 0,53 $. Det er en modelleringsantagelse, ikke en aktuel gebyrplan for noget handelssted.
Faktiske gebyrer skal kontrolleres under de relevante produkt- og markedsforhold. Kalshis gebyrvejledning bemærker, at gebyrer kan variere mellem markeder. En algoritme bør bruge aktuelle gældende regler og bevare den version eller kilde, der bruges til dens omkostningsestimat.
Hvis omkostninger ikke kan estimeres med tilstrækkeligt grundlag for strategien, bør forslaget forblive utilgængeligt. En lille tilsyneladende fordel kan forsvinde under en beskeden gebyr- eller udførelsesforskel. Algoritmen bør ikke behandle ukendte omkostninger som nul, blot fordi det lader beregningen fortsætte.
Beregn scenariet pr. kontrakt
Under den simple udbetaling på 1 $ eller 0 $ indebærer en personlig sandsynlighed på 0,64 en forventet udbetaling på 0,64 $ pr. kontrakt ifølge det estimat. Over for den maksimale modellerede omkostning på 0,53 $ er den forventede forskel 0,11 $. Under det lavere scenarie på 0,58 er den 0,05 $.
Det er forventninger under antagelser, ikke garanterede gevinster. En kontrakt kan afregnes til Nej og tabe sin indgangsomkostning i eksemplet. Prognosen kan også være forkert, og udførelsesforholdene kan ændre sig. Beregningens formål er at synliggøre relationen mellem sandsynlighed, udbetaling og omkostning.
En beslutningspolitik kan kræve en margin, som passer til dens egen dokumentation og udformning. Denne artikel foreskriver ingen. Det vigtige krav er, at politikken skrives før undersøgelse af udfald, og at usikkerhed om prognosen eller omkostningerne ikke skjules bag et præcist udseende tal for forventet værdi.
Anvend kontantkapacitet før størrelsesvalg
Antag, at den hypotetiske arbejdsgang tillader højst 13,25 $ i ny indgangsomkostning til dette forslag. Med den konservative omkostning pr. kontrakt på 0,53 $ understøtter budgettet højst 25 kontrakter, fordi 25 gange 0,53 $ er 13,25 $. Mængden skal overholde det faktiske handelssteds understøttede intervaller.
Det er en kapacitetsberegning, ikke et anbefalet budget eller en anbefalet størrelsesregel. Algoritmen bør bruge den faktiske godkendte mængde eller det faktiske godkendte beløb og kontotilstanden. Midler, som allerede er forpligtet andetsteds, kan ikke tælles dobbelt, og en ukendt ordrestatus kan gøre tilsyneladende tilgængelig kapacitet upålidelig.
Bevar budgetkilden og dens tidspunkt. Hvis kontoen ændres før godkendelse, skal forslaget genberegnes eller gøres ugyldigt efter den definerede politik. At en prognose forbliver uændret, betyder ikke, at kontoen stadig har samme handleevne. Markedsanalyse og ressourcegodkendelse er forskellige lag.
Anvend eksisterende eksponering og åbne forpligtelser
Antag nu, at arbejdsgangen har et hypotetisk loft på 40 Ja-kontrakter eksponeret mod den relevante begivenhedsgruppe. Den holder allerede 20 og har yderligere to i en anden åben forpligtelse. Den resterende kapacitet er 18 kontrakter: 40 minus 20 minus to. Denne begrænsning er strammere end kontantkapaciteten på 25.
Begivenhedsgruppen skal have en defineret betydning. Flere kontrakter kan dele en risikodriver, selv hvis deres navne afviger. Et virkeligt system kan bruge et mere passende risikomål end kontraktantal, især når udbetalinger eller strukturer afviger. Den simple antalgrænse her er kun valgt for at synliggøre regningen.
Vejledningen til algoritmer til forudsigelsesmarkeder sammenligner metoder og deres antagelser. Dette eksempel viser, hvorfor en gunstig selvstændig prognose ikke alene kan bestemme størrelsen. Eksisterende eksponering og forpligtelser kan afgrænse forslaget uafhængigt af modellens tillid.
Brug den mindste underbyggede kapacitet
De hypotetiske grænser er nu 25 kontrakter fra kontanter, 18 fra begivenhedsloftet og 18 fra den observerede bog inden for prisgrænsen. Det afgrænsede forslag er derfor højst 18 kontrakter. En anden politik kan pålægge endnu en mindre grænse, og en manglende forudsætning ville betyde intet forslag overhovedet.
Den maksimalt reserverede indgangsomkostning under den konservative grænse er 18 gange 0,53 $, altså 9,54 $. Den observerede bog antyder en lavere omkostning før gebyrer: Otte til 0,50 $ koster 4 $, og ti til 0,52 $ koster 5,20 $. Summen er 9,20 $ før det opdigtede gebyr på 0,18 $, altså 9,38 $ samlet.
Hold den maksimale grænse og det observerede estimat adskilt. Den første understøtter godkendelse under den angivne grænse, mens det andet beskriver det aktuelle bogscenarie. Ingen af dem er en faktisk udførelse. Forskellen forhindrer, at en senere udførelsesforskel forveksles med en brudt regnskabsidentitet.
Kontrollér det samlede forventede scenarie uden at overdrive påstande
Ved det centrale estimat på 0,64 har 18 simple kontrakter på 1 $ en modelleret forventet udbetaling på 11,52 $. Fratrækkes det observerede samlede estimat på 9,38 $, giver det en forventet forskel på 2,14 $. Under det lavere scenarie på 0,58 er den forventede udbetaling 10,44 $ og forskellen 1,06 $.
Den mulige realiserede udbetaling i det simple eksempel forbliver enten 18 $ eller nul, hvis alle 18 holdes til afgørelsen. Forventningen er et gennemsnit afledt af en sandsynlighedsmodel, ikke et tredje afregningsudfald. Denne forskel er væsentlig ved præsentation af beregninger for læsere, som kan forveksle forventet værdi med lovede kontanter.
Følsomhedsgennemgang bør omfatte antagelser ud over sandsynligheden. Omkostninger kan ændres, regler kan misforstås, og kun en del af forslaget bliver måske udført. Algoritmen bør bevare disse muligheder og undgå at præsentere den samlede forventning som et fuldstændigt mål for enhver relevant risiko.
Godkend en bestemt forslagsversion
Godkendelse bør gælde en defineret kontrakt, side, mængde, prisgrænse og dokumentationsversion. Hvis disse input ændres væsentligt, kræver systemet en politik for opdatering eller afvisning af forslaget. En tidligere godkendelse bør ikke blive ubegrænset tilladelse til at handle under alle senere markedsforhold.
Vejledningen til automatiseringssoftware til forudsigelsesmarkeder uddyber tilladelser og undtagelseshåndtering. En prognoseproducerende komponent kan forblive adskilt fra den komponent, der kontrollerer kontobeføjelser. Den adskillelse gør det lettere at identificere, hvilken beslutning der tillod den eksterne handling.
Registrér en udløbsbetingelse. Et forslag kan blive forældet på grund af forløbet tid, en ændret bog, en overgang i kontrakttilstand eller ny kontodokumentation. Udløb bør ikke slette forskningsregistreringen; det betyder, at den konkrete handling ikke længere er underbygget under de betingelser, der oprindeligt godkendte den.
Skeln indsendelse fra fuldførelse
Indsendelse af det godkendte forslag skaber et forsøg, ikke nødvendigvis en fuldført position. Bevar forsøgsreferencen og handelsstedets faktiske svar. Systemet bør skelne tilstandene accepteret, åben, delvist udført, annulleret, afvist og ukendt efter den aktuelle implementering frem for at tvinge dem ind i ét succesflag.
Hvis svaret er ukendt, skal det eksisterende forsøg afstemmes, før et andet skabes. En ny ordre kan duplikere eksponering, hvis den oprindelige allerede blev udført eller stadig er aktiv. En gentagen prognose eller besked er ikke en ny godkendelse til at ignorere usikkerheden.
Den ældre vejledning til et bot-API til forudsigelsesmarkeder forklarer, hvorfor disse grænser er vigtige. En algoritme bør producere en kæde, som kan undersøges, fra prognose til godkendt forslag til forsøg. Den bør ikke behandle hvert genforsøg som en ny økonomisk beslutning, blot fordi softwarefunktionen kan kaldes igen.
Genberegn efter en delvis udførelse
Antag, at den hypotetiske ordre får otte kontrakter udført til 0,50 $ og fire til 0,52 $. Omkostningen før gebyrer er 4 $ plus 2,08 $, altså 6,08 $. Med det opdigtede gebyr på 0,01 $ på hver af 12 erhvervede kontrakter er den samlede indgangsomkostning 6,20 $. Seks af de foreslåede 18 forbliver uudførte.
Kontoen holder nu 32 kontrakter i den forenklede begivenhedsgruppe: de oprindelige 20 plus de nye 12. Den har også to kontrakter i den tidligere separate forpligtelse og seks resterende fra dette forslag. Tilsammen summerer de stadig til loftet på 40 kontrakter, hvis alle åbne mængder udføres.
Algoritmen skal afgøre, hvad der sker med de resterende seks efter dens aktuelle politik. Den kan ikke ræsonnere, som om alle 18 var erhvervet, og kan heller ikke ignorere den resterende forpligtelse ved overvejelse af et nyt forslag. Faktiske udførelser og aktive anmodninger skal begge afspejles i kapacitetsberegningen.
Afstem omkostninger og positionstilstand
Når ordren når en kendt tilstand, skal udførelsesregistrering, gebyrer, positionsmængde og tilgængelig kapacitet sammenlignes. Brug faktisk opkrævede beløb frem for den hypotetiske forhåndsvisning ved gennemgang af en virkelig konto. Bevar enhver uoverensstemmelse og dens kilde frem for stiltiende at justere tal, indtil summerne ser plausible ud.
Hvis den resterende mængde annulleres, skal den relevante bekræftede tilstand afventes, før forpligtelsen frigives i det interne register. En annulleringsanmodning kan konkurrere tidsmæssigt med udførelser under handelsstedets faktiske adfærd. Den endelige mængde skal komme fra den afstemte dokumentation.
Algoritmens beslutningsregistrering bør bevare både prognosescenariet og det realiserede kontoforløb. Det gør senere evaluering mulig. En nyttig prognose kan møde dårlig udførelse, og en svag prognose kan producere et gunstigt isoleret udfald. Registreringen bør lade disse tilfælde skelnes frem for at blive reduceret til ét profittal.
Test beregningen fra prognose til ordre
En beregning fra prognose til ordre bør kontrolleres med tilfælde, som afprøver reelle grænser. Brug en udløbet prognose, en tvetydig kontrakt, en forældet bog, utilstrækkelig kontantkapacitet og et ukendt tidligere forsøg. Hvert bør producere den definerede afståelsesadfærd eller reducerede størrelse, før nogen indsendelse overvejes.
Test regningen med de hypotetiske værdier i denne vejledning. Bekræft loftet på 18 kontrakter, den konservative grænse på 9,54 $, det bogbaserede estimat på 9,38 $ og omkostningen på 6,20 $ for den delvise udførelse af 12 kontrakter. Disse kontroller verificerer meningsfulde relationer frem for at spejle vilkårlige implementeringsdetaljer.
Test også et tilfælde, hvor det korrekte resultat er ingen handling trods en høj prognose. Eksempelvis bør nul resterende eksponeringskapacitet blokere forslaget. Det demonstrerer, at algoritmen respekterer uafhængige begrænsninger frem for at lade tillid tilsidesætte kontopolitikken.
Undersøg, hvilke forslag der faktisk udføres
En prognose evalueret på tværs af alle foreslåede handler kan opføre sig anderledes på den delmængde, som faktisk udføres. En hvilende købsordre kan have større sandsynlighed for at blive udført, efter at information gør kontrakten mindre attraktiv for andre deltagere. Algoritmen bør derfor undersøge forholdene omkring udførelser frem for at antage, at fuldførte ordrer er en tilfældig stikprøve af dens forslag.
I en historisk undersøgelse fastslår en pris, som berører grænsen, ikke i sig selv, at algoritmens fulde mængde ville være udført. Tilgængelig størrelse, timing og handelsstedets faktiske matchningsregler er vigtige. Brug en underbygget udførelsesmodel, og identificér dens begrænsninger. En urealistisk generøs udførelsesantagelse kan få en omhyggelig beregning fra prognose til ordre til at se mere effektiv ud, end en virkelig arbejdsgang kunne være.
Bevar uudførte og annullerede forslag såvel som fuldførte. Sammenlign dokumentationstilstanden ved godkendelse med tilstanden tæt på faktiske udførelser, hvor dataene tillader det. Hvis prognosen udløber, mens en ordre forbliver åben, skal politikken angive, om den forpligtelse bør gennemgås eller trækkes tilbage. Det oprindelige gunstige estimat bør ikke forblive en permanent begrundelse for enhver senere udførelse.
Denne gennemgang forbinder prognoser og udførelse uden at sammenlægge dem. Modellen kan forblive godt kalibreret på sit tilsigtede mål, mens ordrepolitikken udvælger en ugunstig delmængde af tidspunkter. Omvendt kan udførelsen være korrekt, mens prognosen er svag. En nyttig registrering lader gennemlæseren identificere, hvilken antagelse der kræver revision, frem for at tilskrive hvert resultat sandsynlighedsmodellen alene.
En algoritme til forudsigelsesmarkeder bør synliggøre hver antagelse
Den færdige algoritme kan forklare, hvorfor den overvejede kontrakten, hvilket sandsynlighedsestimat den brugte, hvordan omkostninger blev modelleret, og hvilken grænse der bestemte den endelige størrelse. Den kan også forklare, hvorfor et forslag udløb, eller hvorfor et forsøg forbliver uafklaret. Disse forklaringer er en del af designet, ikke valgfri kommentarer tilføjet bagefter.
Det hypotetiske eksempel producerede højst 18 kontrakter, fordi kontanter, eksponering og dybde blev evalueret separat. Dets beregninger af forventet værdi afhang af en usikker prognose og udtrykkelige omkostninger. Dets faktiske position afhang af udførelser. At holde disse forskelle synlige forhindrer, at en pæn formel forveksles med et garanteret handelsresultat.
Udform processen som en kæde af underbyggede beslutninger med tydelige stopbetingelser. Bevar dokumentationen, og afstem, hvad der faktisk sker. Det skaber en algoritme, hvis adfærd kan testes, gennemgås og revideres uden at skjule sine antagelser i én uigennemsigtig score eller behandle en usikker indsendelse som tilladelse til at begynde igen.