En handelsbot til begivenhedsmarkeder opererer ofte omkring en kendt meddelelse, men en kalenderpost er kun én del af dens tidsproblem. Kilden kan offentliggøre tidligt eller sent, handelsstedet kan sætte handelen på pause, den lokale datastrøm kan afbrydes, og en udestående ordre kan blive udført, mens programmet forsøger at stoppe. Et nyttigt design behandler disse som separate begivenheder frem for at antage, at det planlagte tidspunkt synkroniserer hele arbejdsgangen.

Botten kræver en plan for perioden før en meddelelse, en måde at genkende verificeret ny dokumentation på og en kontrolleret proces for at genoptage efter afbrydelse. Den fiktive tidslinje nedenfor illustrerer kravene uden at hævde, at noget navngivet handelssted følger samme tidsplan eller stiller samme kontroller til rådighed. Formålet er at lade bottens beføjelser udløbe og fornyes af eksplicitte grunde frem for alene gennem en timer.

Tidspunktet for meddelelser i en handelsbot til begivenhedsmarkeder bruger flere ure

Begivenhedskalenderen beskriver, hvornår en kilde forventes at offentliggøre noget, eller hvornår en underliggende hændelse forventes at begynde. Kildetidsstemplet beskriver, hvornår en bestemt observation blev offentliggjort. Det lokale modtagelsestidspunkt beskriver, hvornår botten fik observationen. Markedsdatatidsstemplet beskriver den bog, der bruges til en beslutning. Kontotidsstemplerne beskriver, hvornår ordrer og udførelser blev rapporteret. Disse ure kan være forskellige, uden at noget af dem er meningsløst.

Gem dem separat med eksplicitte tidszoner og enheder. En applikation, som konverterer alle tidspunkter til én intern standard, kan stadig bevare den oprindelige kilderepræsentation til gennemgang. Undgå tvetydige lokale tidspunkter omkring skift af ur, og undgå at blande sekunder og millisekunder. Et tidsstempel, som ser præcist ud, men henviser til det forkerte ur, kan producere en farligere fejl end et åbenlyst manglende tidsstempel.

Antag, at en fiktiv offentliggørelse er planlagt til 10:00. Botten modtager en offentlig opdatering klokken 10:02 med offentliggørelsestidspunktet 10:00. Den må ikke beskrive observationen som frisk, blot fordi den ankom på det aktuelle behandlingstidspunkt. Den relevante alder afhænger af den anvendte regel. En regel om kildens friskhed bruger offentliggørelsestidspunktet, mens et mål for modtagelsesforsinkelse sammenligner offentliggørelse med modtagelse.

Den ældre guide om en automatiseret Kalshi-bot til økonomiske markeder giver kontekst for arbejdsgange med planlagte data. Et robust tidsdesign begynder med at navngive, hvad hvert ur måler. Først da kan operatøren afgøre, hvilken alder eller forsinkelse der betyder noget for prognosegyldighed, kurstilbagetrækning, kontogenopretning eller gennemgang af en misset mulighed.

Forbered dig før det planlagte tidsvindue

Verificér kontrakttilknytningen, den forventede kilde og kontotilstanden før en meddelelse. Bekræft, hvilket felt kontrakten bruger, og om den første offentliggørelse eller en senere revision er afgørende. Gennemgå markedets aktuelle handelsstatus og eventuelle relevante officielle driftsmeddelelser. En kalenderbetegnelse som månedsrapport er utilstrækkelig, når botten kræver et bestemt felt, en observationsperiode og en fortolkning af en tærskel.

Fastslå, hvad botten må gøre i tidsvinduet. En strategi før meddelelsen kan tillade en afgrænset position indtil en angivet skæringstid. En strategi efter meddelelsen kan forbyde nye ordrer, indtil kildeobservationen er verificeret. En kursstillingsstrategi kan bruge ordrer med udløb eller en tilbagetrækningsprocedure. Det er forskellige politikker, og programmet bør ikke glide fra én til en anden, fordi offentliggørelsen tilfældigvis er forsinket.

Kontrollér, at udestående ordrer passer til den valgte politik. En gammel hvilende ordre kan fortsat blive udført, efter at den prognose, som understøtter den, udløber. Botten bør enten bekræfte, at ordrens egne vilkår håndhæver det krævede udløb, eller overvåge annulleringen gennem autoritative registreringer. At sende en lokal stopmeddelelse fastslår ikke, at handelsstedet har fjernet forpligtelsen.

Forberedelse omfatter også en reserveplan for manglende dokumentation. Hvis den forventede kilde er utilgængelig, kan botten fortsætte med at indsamle information og advare operatøren uden automatisk at vælge en uofficiel erstatning. En reservekilde bør på forhånd gennemgås for kompatibilitet med kontrakten. Ellers kan programmet vinde hastighed ved at besvare et andet spørgsmål end det, kontoen handler.

Behandl en timer som anledning til kontrol, ikke som bevis

Klokken 10:00 indtræffer den fiktive kalenderbegivenhed. Det bør udløse en kontrol af kilde- og markedstilstand, ikke en antagelse om, at det krævede tal er kendt. Kilden kan være forsinket, dokumentet kan være en foreløbig meddelelse, eller det relevante felt er måske endnu ikke offentliggjort. Botten kræver dokumentation for, at den kontraktrelevante observation findes, før den anvender en beslutningsregel efter meddelelsen.

Tilsvarende kan et marked, som normalt holder pause omkring en begivenhed, forblive åbent, holde pause tidligt eller følge produktspecifik adfærd. Verificér den faktiske status gennem handelsstedets understøttede grænseflade. Udled ikke, at ordrer accepteres, blot fordi offentlige priser stadig er synlige, og udled ikke, at en konto er sikker mod udførelser, blot fordi et lokalt diagram holdt op med at opdatere. Markedsstatus, datalevering og kontoudførelse er relaterede, men separate tilstande.

En nyttig lokal tilstand på det planlagte tidspunkt er afventer verificeret observation. Den kan bevare den sidst kendte prognose som historisk kontekst og samtidig deaktivere handlinger, der kræver frisk dokumentation. Kontrolpanelet bør angive, hvorfor tilladelse tilbageholdes. Det hjælper operatøren med at skelne bevidst venten fra en tavs fortolkningsfejl eller mistet forbindelse.

En snævert afgrænset arkitektur for en bot til begivenhedskontrakter understøtter adskillelsen mellem observationer, anbefalinger og risikotilladelse. Timeren skaber en grund til at undersøge verden. Den skaber ikke en kendsgerning om begivenheden, en pris kontoen kan få eller beføjelse til at indsende en ordre.

Verificér offentliggørelsen, før dens betydning fortolkes

Når et dokument ankommer, skal kildeidentiteten, offentliggørelsesperioden og det relevante felt bekræftes. En meddelelse kan indeholde den aktuelle værdi, en revideret tidligere værdi og flere justerede mål. En parser, som vælger det første tal efter en velkendt betegnelse, kan ubemærket skifte mål, når dokumentformatet ændres. Bevar den udtrukne værdi med tilstrækkelig kontekst til, at en reviewer kan verificere fortolkningen.

Hvis kilden bruger afrunding, skal kontraktens angivne konvention følges. En vist værdi på tærsklen fastslår måske ikke, om det uafrundede underliggende tal oversteg den. Botten bør bruge det felt og den præcision, de faktiske regler kræver. Hvis reglerne ikke løser tvetydigheden, kræver systemet gennemgang frem for en improviseret numerisk antagelse.

En rettet offentliggørelse er en ny dokumentationsbegivenhed. Registrér, hvordan den hænger sammen med den oprindelige offentliggørelse, og om kontrakten bruger rettelsen. Overskriv ikke blot den tidligere observation, fordi botten kan have truffet en godkendt beslutning, før rettelsen fandtes. At bevare begge versioner lader gennemgangen skelne en fejlagtig fortolkning fra en rimelig beslutning truffet med den information, der dengang var tilgængelig.

Den ældre diskussion af en Kalshi-bot til Feds rentebeslutning giver et konkret eksempel, hvor præcise begivenhedsdefinitioner og meddelelsestidspunkter betyder noget. Den bredere designlære gælder enhver planlagt begivenhed: verificér, hvad kilden faktisk siger, og hvilket kontraktspørgsmål den besvarer, før observationen omsættes til en ordreanbefaling.

Genkend afbrydelser ud fra den dokumentation, der mangler

En afbrydelse kan påvirke kildedatastrømmen, den offentlige ordrebog, kontodatastrømmen eller handelsgrænsefladen. Én forbindelsesindikator kan ikke beskrive alle fire. Botten kan modtage aktuelle offentlige priser, mens dens private udførelsesstrøm er afbrudt, eller modtage kontoopdateringer, mens den offentlige bog er forældet. Reaktionen bør afhænge af, hvilken dokumentation der mangler, og hvilke handlinger der kræver den.

Hvis bogen er forældet, bør nye prisfølsomme anbefalinger tilbageholdes. Hvis kontodatastrømmen er usikker, kan handlinger, som øger eksponeringen, skulle stoppe, indtil positioner og åbne ordrer er afstemt. Hvis kilden er utilgængelig, bør en strategi, som afhænger af den nye offentliggørelse, forblive inaktiv. Et problem med én kontrakts kildetilknytning kan tillade uafhængige arbejdsgange at fortsætte under deres egen gyldige dokumentation og tilladelser.

Registrér den sidste troværdige observation og grunden til, at den mistede gyldighed. En betegnelse som offline er mindre nyttig end markedsbogen blev sidst opdateret klokken 9:59, mens kontoregistreringerne fortsat er aktuelle frem til 10:01. Den anden beskrivelse hjælper operatøren med at forstå, hvad der stadig kan fastslås, og hvad der skal gendannes, før handelen genoptages.

Guiden om automatisering af begivenhedsmarkeder udvikler overvågningssiden af processen. Effektiv håndtering af afbrydelser kræver ikke, at hver opgave stopper samtidig. Den kræver, at hver opgave ved, hvilken dokumentation der understøtter dens beføjelser, og stopper de berørte handlinger, når understøttelsen mangler.

Genopretning efter afbrydelse i en handelsbot til begivenhedsmarkeder bevarer ordrer

En afbrydelse sletter ikke allerede sendte ordrer. Bevar deres identifikatorer og reservationer, mens handelsstedets tilstand undersøges. Hvis en ordreindsendelse overskred tidsgrænsen, skal dens resultat behandles som usikkert, indtil understøttede registreringer afklarer det. En ny netværksforbindelse er ikke dokumentation for, at den gamle anmodning mislykkedes. At prøve igen med en ny identitet kan skabe en dobbelt forpligtelse netop i det øjeblik, hvor operatøren har det mindst pålidelige billede af kontoen.

Antag, at botten tilsigtede køb af 120 enheder før offentliggørelsen. Den registrerede 50 udførte og 70 åbne, før den mistede sin kontodatastrøm. Under afbrydelsen udføres yderligere 20, og de resterende 50 bekræftes senere annulleret. Den afstemte position er 70 enheder. En genstart, som kun indlæser den tidligere lokale position på 50 enheder, ville undervurdere eksponeringen med 20, mens en genstart, som gentager den oprindelige instruktion på 120 enheder, kunne skabe en langt større fejl.

Brug autoritative registreringer af åbne ordrer og udførelser til at afklare tilstanden gennem det faktiske handelssteds understøttede grænseflader. Bevar det tidsinterval, der blev forespurgt om, og eventuelle resterende huller. Hvis registreringerne endnu ikke stemmer overens, skal en eksplicit genopretningstilstand bevares. Systemet bør ikke tvinge kontoen ind i en status, som ser ordentlig ud, blot fordi en brugerflade forventer, at hvert tilfælde er enten succes eller fiasko.

Polymarkets dokumentation om ordrers livscyklus illustrerer, hvorfor ordre- og handelstilstande kræver separat fortolkning. Implementeringen skal omhyggeligt tilknytte sit specifikke handelssteds svar. Kvitteret, matchet, annulleret og endeligt afspejlet på en konto er ikke indbyrdes udskiftelige betegnelser, især i en periode, hvor opdateringer ankommer ad forskellige veje.

Genåbning kræver ny tilladelse

Et marked, som genåbner, eller en datastrøm, som genforbindes, bør indlede en gennemgangssekvens. Hent aktuelle markedsdetaljer, en frisk bog og en afstemt kontotilstand. Kontrollér, om begivenhedsdokumentationen eller kontrakttilknytningen ændrede sig under afbrydelsen. Evaluér så en ny anbefaling under de aktuelle grænser. Genbrug af den sidste tilladelse fra før afbrydelsen kan anvende et gammelt prisloft eller en gammel prognose på en væsentligt anderledes situation.

I den fiktive tidslinje verificeres kilderapporten klokken 10:02, men markedet forbliver på pause indtil 10:05. Botten bør ikke antage, at den første synlige genåbningskurs er tilgængelig i samme dybde som den tidligere bog. Den bør hente en aktuel observation og anvende strategiens almindelige omkostnings- og størrelseskontroller. Hvis prisfordelen er forsvundet, kan det korrekte genstartsresultat være ingen handel.

Kontoens eksisterende position på 70 enheder fra afbrydelsen betyder også noget. En ny anbefaling på 120 enheder kan betyde en ønsket total på 120 eller et yderligere køb på 120 afhængigt af strategidefinitionen. Programmet skal eksplicit skelne betydningerne. Ellers kan en genstart gøre en målposition til en ordre, som lægges oveni, og utilsigtet udvide eksponeringen.

Genstartskontroller i en handelsbot til begivenhedsmarkeder bør omfatte en synlig registrering af den dokumentation, som gendannede tilladelsen. Registreringen behøver ikke være lang: aktuel regeltilknytning, frisk kurs, afstemt mængde og beståede grænsekontroller kan være tilstrækkelige. Formålet er at vise, at genoptagelse fulgte en beslutning frem for at ske automatisk, fordi en socket blev genforbundet.

Genåbning kræver ny tilladelseCalendar arrivedEvidence verifiedBook currentAccount reconciledTrading permittedTRADING FIELD NOTESEDUCATIONAL RESOURCE
Et planlagt tidspunkt alene fastslår ikke, at informationen og kontoen er klar til en ny ordre.

Strategier med flere dele kræver en fælles afbrydelsespolitik

Hvis en strategi spænder over flere markeder eller handelssteder, kan én del fortsat kunne handles, mens en anden er på pause. Kontoen kan allerede eje en del af en foreslået kombination, når afbrydelsen sker. Botten kræver en fælles sagsregistrering, som viser, hvilke dele der blev udført, hvilke ordrer der fortsat kan udføres, og hvilken udfaldseksponering der er tilbage. Den bør ikke lade den stadig forbundne del fortsætte, som om hele planen var upåvirket.

En kandidat til arbitrage på begivenhedsmarkeder afhænger både af et udbetalingsforhold og af en udførelsesvej. En pause kan lade forholdet være intakt og samtidig gøre vejen utilgængelig. Driftspolitikken bør angive, om kontoen må beholde en afgrænset ufuldstændig position, reducere den eller afvente gennemgang. Den bør ikke antage, at en tidligere tilbudt komplementær pris vender tilbage, når det andet marked genåbner.

Overvej en planlagt struktur på 100 par med 100 enheder udført på A og kun 40 på B, før B holder pause. Under en enkel kompatibel en-til-en-model er 40 par fuldstændige, og 60 A-enheder er fortsat umatchet. Systemet bør rapportere mængderne direkte. En status som 70 % af ordrerne fuldført slører eksponeringen og kan ikke fortælle en operatør, hvilket udfald der ville give tab.

Genopretningsbudgettet og begivenhedsgrænsen bør fortsat gælde gennem hele afbrydelsen. Venten gør ikke den umatchede position neutral. Hvis et menneske skal vælge mellem alternativer, bør botten give aktuel dokumentation, kendte mængder og tilladte handlinger frem for en generisk fejlmeddelelse. Målet er at gøre den uafsluttede beslutning egnet til gennemgang, selv når den oprindelige udførelsesplan ikke kan fortsætte.

Design alarmer omkring beslutninger, der kræver opmærksomhed

Ikke enhver kortvarig forsinkelse kræver en hastemeddelelse. Alarmer bør identificere en ændret tilstand, som påvirker en handling eller kræver gennemgang. Eksempler er et offentliggørelsesfelt, som ikke består validering, en ukendt indsendelse, som overskrider sit undersøgelsesvindue, eller et marked, som genåbner, mens kontoen fortsat er uafstemt. Alarmen bør navngive den berørte kontrakt og angive, hvad der fortsat er ukendt.

Adskil informationsopdateringer fra påkrævede beslutninger. En meddelelse om, at et planlagt tidspunkt er nået, kan være informativ. En meddelelse om, at kildedefinitionen er ændret, og ny handel er deaktiveret, kræver gennemgang af tilknytningen. En meddelelse om, at en konto har 60 umatchede enheder, kræver en eksponeringsbeslutning under den godkendte politik. At kombinere alle tre på ét alvorlighedsniveau gør operatøren mindre i stand til at prioritere det betydningsfulde tilfælde.

Medtag links eller identifikatorer til de understøttende registreringer i driftssystemet, og hold samtidig legitimationsoplysninger og følsomt kontomateriale ude af brede meddelelser. Revieweren bør kunne undersøge kildeobservationen, den aktuelle ordretilstand og den relevante tilladelse uden at søge gennem uvedkommende logfiler. En god alarm reducerer det arbejde, der kræves for at træffe næste beslutning; den meddeler ikke blot, at softwaren bemærkede noget usædvanligt.

Den ældre guide om automatisering af limitordrer på Polymarket giver nyttig kontekst for overvågning af udestående ordrer. En alarm om en forældet kurs bør tydeliggøre, om tilbagetrækning blev anmodet om, bekræftet eller fortsat er usikker. Skellene afgør, om kontoen stadig kan erhverve eksponering, og om en anden handling ville forværre problemet.

Test tidlige, sene og modstridende begivenheder

Et nyttigt genafspilningssæt omfatter en tidlig offentliggørelse, en sen offentliggørelse, et rettet dokument og en kildeopdatering under en markedspause. Det bør også omfatte en forældet bog, som genoptages før den private kontodatastrøm, og en kontodatastrøm, som genoptages før bogen. Tilfældene tester, om bottens tilladelser afhænger af den rette dokumentation frem for én global forbundet-tilstand.

For ordreeksemplet på 120 enheder bør en test reproducere 50 indledende udførelser, 20 yderligere udførelser under afbrydelsen og 50 bekræftede annulleringer. Den endelige position bør være 70 uden åben rest og uden automatisk gentagelse af anmodningen på 120 enheder. En separat test bør tilbageholde den endelige annulleringsbekræftelse og verificere, at systemet bevarer den uafklarede reservation frem for at antage succes.

Test fraværet af en handel lige så omhyggeligt som en vellykket genstart. Hvis offentliggørelsen er gyldig, men det nye salgstilbud overstiger strategiens loft, bør botten registrere en afvist anbefaling. Hvis kontoen er afstemt, men kildetilknytningen fortsat er tvetydig, bør handel forblive deaktiveret for det område. Resultaterne viser, at systemet forstår, hvad dets beføjelser afhænger af.

Den færdige arbejdsgang bør forklare, hvad botten vidste før begivenheden, hvad der ændrede sig, hvilke forpligtelser der fortsat var aktive, og hvorfor handelen måtte genoptages. En tidsplan hjælper med at organisere opmærksomhed, men dokumentation og kontoregistreringer afgør den faktiske beslutning. Skellet lader en bot til begivenhedsmarkeder håndtere en ufuldkommen tidslinje uden at gøre hver forsinkelse eller genforbindelse til en ordre, som ikke er gennemgået.

Lær mere

Udforsk alle ressourcer