En algoritm för prognosmarknader bör kunna förklara hur en prognos blev en föreslagen order. Förklaringen behöver mer än en sannolikhet och ett marknadspris. Den måste inkludera det exakta kontraktet, uppskattningens ålder och innebörd, aktuella genomförandeförhållanden, tillämpliga kostnader, kontobegränsningar och tillståndet för befintliga åtaganden.

Guiden följer en hypotetisk algoritm genom följden. Den använder ett enkelt fullt betalt Ja-kontrakt som betalar 1 dollar om dess definierade villkor uppfylls och annars 0 dollar. Alla sannolikheter, priser, avgifter och gränser är påhittade för undervisning. Faktiska kontrakt och handelsplatser kan ha andra bestämmelser och exemplet är ingen tilldelningsrekommendation eller något påstående om lönsam förmåga.

Utformningen låter avsiktligt algoritmen stanna. En tvetydig regel, gammal orderbok eller okänt kontotillstånd bör hindra att ett förslag med stöd tas fram även om prognosen ser gynnsam ut. Målet är ett avgränsat orderförslag vars resonemang och beräkning kan återskapas efter händelsen.

Definiera algoritmens mål

Algoritmen börjar med handelsplats, kontraktsidentifierare, utfallsval och exakt avvecklingsvillkor. En modell som uppskattar en bred händelse räcker inte om kontraktet använder en viss källa, tröskel eller revideringspolicy. Sannolikheten måste avse det faktiska instrument som övervägs.

Skriv målet i en form som kan utvärderas senare. I det hypotetiska exemplet antas att den namngivna första publiceringen måste överstiga en angiven tröskel och att den enkla utbetalningen uttryckligen är 1 dollar eller 0 dollar. Alla undantagsfall utesluts av exemplets definition, inte genom antagandet att de saknas i verkliga kontrakt.

Den äldre guiden till handelsalgoritmer för prognosmarknader ger ett bredare utformningsramverk. En användbar algoritm kan inte reparera ett odefinierat mål med avancerad storleksbestämning. Kontraktets innebörd är en förutsättning eftersom den avgör vad prognosen och utbetalningsberäkningarna handlar om.

Bevara prognosen och dess beläggstid

Anta att modellen ger en central Ja-uppskattning på 0,64. Registrera utfärdandetid, källbelägg, modellversion och utvärderingsomfattning. Talet bör vara en sannolikhetsuppskattning för det definierade målet, inte ett rangordningspoängtal eller internt tillförsiktsvärde ommärkt som sannolikhet.

Uppskattningen förblir osäker. I detta undervisningsexempel undersöker analytikern också ett lägre scenario på 0,58 för att se hur förslaget beter sig under ett mindre gynnsamt antagande. Scenariot är ingen statistiskt fastställd konfidensgräns om inte en separat metod stöder den tolkningen.

Bevara prognosen innan senare utfall granskas. En historisk återspelning måste använda information tillgänglig vid beslutstiden, inklusive saknade indata och fördröjda publiceringar. Den äldre guiden till algoritmisk handel på prognosmarknader förklarar varför senare rättelser inte tyst bör förbättra den tidigare algoritmens skenbara kunskap.

Definiera ett avståendevillkor för algoritmen

Ett avståendevillkor för algoritmen anger när inget förslag ska produceras. Relevanta fall inkluderar olöst kontraktskoppling, utgångna prognosbelägg, ofullständiga marknadsdata eller ett kontotillstånd som inte kan stämmas av. Varje villkor bör ge ett läsbart skäl i stället för ett numeriskt resultat som ser ut som ett beslut.

Avstående är ingen prognos om noll sannolikhet. Det betyder att beslutsprocessen saknar nödvändiga indata eller faller utanför sin auktoriserade omfattning. Behåll senaste giltiga prognos som historiska belägg om det är användbart men för den inte vidare som aktuell bara för att ingen ersättare finns.

Algoritmen bör också skilja analyskvalificering från handelskvalificering. Ett kontrakt kan förbli intressant att studera medan aktuella konto- eller marknadsförhållanden hindrar åtgärder. Separationen hjälper granskare förstå om systemet avvisade idén, sköt upp den eller saknade belägg för att avgöra frågan.

Läs relevant marknadssida och mängd

Ett förslag att köpa Ja behöver aktuella säljerbjudanden och tillgängliga mängder enligt handelsplatsens faktiska representation. En visad mittkurs eller senaste affär räcker inte. Algoritmen bör bevara orderbokens tidsstämpel och uppskatta kostnaden för avsedd storlek i stället för att anta att varje enhet kan handlas på bästa nivå.

I den hypotetiska orderboken erbjuds åtta kontrakt för 0,50 dollar och ytterligare tio för 0,52 dollar. Dessa 18 kontrakt är den tillgängliga mängden inom den föreslagna prisgränsen vid det observerade ögonblicket. Andra erbjudanden, om de finns, ligger utanför scenariots tillåtna pris och utesluts.

Guiden till handel med händelsekontrakt förklarar underliggande kostnads- och utbetalningsmekanismer. Algoritmen använder mekanismerna uttryckligen. En offert är indata till ett förslag medan faktiska senare fyllningar fastställer förvärvad mängd och kostnad. De bör förbli separata i historiken.

Inkludera kostnader under ett namngivet antagande

För undervisningen antas en påhittad avgift på 0,01 dollar per förvärvat kontrakt och inga andra avgifter i det förenklade scenariot. Vid högsta tillåtna köppris på 0,52 dollar är den maximala öppningskostnaden per kontrakt därför 0,53 dollar. Det är ett modelleringsantagande, inte en aktuell avgiftstabell för någon handelsplats.

Faktiska avgifter måste kontrolleras under relevanta produkt- och marknadsförhållanden. Kalshis avgiftsvägledning anger att avgifter kan skilja sig mellan marknader. En algoritm bör använda aktuella tillämpliga regler och bevara versionen eller källan som användes för kostnadsuppskattningen.

Om kostnader inte kan uppskattas med tillräckligt stöd för strategin bör förslaget förbli otillgängligt. En liten skenbar fördel kan försvinna vid en måttlig avgifts- eller genomförandeskillnad. Algoritmen bör inte behandla okända kostnader som noll bara för att beräkningen då kan fortsätta.

Beräkna scenariot per kontrakt

Med den enkla utbetalningen på 1 dollar eller 0 dollar innebär en egen sannolikhet på 0,64 en förväntad utbetalning på 0,64 dollar per kontrakt enligt uppskattningen. Mot den maximala modellerade kostnaden på 0,53 dollar är den förväntade skillnaden 0,11 dollar. Under det lägre scenariot på 0,58 är den 0,05 dollar.

Det är förväntningar under antaganden, inte garanterade vinster. Ett kontrakt kan få Nej-utfall och förlora öppningskostnaden i exemplet. Prognosen kan också vara fel och genomförandeförhållanden kan ändras. Beräkningens syfte är att synliggöra sambandet mellan sannolikhet, utbetalning och kostnad.

En beslutspolicy kan kräva en marginal som passar egna belägg och utformning. Artikeln föreskriver ingen. Det viktiga kravet är att policyn skrivs före granskning av utfall och att osäkerhet i prognos eller kostnader inte döljs bakom ett till synes exakt förväntat-värde-tal.

Tillämpa kassakapacitet innan storlek väljs

Anta att det hypotetiska flödet tillåter högst 13,25 dollar i ny öppningskostnad för förslaget. Med den försiktiga kontraktskostnaden på 0,53 dollar stöder budgeten högst 25 kontrakt eftersom 25 gånger 0,53 dollar är 13,25 dollar. Mängden måste respektera de steg som den faktiska handelsplatsen stöder.

Det är en kapacitetsberäkning, inte en rekommenderad budget eller storleksregel. Algoritmen bör använda faktiskt auktoriserat belopp och kontotillstånd. Medel som redan är bundna på annat håll kan inte räknas två gånger och okänd orderstatus kan göra skenbart tillgänglig kapacitet otillförlitlig.

Bevara budgetkällan och dess tid. Om kontot ändras före auktorisering ska förslaget räknas om eller göras ogiltigt enligt definierad policy. Att prognosen är oförändrad betyder inte att kontot fortfarande har samma handlingsförmåga. Marknadsanalys och resursauktorisering är olika lager.

Tillämpa befintlig exponering och öppna åtaganden

Anta nu att flödet har ett hypotetiskt tak på 40 Ja-kontrakt exponerade mot relevant händelsegruppering. Det håller redan 20 och har ytterligare två i ett annat öppet åtagande. Återstående kapacitet är 18 kontrakt: 40 minus 20 minus två. Begränsningen är snävare än kassakapaciteten på 25.

Händelsegrupperingen måste ha en definierad innebörd. Flera kontrakt kan dela en riskdrivkraft även om namnen skiljer sig. Ett verkligt system kan använda ett lämpligare riskmått än kontraktsantal, särskilt när utbetalningar eller strukturer skiljer sig. Den enkla antalsgränsen här väljs bara för att synliggöra beräkningen.

Guiden till algoritmer för prognosmarknader jämför metoder och antaganden. Exemplet visar varför en gynnsam fristående prognos inte ensam kan bestämma storlek. Befintlig exponering och åtaganden kan begränsa förslaget oberoende av modellens tillförsikt.

Använd den minsta kapaciteten med stöd

De hypotetiska gränserna är nu 25 kontrakt från kassan, 18 från händelsetaket och 18 från den observerade orderboken inom prisgränsen. Det avgränsade förslaget är därför högst 18 kontrakt. En annan policy kan införa ytterligare en lägre gräns och en saknad förutsättning skulle ge inget förslag alls.

Den maximalt reserverade öppningskostnaden enligt den försiktiga gränsen är 18 gånger 0,53 dollar, alltså 9,54 dollar. Den observerade orderboken antyder en lägre kostnad före avgifter: åtta för 0,50 dollar kostar 4 dollar och tio för 0,52 dollar kostar 5,20 dollar. Summan är 9,20 dollar före den påhittade avgiften på 0,18 dollar, alltså totalt 9,38 dollar.

Håll maximal gräns och observerad uppskattning separata. Den förra stöder auktorisering inom angiven gräns medan den senare beskriver aktuellt orderboksscenario. Ingen är en faktisk fyllning. Skillnaden hindrar att en senare genomförandeskillnad misstas för en bruten redovisningsidentitet.

Kontrollera det samlade förväntade scenariot utan överdrifter

Vid den centrala uppskattningen på 0,64 har 18 enkla kontrakt på 1 dollar en modellerad förväntad utbetalning på 11,52 dollar. Efter avdrag för den observerade totaluppskattningen på 9,38 dollar är förväntad skillnad 2,14 dollar. Under det lägre scenariot på 0,58 är förväntad utbetalning 10,44 dollar och skillnaden 1,06 dollar.

Den möjliga realiserade utbetalningen i det enkla exemplet förblir antingen 18 dollar eller noll om alla 18 behålls till utfallsbestämning. Förväntningen är ett genomsnitt som följer av en sannolikhetsmodell, inte ett tredje avvecklingsutfall. Skillnaden är nödvändig när beräkningar visas för läsare som kan missta förväntat värde för utlovad kassa.

Känslighetsgranskning bör inkludera antaganden utöver sannolikheten. Kostnader kan ändras, regler missförstås och bara en del av förslaget fyllas. Algoritmen bör bevara möjligheterna och undvika att presentera den samlade förväntningen som ett fullständigt mått på varje relevant risk.

Auktorisera en specifik förslagsversion

Auktorisering bör gälla definierat kontrakt, sida, mängd, prisgräns och beläggsversion. Om dessa indata ändras väsentligt behöver systemet en policy för att uppdatera eller avvisa förslaget. Ett tidigare godkännande bör inte bli obegränsad behörighet att agera under alla senare marknadsförhållanden.

Guiden till automatiseringsprogramvara för prognosmarknader utvecklar behörigheter och undantagshantering. En prognosproducerande komponent kan förbli separat från komponenten som kontrollerar kontobefogenheter. Separationen gör det lättare att identifiera vilket beslut som tillät den externa åtgärden.

Registrera ett utgångsvillkor. Ett förslag kan bli inaktuellt genom förfluten tid, ändrad orderbok, kontraktstillståndsövergång eller nya kontobelägg. Utgång bör inte radera analysposten; den betyder att den specifika åtgärden inte längre stöds under villkoren som ursprungligen auktoriserade den.

Skilj inskickning från slutförande

Att skicka in det auktoriserade förslaget skapar ett försök, inte nödvändigtvis en slutförd position. Bevara försöksreferens och faktiskt handelsplatssvar. Systemet bör skilja accepterat, öppet, delvis fyllt, annullerat, avvisat och okänt tillstånd enligt aktuell implementering i stället för att tvinga in dem i en framgångsmarkering.

Om svaret är okänt ska befintligt försök stämmas av innan ett nytt skapas. En ny order kan duplicera exponering om originalet redan fylldes eller förblir aktivt. En upprepad prognos eller avisering är ingen ny auktorisering att ignorera osäkerheten.

Den äldre guiden till API:er för prognosmarknadsbotar förklarar varför gränserna spelar roll. En algoritm bör producera en granskningsbar kedja från prognos till auktoriserat förslag till försök. Den bör inte behandla varje omförsök som ett nytt ekonomiskt beslut bara för att programfunktionen kan anropas igen.

Skilj inskickning från slutförandeForecastsupportCostthresholdCashcapacityExposurecapacityAvailabledepthTRADING FIELD NOTESEDUCATIONAL RESOURCE
Den minsta tillämpliga kapaciteten begränsar förslaget; en gynnsam uppskattning åsidosätter inte en saknad förutsättning.

Räkna om efter en delfyllning

Anta att den hypotetiska ordern fyller åtta kontrakt för 0,50 dollar och fyra för 0,52 dollar. Kostnaden före avgifter är 4 dollar plus 2,08 dollar, alltså 6,08 dollar. Med den påhittade avgiften på 0,01 dollar för vart och ett av 12 förvärvade kontrakt är total öppningskostnad 6,20 dollar. Sex av föreslagna 18 förblir ofyllda.

Kontot håller nu 32 kontrakt i den förenklade händelsegrupperingen: ursprungliga 20 plus nya 12. Det har också två kontrakt i det tidigare separata åtagandet och sex återstående från detta förslag. Tillsammans når de fortfarande taket på 40 kontrakt om alla öppna mängder fylls.

Algoritmen måste avgöra vad som händer med återstående sex enligt aktuell policy. Den kan inte resonera som om alla 18 förvärvats och kan inte heller ignorera återstående åtagande när ett nytt förslag övervägs. Både faktiska fyllningar och aktiva begäranden måste återspeglas i kapacitetsberäkningen.

Stäm av kostnader och positionstillstånd

När ordern når ett känt tillstånd ska fyllningspost, avgifter, positionsmängd och tillgänglig kapacitet jämföras. Använd faktiskt debiterade belopp snarare än hypotetisk förhandsvisning när ett verkligt konto granskas. Bevara varje avvikelse och dess källa i stället för att tyst justera tal tills summorna ser rimliga ut.

Om återstående mängd annulleras ska relevant bekräftat tillstånd inväntas innan åtagandet frigörs i intern huvudbok. En annulleringsbegäran kan konkurrera med fyllningar enligt faktiskt handelsplatsbeteende. Slutmängden måste komma från avstämda belägg.

Algoritmens beslutspost bör behålla både prognosscenariot och det realiserade kontoförloppet. Det möjliggör senare utvärdering. En användbar prognos kan möta dåligt genomförande och en svag prognos kan ge ett gynnsamt enskilt utfall. Historiken bör låta fallen skiljas åt i stället för att reduceras till ett vinsttal.

Testa beräkningen från prognos till order

En beräkning från prognos till order bör kontrolleras med fall som prövar verkliga gränser. Använd en utgången prognos, ett tvetydigt kontrakt, en gammal orderbok, otillräcklig kassakapacitet och ett okänt tidigare försök. Varje fall bör ge definierat avstående eller minskad storlek innan någon inskickning övervägs.

Testa beräkningen med guidens hypotetiska värden. Bekräfta taket på 18 kontrakt, den försiktiga gränsen på 9,54 dollar, den orderboksbaserade uppskattningen på 9,38 dollar och kostnaden på 6,20 dollar för delfyllningen på 12 kontrakt. Kontrollerna verifierar meningsfulla samband i stället för att spegla godtyckliga implementeringsdetaljer.

Testa också ett fall där rätt resultat är ingen åtgärd trots en hög prognos. Exempelvis bör noll återstående exponeringskapacitet blockera förslaget. Det visar att algoritmen respekterar oberoende begränsningar i stället för att låta tillförsikt åsidosätta kontopolicyn.

Undersök vilka förslag som faktiskt fylls

En prognos utvärderad över alla föreslagna affärer kan bete sig annorlunda på den delmängd som faktiskt fylls. En vilande köporder kan vara mer benägen att genomföras efter information som gör kontraktet mindre attraktivt för andra deltagare. Algoritmen bör därför undersöka förhållandena kring fyllningar i stället för att anta att slutförda order är ett slumpmässigt urval av förslagen.

I en historisk studie fastställer inte en prisberöring av gränsen i sig att algoritmens hela mängd skulle ha fyllts. Tillgänglig storlek, tidssättning och handelsplatsens faktiska matchningsregler spelar roll. Använd en genomförandemodell med stöd och ange begränsningarna. Ett orealistiskt generöst fyllningsantagande kan få en noggrann prognos-till-order-beräkning att se effektivare ut än ett verkligt flöde kunde vara.

Bevara ofyllda och annullerade förslag liksom slutförda. Jämför beläggstillståndet vid auktorisering med tillståndet nära faktiska fyllningar där data tillåter. Om prognosen löper ut medan en order förblir öppen behöver policyn ange om åtagandet ska granskas eller dras tillbaka. Den ursprungliga gynnsamma uppskattningen bör inte förbli permanent motivering för varje senare fyllning.

Granskningen kopplar ihop prognoser och genomförande utan att slå samman dem. Modellen kan förbli väl kalibrerad för sitt avsedda mål medan orderpolicyn väljer en ogynnsam delmängd av ögonblick. Omvänt kan genomförandet vara korrekt medan prognosen är svag. En användbar historik låter granskaren identifiera vilket antagande som behöver revideras i stället för att hänföra varje resultat bara till sannolikhetsmodellen.

En algoritm för prognosmarknader bör synliggöra varje antagande

Den färdiga algoritmen kan förklara varför kontraktet övervägdes, vilken sannolikhetsuppskattning som användes, hur kostnader modellerades och vilken gräns som avgjorde slutstorleken. Den kan också förklara varför ett förslag löpte ut eller ett försök förblir olöst. Förklaringarna ingår i utformningen, inte som valfria kommentarer efteråt.

Det hypotetiska exemplet gav högst 18 kontrakt eftersom kassa, exponering och djup utvärderades separat. Beräkningarna av förväntat värde berodde på en osäker prognos och uttryckliga kostnader. Den faktiska positionen berodde på fyllningar. Att hålla skillnaderna synliga hindrar att en prydlig formel misstas för ett garanterat handelsresultat.

Bygg processen som en kedja av beslut med stöd och tydliga stoppvillkor. Bevara beläggen och stäm av vad som faktiskt händer. Det skapar en algoritm vars beteende kan testas, granskas och revideras utan att gömma antaganden i ett ogenomskinligt poängtal eller behandla en osäker inskickning som behörighet att börja om.

Fortsätt lära dig

Utforska alla resurser