En arbitrasjebot for hendelseskontrakter må håndtere perioden der en foreslått kombinasjon bare er delvis virkelig. En skanner kan identifisere priser som virker attraktive sammen, men en konto mottar enkeltordrer og utførelser. Én ordre kan aksepteres mens en annen avvises. En kansellering kan komme etter en ytterligere utførelse. Et svar kan forsvinne selv om handelsplassen aksepterte forespørselen. Boten må beskrive tilstandene uten å late som det tiltenkte paret allerede finnes.
Det sentrale utformingsproblemet er koordinering under usikkerhet. Reserver kapasiteten begge ben trenger, bevar identitetene og mål eksponeringen som består når de ikke går frem sammen. De oppdiktede eksemplene her bruker uttrykkelig forenlige binære utbetalinger på én dollar. De illustrerer gjennomføringskontroller, ikke en påstand om at en virkelig handel på tvers av handelsplasser kan fullføres atomisk, eller at en tilsynelatende arbitrasje er uten risiko.
Reservasjoner i arbitrasjeboten for hendelseskontrakter begynner med et godkjent par
Gjennomføringsmotoren bør motta en gjennomgått pardefinisjon fremfor to løst beslektede markedsnavn. Definisjonen inkluderer hver handelsplasskontekst, kontraktsidentifikator, utfallsside, regelversjon og utbetalingsforhold. Den bør også oppgi hvilke ekstraordinære utfall som er vurdert, og hvilke forhold som ugyldiggjør koblingen. Et kontraktspar med uavklart betydning hører til undersøkelser, ikke i gjennomførerens klarkø.
Kandidatinstruksen legger til dagens mengder, pristak, gebyranslag og observasjonstider. Den navngir maksimalt akseptabel samlet kostnad og mengden uparet eksponering kontoen er forberedt på å tåle. Grensene er ulike. Et par kan være overkommelig hvis det fullføres, mens første ben skaper for stor midlertidig retningseksponering for kontoen. Begge spørsmål trenger svar før noen ordre sendes inn.
Bruk en varig saksidentifikator til å knytte definisjon, anbefaling, godkjenning og endelige ordrer sammen. Hvert ben bør også ha egen stabil instruksidentitet. Paridentifikatoren forklarer hvorfor ordrene hører sammen; benidentifikatorene lar systemet undersøke en enkelt innsending. Ingen av dem bør erstattes bare fordi en nettverksforespørsel får tidsavbrudd eller en prosess starter på nytt.
Den eldre artikkelen om en arbitrasjebot for prediksjonsmarkeder gir det bredere forholdet mellom en oppdaget mulighet og en handelsprosess. Denne utformingen begynner der utbetalingsanalysen allerede er gjennomgått. Oppgaven er å sikre at kontoens faktiske kombinasjon forblir synlig mens ordrene går gjennom ulike tilstander.
Reserver lokale midler og felles risikokapasitet
Anta at et oppdiktet par krever 500 enheter av A Ja til høyst $0,37 og 500 enheter av B Nei til høyst $0,60. Anta at reglene gjør én enhet av hver til en samlet utbetaling på én dollar i de modellerte utfallene. Kjøpsbeløpene ville bli $185 og $300. Med hypotetiske gebyrer på $3 og $4 er samlet anskaffelseskostnad $492, med $8 igjen under antatt utbetaling på $500.
Boten trenger $188 tilgjengelig for A og $304 for B under forutsetningene. Hvis bena bruker separate kontoer, er det utilstrekkelig at $492 finnes et sted i hele porteføljen. Hver konto trenger egen brukbar kapasitet før gjennomføring. Reservasjonen bør inkludere relevante avgifter og eventuell ekstra gjenopprettingsbuffer valgt av operatøren. Bufferen er en kontrollregel, ikke del av prosjektert fortjeneste med mindre den faktisk brukes.
På porteføljenivå reserverer du relevant hendelseseksponering så vel som kontanter. Flere kandidatpar kan alle avhenge av samme hendelse eller samme handelsplass for andre ben. Å la hver sak reservere midler uavhengig uten å kontrollere felles grenser kan skape en overdreven opphopning av ufullførte førsteben. En felles risikotjeneste eller annen konsistent koordineringsmetode må hindre sakene i å gjøre krav på samme gjenværende kapasitet.
Reservasjoner bør bestå gjennom usikkerhet. En ordre avvist med autoritativ bekreftelse kan frigjøre ubrukt beløp. En ordre med manglende svar kan ikke det. En prosessomstart bør laste inn uavklarte reservasjoner før nye saker aksepteres. Ellers kan programmet se ut til å ha et nytt budsjett mens kontoene fortsatt inneholder forpliktelser opprettet i forrige økt.
Velg gjennomføringsrekkefølge bevisst
Å sende inn begge ben omtrent samtidig reduserer noe rekkefølgeforsinkelse, men garanterer ikke samtidig aksept eller gjennomføring. Å sende ett ben først kan forenkle koordinering, men skaper en periode med kjent retningseksponering. Et system bør velge rekkefølge ut fra observert likviditet, handelsplassatferd og kontoens tillatte eksponering og deretter evaluere resultatene av valget fremfor å behandle det som en implementeringsdetalj.
En vanlig fristelse er å gjennomføre det vanskeligste benet først. Det kan være rimelig for en testet arbeidsflyt, men trenger fortsatt en definert reaksjon hvis det enklere benet forsvinner. En annen tilnærming bruker en hvilende ordre på én side og reagerer på utførelsene. Dette kan forbedre oppgitt inngangspris og samtidig øke sjansen for at komplementærprisen endres før reaksjonen. Det relevante målet er den fullførte kombinasjonen og de ufullførte tilfellene.
Gjennomføringsinstrukser for enkeltordrer skaper ingen transaksjon på tvers av handelsplasser. For eksempel kan en alt-eller-ingenting-instruks begrense ett ben på en handelsplass som støtter den, men tvinger ikke en annen handelsplass til å utføre den tilsvarende ordren. Polymarkets dokumentasjon om ordrelivsløp beskriver flere enkeltordreatferder. Boten må kontrollere den faktiske støttede atferden for hvert ben og unngå å utvide en lokal garanti til hele paret.
Dokumenter valgt rekkefølge i saksposten. Registrer når hver godkjenning ble opprettet, når hver forespørsel ble sendt, og hvilken informasjon som var tilgjengelig før andre innsending. Dokumentasjonen muliggjør senere sammenligning av rekkefølgeregler. Uten den kan et vellykket par skjule samme tidssvakhet som gir en kostbar delvis gjennomføring i neste sak.
Følg mengder på hvert trinn
Skill forespurte, aksepterte, utførte, kansellerte og fortsatt usikre mengder for hvert ben. Tallene besvarer ulike spørsmål. Forespurt mengde uttrykker hensikt. Utført mengde etablerer en posisjon. Åpen mengde kan fortsatt øke posisjonen. Usikker mengde representerer eksponering det lokale systemet ennå ikke har avklart. Å kombinere dem i én fullført-prosent kan skjule retningen og størrelsen på gjenværende risiko.
En paret mengde er mengden der påkrevde posisjoner faktisk er ervervet i forenlige forhold. I det enkle én-til-én-eksemplet, hvis A har 500 utført og B har 300, er paret mengde 300 og uparet A-mengde 200. Hvis en mer kompleks utbetaling krever et annet forhold, må matchingsberegningen følge det gjennomgåtte forholdet fremfor å anta likhet.
Hold mengdeberegningen uavhengig av kontantsaldoer. En saldoendring kan inkludere gebyrer, overføringer eller andre handler og er derfor en dårlig erstatning for utførelsesposter. Lagre hver utførelses identifikator, side, mengde og pris, og dedupliser gjentatt levering av samme utførelse. En gjenspilt hendelse bør bekrefte eksisterende informasjon fremfor å skape en andre posisjonsoppføring.
Den eldre veiledningen om en arbitrasjebot for Kalshi kan bidra til å sette kontoposter i sammenheng for en handelsplasspesifikk implementering. Den generelle regelen er at fullføring av paret må avledes fra faktiske benmengder. En positiv samlet pris, en innsendt gruppe eller to bekreftede forespørsler kan ikke alene fastslå den fullførte posisjonen.
Delvise utførelser i arbitrasjeboten for hendelseskontrakter skaper en ny avgjørelse
Fortsett det oppdiktede eksemplet med alle 500 A-enheter utført til $0,37, men bare 300 B-enheter utført til $0,60. Kjøpsbeløpene er $185 og $180, totalt $365 før avgifter. Tre hundre enheter danner fullstendige par og koster $291 før avgifter. Gjenværende 200 A-enheter koster $74 og har retningseksponering. Det opprinnelige prosjekterte nettoresultatet på $8 for 500 fullstendige par beskriver ikke lenger kontotilstanden.
Boten bør slutte å evaluere saken bare etter den opprinnelige mulighetspoengsummen. Den trenger nå en gjenopprettingsavgjørelse med dagens priser og uttrykkelige grenser. Kan ytterligere 200 B-enheter erverves innenfor en godkjent samlet kostnad? Kan de uparede A-enhetene selges innenfor tillatt tap? Er det tillatt å beholde posisjonen midlertidig, og hvor lenge? Hvert alternativ bør bruke faktisk eksisterende posisjon og ferske gjennomførbare mengder.
Anta at operatørens skriftlige regel tillater reduksjon av uparet A til en kjøpskurs ikke lavere enn $0,34 etter at gjenværende B-ordre er bekreftet kansellert. Å selge 200 A-enheter til den prisen gir $68. Kontoen holder da 300 fullstendige par, som betaler $300 under eksemplets forutsetninger. Samlede inntekter er $368 mot kjøpsbeløpet på $365, med $3 igjen før avgifter. Hvis faktiske samlede avgifter for dette forløpet er $5, er sluttresultatet et tap på $2.
Tapet er ikke dokumentasjon på at regnestykket for et fullt gjennomført par til $492 var feil. Det viser at tiltenkt gjennomføring ikke skjedde og gjenoppretting kostet noe. Loggen bør bevare begge beregningene. Å evaluere bare fullførte gunstige par og utelate gjenopprettede deltilfeller ville overdrive nytten av gjennomføringsregelen.
Et innsendingsavbrudd må beholde identiteten
Når en forespørsel får tidsavbrudd, vet boten at lokal kommunikasjon mislyktes. Den vet ikke nødvendigvis om handelsplassen aksepterte ordren. Flytt benet til usikker tilstand, behold reservasjonen og hent støttede ordre- og kontoposter. Bruk opprinnelige klient- eller handelsplassidentifikatorer der de finnes. Hvis postene ikke avklarer forsøket umiddelbart, forblir usikkerheten del av eksponeringsberegningen.
Ikke opprett en ny ordre bare fordi ønsket mengde ennå ikke er synlig i den lokale posisjonen. Opprinnelig ordre kan være hvilende, delvis utført eller ventende i et handelsplasspesifikt behandlingstrinn. En andre instruks kan duplisere tiltenkt mengde. I et paret system kan dette gi et overfylt ben selv etter at den andre siden er fullført, og gjøre en nominelt matchet sak til retningseksponering igjen.
Gjenoppretting i en arbitrasjebot for hendelseskontrakter trenger et eskaleringsvilkår. Etter en definert periode eller en bestemt feil kan systemet deaktivere nye saker på berørt konto og be om operatørgjennomgang. Dette er en kontrollreaksjon på manglende dokumentasjon, ikke en erklæring om at handelsplassen har mistet ordren. Posten bør oppgi nøyaktig hva som fortsatt er ukjent, og hvilke forespørsler eller kontoøyeblikksbilder som er undersøkt.
Når forsøket til slutt er avklart, oppdater opprinnelig sak fremfor å skjule den bak en erstatningspost. Hvis det ble avvist, frigjør ubrukt reservasjon. Hvis det ble utført, innarbeid utførelsene og beregn matchet mengde på nytt. Hvis det fortsatt er åpent, avgjør om det skal beholdes eller kanselleres ut fra dagens sakstilstand. Hvert utfall bør bevare forbindelsen til opprinnelig godkjenning.
Kansellering og erstatning trenger sin egen grense
Å kansellere en ordre reverserer ikke utførelser som allerede har skjedd. Det fastslår heller ikke at ingen utførelse skjedde mens kanselleringsforespørselen var underveis. Boten bør fortsette å overvåke benet til den har nok autoritativ dokumentasjon til å fastslå endelig utført mengde og mengden som ikke lenger kan gjennomføres. Å frigjøre hele reservasjonen umiddelbart etter sending av kansellering kan undervurdere kontoens forpliktelse.
En erstatningsordre introduserer et lignende problem. Hvis den gamle ordren fortsatt kan være aktiv, kan ny innsending av hele tiltenkt mengde midlertidig doble mengden som kan utføres. Gjennomføreren trenger en dokumentert erstatningsregel i samsvar med handelsplassens faktiske atferd. Regelen kan kreve bekreftelse før erstatning eller reservere for eventuell støttet overlapping. Den bør aldri bygge på at det lokale grensesnittet skjuler gammel ordre som bevis på at handelsplassen fjernet den.
I eksemplet med 500 mot 300 antar vi at ytterligere 40 B-enheter utføres under kansellering. Matchet mengde blir 340, og uparet A faller til 160. Et gjenopprettingssalg på 200 A-enheter basert på tidligere øyeblikksbilde ville overkorrigere saken og etterlate overskytende B-eksponering. Gjenopprettingsavgjørelsen må derfor bruke en avstemt mengdetilstand eller uttrykkelig ta hensyn til usikkerheten som består.
Den beslektede artikkelen om en handelsbot for hendelsesmarkeder undersøker avbrudd og planlagte endringer bredere. Paret gjennomføring legger til et konkret krav: En kontrollhandling på ett ben kan endre hva som bør skje på det andre. Systemet må koordinere oppdateringene gjennom felles sakstilstand fremfor å la hvert ben fungere som et uavhengig handelsprogram.
Bevar et gjenopprettingsbudsjett uten å jage fullføring
Et gjenopprettingsbudsjett definerer hvor stor ekstra kostnad eller hvilket tap systemet kan akseptere for å redusere ufullført eksponering. Det bør være atskilt fra opprinnelig inngangsterskel. Kontoen kan rasjonelt akseptere et begrenset tap etter delvis utførelse for å unngå større hendelsesrisiko, men tillatelsen bør være uttrykkelig. Ellers kan en bot begrunne nesten enhver pris ved å hevde at den fullfører en arbitrasje.
Sett budsjettet i vilkår operatøren kan gjennomgå: maksimal uparet anskaffelseskostnad, maksimal ytterligere fullføringskostnad, maksimalt tillatt reduksjonstap og vilkårene som krever menneskelig vurdering. Et pristak for andre ben kan beregnes på nytt fra faktisk førstebenskostnad og tillatt utfall. Beregningen bør inkludere faktiske avgifter som allerede er påløpt, og konservative anslag for gjenværende handling.
Et budsjett er ingen instruks om å bruke hele rammen. Sammenlign tilgjengelige alternativer med ferske gjennomførbare mengder. Hvis kansellering og en liten reduksjon gjenoppretter en akseptabel posisjon, trenger systemet ikke tvinge frem fullføring av opprinnelig størrelse. Hvis intet alternativ passer godkjente grenser, sett på pause og vis den uavklarte posisjonen tydelig. Kontoens gjenværende risiko bør være synlig selv når boten ikke kan løse den automatisk.
Den eldre diskusjonen om en automatisert arbitrasjebot for Polymarket gir kontekst for skillet mellom oppdagelse og kontrollert handling. Gjenopprettingslogikk fortjener eget evalueringsdatasett fordi den brukes under andre forhold enn vanlig inngang. Atferden som fungerer i rolige øyeblikksbilder, kan svikte når likviditeten forsvinner nettopp idet første ben utføres.
Beholdning kan akkumuleres på tvers av flere saker
En bot kan drive mange par samtidig, men kontoen opplever den samlede beholdningen. To ufullførte saker kan etterlate eksponering mot samme utfall selv når paridentifikatorene er ulike. Aggreger posisjoner og åpne forpliktelser etter hendelse og relevant ugunstig scenario. Ikke anta at separate saksposter skaper uavhengige risikogrenser.
En markedsskaper for hendelseskontrakter bruker beholdning til å forme videre prisstillingsavgjørelser. En paret bot har nytte av samme bevissthet når ufullførte ben blir igjen på kontoen. Nye saker kan redusere en eksisterende ubalanse, øke den eller skape en annen eksponering ved ekstraordinære utfall. Risikokontrollen bør evaluere resulterende portefølje fremfor å behandle hvert foreslått par som automatisk nøytralt.
Hvis boten også deltar i markedsskaping i hendelseskontrakter, hører hvilende pristilbud hjemme i samme eksponeringsmodell. Et tilbud laget for likviditetstilførsel kan utføres mens arbitrasjemotoren reserverer kapasitet til et andre ben. Separate budsjetter som ignorerer hverandre, kan begge bestå lokalt og svikte på kontonivå. Felles reservasjoner og konsistent avstemming er nødvendig selv når strategiene har ulike mål.
Periodisk avstemming bør sammenligne den samlede lokale modellen med autoritative posisjoner, ordrer og avgifter. En sak kan først merkes som operativt lukket når ordrene er avklart og gjenværende posisjon er riktig tilordnet. Hvis en bevisst restposisjon overføres til en annen strategi, registrer ansvarsoverføringen. Å fjerne saken fra en skjerm bør ikke fjerne risikoen fra loggen.
Test tilfellene som ville endre avgjørelsen
Bruk hendelsesgjenspillinger som tester koordinering, ikke bare vellykket ordreinnsending. Én test bør akseptere A og avvise B. En annen bør delvis utføre B under en kansellering. En tredje bør levere samme utførelse to ganger. En fjerde bør starte prosessen på nytt etter en innsendt forespørsel, men før svaret registreres. Forventet resultat bør angi mengder, reservasjoner, tillatte neste handlinger og eventuell påkrevd pause.
For det gjennomarbeidede tilfellet med delvis utførelse kontrollerer du regnestykket uavhengig: $365 brukt, $68 hentet inn fra reduksjon av 200 uparede A-enheter, $300 mottatt fra gjenværende forenlige par og $5 i antatte faktiske avgifter gir et tap på $2. Testen bør ikke merke saken som et lønnsomt par på 500 enheter bare fordi det var den opprinnelige anbefalingen. Den bør bevare hvorfor resultatet avviker fra planen.
Test også avgjørelsen om ikke å begynne. Avvis et par med feiltilpassede regler, utilstrekkelig lokal finansiering, utdatert dybde eller uavklart kontotilstand. Avslagene er del av botens tiltenkte atferd. Et system som bare består tester av aktiv gjennomføring, kan fortsatt være utrygt fordi det aldri har demonstrert at det respekterer vilkårene der gjennomføring bør holdes tilbake.
Den endelige gjennomgangen bør kunne rekonstruere hver sak fra godkjent utbetalingsforhold til avstemt kontoresultat. En bot med parede ben er nyttig når den tydeliggjør ufullstendige kombinasjoner, begrenser konsekvensene og bevarer nok dokumentasjon til å forklare gjenoppretting. Det er den praktiske standarden for automatisering i en prosess der to attraktive priser ikke garanterer to fullførte handler.