En handelsbot för Kalshis händelsekontrakt måste följa tre relaterade objekt: kontraktet som definierar utbetalningen, ordern som begär en transaktion och positionen som följer av faktiska avslut. Att blanda ihop objekten kan få ett konto att verka sakna positioner trots kvarvarande exponering eller vara fullinvesterat trots att bara en del av en order genomförts.

Livscykeln är också mer än en prisföljd. Ett kontrakt kan godkännas, handlas, pausas, stängas, avgöras och avräknas, medan enskilda order och positioner följer egna vägar inom processen. Varje övergång ändrar vilka belägg boten behöver och vilka åtgärder som fortfarande är lämpliga.

Den här guiden följer betydelserna genom konkreta exempel. Den gäller prognosmarknaders händelsekontrakt, med enkla binära utbetalningar endast där det anges. Kvantiteter och kostnader är hypotetiska och ska inte behandlas som aktuella marknadsvillkor eller avgifter.

Definiera livscykeln för en handelsbot för Kalshis händelsekontrakt

Livscykeln för en handelsbot för Kalshis händelsekontrakt börjar med att förstå frågan. Kontraktet anger villkoret, observationsperioden, resultatkällan och relevanta undantag. En order uttrycker en avsedd transaktion i kontraktet. En position återspeglar kontots resulterande exponering.

Objekten går inte automatiskt vidare tillsammans. En marknad kan förbli öppen efter att en order annullerats. En position kan finnas kvar efter att alla order försvunnit. En stängd marknad kan fortfarande vänta på fastställande av utfall och kontoavräkning.

En användbar intern dokumentation ger varje objekt en egen identitet och status. Kontraktsposten följer villkor och marknadstillstånd. Orderposten följer begäranden, avslut och återstoder. Positionsposten följer innehavd exponering och dess kontantkostnadsgrund eller annan vald redovisningsförklaring.

Guiden till prognosmarknadsbotar introducerar perspektivet från regler till avräkning. En livscykel för ett enskilt kontrakt gör perspektivet praktiskt genom att visa vilken post som ska ändras när ett nytt belägg kommer.

Ägaren ska när som helst kunna ställa tre separata frågor: vad betyder kontraktet, vilka order kan fortfarande agera och vilken exponering innehas redan? En enda kombinerad aktiv-etikett kan inte besvara alla tre korrekt.

Den praktiska guiden till handel på Kalshi visar dessa separata poster med en delvis fylld order och ett fullständigt positionsresultat i två steg.

Godkänn kontraktet innan en order skapas

Godkännandet bekräftar att boten förstår det specifika kontraktet och har en godkänd metod för att hantera det. Läs hela utfallsdefinitionen och identifiera källan och tidpunkterna som avgör resultatet. Ett bekant ämne fastställer inte en exakt matchning.

Dokumentera tröskelgränser. Strikt över, minst och inom ett intervall kan ge olika utfall vid likhet. En modell som använder en annan jämförelse än kontraktet kan vara internt konsekvent men handla fel påstående.

Identifiera undantagsgrenar som spelar roll för utbetalningen. En försenad händelse, saknade data eller en annan särskild bestämmelse kan kräva granskning eller ett avvikande resultat. Boten ska inte anta att varje kontrakt alltid bara har ett vanligt avgörande på noll eller ett.

Håll godkännandet åtskilt från en aktuell handelssignal. Kontraktet kan förbli godkänt medan inget acceptabelt pris finns. En prognos kan se gynnsam ut medan kontraktet förblir icke godkänt. Inget av villkoren ska tyst ersätta det andra.

Godkännandeposten ska förbli tillgänglig efter avräkning. Den förklarar frågan strategin trodde att den handlade och låter senare granskning skilja en dålig prognos från ett fel i regeltolkningen.

Märk kvantitetsenheterna för boten för Kalshis händelsekontrakt

Kvantitetsenheter för en handelsbot för Kalshis händelsekontrakt ska skilja kontrakt från pengar. Kontraktsantal beskriver exponeringsenheter. Pris beskriver pengar per kontrakt. Köpbeloppet multiplicerar dem, medan total kontokostnad inkluderar tillämpliga utgifter och justeringar.

En hypotetisk order på tio kontrakt till 27 cent har ett köpbelopp på 2 dollar och 70 cent. Med antagna kostnader på tio cent är totalbeloppet 2 dollar och 80 cent. Det är varken ett köp på tio dollar eller en position på 27 kontrakt.

Bråkdelskvantiteter kräver samma omsorg. En kvantitet på 2,50 kontrakt till 40 cent har ett köpbelopp på en dollar före kostnader. Att kapa kvantiteten eller avrunda den för visning får inte ändra den ekonomiska dokumentationen.

Aktuella talkonventioner ska kontrolleras i dokumentationen om fast decimalprecision. Representationsprecision och en viss marknads tillåtna prissteg är separata frågor, så ett tal som kan tolkas är inte automatiskt ett giltigt orderpris.

Använd uttryckliga fältnamn i rapporter och interna modeller. Begärda kontrakt, fyllda kontrakt, återstående kontrakt och kontantflöde säger mer än ett allmänt belopp. Tydliga enheter gör räknefel lättare att upptäcka innan de påverkar kontot.

Håll pris, sannolikhet och utbetalning åtskilda

För ett enkelt binärt kontrakt som betalar en dollar vid YES kan ett pris tolkas som en marknadsimplicit sannolikhet före förbehåll och kostnader. Det gör det inte till samma sak som botens prognos eller vinsten kontot kommer att få.

Att köpa till 27 cent ger inte omedelbart 73 cent i vinst. Kontot har bytt kontanter mot exponering. Om den hypotetiska positionen på tio kontrakt senare betalar tio dollar och total anskaffningskostnad var 2 dollar och 80 cent är vinsten 7 dollar och 20 cent med dessa antaganden.

Om den betalar noll är förlusten 2 dollar och 80 cent. En hög möjlig vinst i förhållande till kostnaden kommer med möjligheten till det förlorande utfallet. Priset är inget löfte om gynnsam avräkning.

Ett aktuellt värderingspris är ytterligare ett separat värde. Kontot kan uppskatta vad de innehavda kontrakten är värda vid tillgängliga priser, men en orealiserad värdering är inte samma sak som försäljningsintäkter. Storlek och likviditet spelar roll om ägaren försöker avsluta.

Guiden till handelsstrategier för prognosmarknader förklarar hur prognoser och kostnader stöder beslut. En livscykelpost bevarar dessa indata utan att blanda dem med det senare utfallet som avgör slutresultatet.

Skilj inskickning från acceptans och avslut

En orderavsikt finns innan en begäran skickas. Inskickning betyder att ett försök gjordes. Acceptans betyder att handelsplatsen erkände begäran enligt relevant svarssemantik. Ett avslut betyder att en viss kvantitet faktiskt handlades. Klienten ska inte behandla dem som synonymer.

Spara avsikten och dess identitet beständigt före inskickning. Om svaret förloras har boten fortfarande en post över åtgärden den avsåg att utföra och kan undersöka kontoutfallet. Ett tomt svar fastställer inte att åtgärden misslyckades.

En lyckad bekräftelse kan lämna kvantitet aktiv. Systemet ska granska de rapporterade beläggen och följa ordern i stället för att anta att hela den begärda storleken nu innehas. En limitorder kan förbli ofylld eller delvis fylld.

Använd beständiga relationer mellan klientavsikten, handelsplatsens order och avsluten. Relationerna gör senare händelser hänförbara även efter omförsök eller omstarter. Ett nytt anropsförsök ska inte automatiskt skapa en ny ekonomisk auktorisering.

Guiden till handels-API:er för prognosmarknader beskriver dessa bevisgränser. I en livscykelmodell för varje svar bara fram de fakta det faktiskt fastställer och lämnar resten uttryckligt snarare än gissat.

Förstå betydelsen av en ändrad kvantitet

En ändring kan ändra en orders pris eller tillåtna kvantitet, men betydelsen av dess antalsfält måste komma från aktuell operation. En total tillåten avslutskvantitet skiljer sig från en önskad återstående kvantitet.

Kalshis referens för ändring i V2 anger att begärans antal representerar det uppdaterade totala eller maximalt fyllbara antalet och kombinerar redan fylld kvantitet med önskad vilande återstod. Klienten ska inte skicka en önskad återstod till det fältet som om de två vore utbytbara.

För en hypotetisk order med 12 redan fyllda kontrakt motsvarar en önskad återstående kvantitet på åtta en total på 20 enligt den konventionen. Att skicka åtta som total skulle uttrycka en annan begäran. Detta är en semantisk fråga, inte bara en formateringsfråga.

Kontot kan ändras medan en ändring är på väg. Om ytterligare två kontrakt går till avslut innan ändringen behandlas måste den resulterande återstoden tolkas utifrån faktiskt svar och kontobelägg. Den lokala beräkningen fryser inte matchningsprocessen.

Håll ändringshistoriken knuten till ursprunglig orderavsikt. En senare granskare ska kunna se varför kvantiteten ändrades och hur ändringen påverkade återstående åtagande, snarare än att bara se slutlig orderstorlek.

Skilj minskning av en återstod från försäljning av en position

Att minska en ofylld order ändrar möjlig framtida exponering. Att sälja en innehavd position ändrar exponering som redan förvärvats. En bot ska inte märka båda operationerna som minska utan att förklara vilket objekt som påverkas.

Den aktuella referensen för minskning i V2 beskriver minskning av en orders återstående antal genom separata indata för minska med eller minska till. Operationerna gäller den aktiva ordern, inte en automatisk försäljning av redan fyllda kontrakt.

Anta att en order har 18 kontrakt innehavda från avslut och 22 fortfarande aktiva. Att minska återstående antal till tio lämnar de innehavda 18 oförändrade. Kontot har då 18 faktiska kontrakt och möjlig ytterligare exponering från tio, förutsatt att ordern fortsätter vara aktiv.

Om ägaren i stället vill att innehavd position ska falla från 18 till tio krävs en lämplig positionsminskande transaktion enligt kontots regler och tillgänglig likviditet. Att annullera ett köpbud kan inte åstadkomma det.

Skillnaden hör hemma i gränssnittet såväl som i koden. En operatör som trycker på en kontroll ska veta om den ändrar en orderåterstod, en befintlig position eller båda genom en definierad följd. Tvetydigt språk kan ge en felaktig uppfattning om aktuell risk.

Vid kopieringshandel på Kalshi kräver en källas återkallelse av en signal likaså separat hantering av följarens ofyllda återstod och redan förvärvade kontrakt.

Tolka annullering som en kvantitetshändelse

Annullering tar bort ett ofyllt åtagande när den får effekt; den raderar inte tidigare avslut. En delvis genomförd order kan sluta med en annullerad återstod och ändå lämna en verklig position.

Kalshis referens för annullering i V2 beskriver ett kompakt svar som inkluderar det minskade antalet snarare än ett fullständigt orderobjekt. Klienten ska inte anta att svaret innehåller hela positionshistoriken.

För en hypotetisk begäran om 50 kontrakt antar vi att 20 gick till avslut före annulleringen. Om de återstående 30 annulleras utan mellanliggande avslut behåller kontot 20. Att bara rapportera ordern som annullerad utan avslutskvantiteten döljer exponeringen.

Om ytterligare fem går till avslut innan annulleringen får effekt är slutlig innehavd kvantitet 25 och annullerad återstod 25. Klienten måste stämma av den faktiska följden i stället för att behandla kvantiteten som syntes när knappen trycktes som slutlig.

Ett misslyckat annulleringsförsök behöver också tolkas. Ordern kan redan vara slutförd, vara okänd inom den efterfrågade omfattningen eller kräva vidare undersökning. Programmet ska bevara beläggen och fortsätta kontokontroller i stället för att härleda att inget åtagande återstår.

Underhåll positionsposter för boten för Kalshis händelsekontrakt

Positionsposter för en handelsbot för Kalshis händelsekontrakt ska härledas från faktisk kontoaktivitet och kontrolleras mot aktuella kontobelägg. De ska skilja innehavd kvantitet, aktiva order, kostnadsposter och realiserade resultat åt.

Flera order kan bidra till en position. En bot kan köpa i flera delar, minska en del av exponeringen och senare lägga till igen under en ny auktorisering. En positionspost som bara pekar på senaste ordern förlorar historiken som behövs för att förklara dess belopp och kostnad.

Riktningen för en ny affär ska tolkas tillsammans med befintlig position. En åtgärd kan minska motsatt exponering eller skapa ny exponering beroende på kontotillståndet. Klienten ska inte påstå att avsett nettoresultat uppnåtts innan vad kontot faktiskt rapporterar har stämts av.

Undvik dubbelräkning av kumulativa observationer. Om ett fält rapporterar totalt fylld kvantitet ersätter senare totaler det tidigare kumulativa måttet i stället för att läggas till. Inkrementella avslutshändelser kräver dubblettkontroll utifrån dokumenterade identifierare.

Guiden till kontosynkronisering för prognosmarknader utvecklar denna bredare dokumentation. För ett enskilt händelsekontrakt är målet en förklaring som förblir korrekt genom flera order, delförsäljningar och slutlig upplösning.

Hantera marknadspauser utan att förlora positionen

En pausad marknad ändrar vilka åtgärder som kan vara tillgängliga, men får inte innehavd exponering att försvinna. Boten ska bevara positioner och orderbelägg medan den kontrollerar aktuella marknads- och börsvillkor.

En lokal strategipaus är ett separat begrepp. Programmet kan besluta att stoppa nya köp medan handelsplatsen förblir öppen. Rapporten ska skilja valet från ett avbrott på marknadsnivå så att ägaren vet varför åtgärder begränsas.

Aktiva order behöver uttrycklig hantering enligt godkänd policy och aktuellt beteende på handelsplatsen. En begäran om annullering under en paus fastställer kanske eller kanske inte slutligt tillstånd direkt. Kontoposten ska bevara vad som begärdes och vad som har verifierats.

När aktiviteten återupptas behöver gamla förslag valideras på nytt. Händelsen kan ha förändrats, prognosen kan vara inaktuell och avslut kan ha skett kring avbrottet. Att återställa en anslutning räcker inte för att återställa varje tidigare auktorisering.

En användbar livscykelmodell håller observationen aktiv genom dessa förhållanden där det är möjligt. Även när ingen ny affär är tillåten behöver ägaren fortfarande veta vad som innehas, vad som kan vara aktivt och vilka belägg som saknas.

Hantera marknadspauser utan att förlora positionenQuantity MeaningRequested TotalFilled AmountWorking RemainderHeld PositionTRADING FIELD NOTESEDUCATIONAL RESOURCE
Kvantitetsfält som ser liknande ut kan beskriva olika åtaganden och kan inte ersätta varandra utan att deras betydelse kontrolleras.

Skilj stängning, fastställande och avräkning åt

Handelsstängning avslutar en del av livscykeln. Fastställande av utfall avgör resultatet enligt kontraktets process. Avräkning löser kontopositionen och kontanteffekterna. Dessa steg ska inte slås ihop till en enda klar-flagga.

Att en verklig händelse verkar avslutad fastställer inte automatiskt kontraktsresultatet. Utsedd källa och regelvillkor förblir relevanta. På samma sätt gör ett sannolikt resultat inte förväntade intäkter tillgängliga på kontot innan avräkningsbelägg finns.

Behåll en uppföljningskö för stängda men olösta positioner. Den ska identifiera kontrakt, innehavd kvantitet, relevant källa och senast kända tillstånd. En uppskattad tid kan vägleda granskning utan att bli en garanti för betalning.

Om ett ovanligt resultat eller en justering visas ska det stämmas av mot faktisk regel och kontopost. Huvudboken ska inte tvinga in det i den enkla binära undervisningsmodellen om kontraktet stöder en annan behandling.

Livscykeln är fullständig först när återstående position och kontanteffekter är förklarade. Den standarden förhindrar att en strategi släpper åtaganden bara därför att den inte längre behöver bevaka den aktuella orderboken.

Guiden till automatisering av Kalshis händelsekontrakt kopplar dessa senare steg till ursprunglig regeltolkning, prognos och återstående nettokvantitet.

Stäm av kontanter separat från kontraktsantal

En korrekt kvantitetspost bevisar inte i sig att kontantposten är korrekt. Kontot kan inneha förväntat antal kontrakt medan registrerat köpbelopp, transaktionskostnader eller senare intäkter förblir ofullständiga. Kontrollera de två förklaringarna separat innan avstämningen anses klar.

Anta att en hypotetisk position består av fyra kontrakt köpta till 30 cent och sex köpta till 35 cent. De tio kontrakten har ett sammanlagt köpbelopp på 3 dollar och 30 cent före utgifter. En visning som multiplicerar alla tio med senaste priset skulle rapportera 3 dollar och 50 cent och överdriva anskaffningsbeloppet med 20 cent.

Utgifter ska förbli identifierbara i stället för att tyst absorberas i en kvantitetsjustering. Ytterligare tio cent i antagna kostnader ändrar kontantkostnadsgrunden till 3 dollar och 40 cent; det ändrar inte de tio kontrakten till en mindre position. På samma sätt är en visad värderingsändring inte nödvändigtvis ett kontantflöde.

När en delförsäljning sker ska intäkterna och metoden för att hänföra kostnad till såld kvantitet bevaras. Olika analyskonventioner kan ge olika mellanliggande realiserade och orealiserade siffror, även om totala kontantflöden fortfarande ska stämma. Märk konventionen så att läsare inte jämför olikartade rapporter.

Verifiera vid avräkning det slutliga kontoflödet mot det faktiska kontraktsresultatet och återstående innehav. Denna oberoende kontantkontroll kan avslöja ett saknat avslut eller en utgift som en granskning av enbart kvantitet skulle missa och samtidigt hindra en ofarlig värderingsskillnad från att misstas för ett förlorat kontrakt.

Exemplen med handelsbot för Yes- och No-andelar konkretiserar den oberoende kontrollen genom att föra anskaffningskostnader vidare genom delförsäljningar och slutliga utbetalningar.

Bevara den fullständiga kvantitetsavstämningen

En användbar slutpost förklarar hur begärd kvantitet blev avslut, annulleringar och återstående exponering. För en enkel oförändrad order kan ursprungsbegäran stämmas av mot dess slutliga fyllda och ofyllda disposition. Ändringar kräver versionshistoriken som ändrade den tillåtna totalen.

Exempelvis har en begäran om 50 kontrakt med 25 slutliga avslut och 25 annullerade kontrakt en enkel förklaring. En begäran som ändrats efter delavslut behöver dokumenterade gamla och nya gränser för att förklara varför dess slutliga totaler skiljer sig från den först önskade storleken.

Blanda inte ihop en förklaring på ordernivå med hela positionen. Andra order, manuell aktivitet eller avräkning kan ändra kontots nettoinnehav i samma kontrakt. Stäm av på båda nivåerna och bevara identiteterna som kopplar dem samman.

Använd exakta enheter och tydliga tidpunkter i rapporten. Ett bråkdelsantal eller en kontoögonblicksbild från ett tidigare ögonblick kan förklara en skillnad som en avrundad visning döljer. Oförklarade skillnader ska förbli synliga i stället för att avfärdas som kosmetiska.

En handelsbot för Kalshis händelsekontrakt blir lättare att lita på i drift när varje kvantitet har en betydelse och varje övergång har belägg. Kontraktet talar om för boten vad som kan betala, order visar vad den försökte och positionsposter visar vad kontot faktiskt innehar. Att hålla berättelserna sammanlänkade är kärnan i livscykelkontroll.

Relaterade guider och genomarbetade exempel

Fortsätt lära dig

Utforska alla resurser