En arbitragebot til begivenhedskontrakter skal styre perioden, hvor en foreslået kombination kun delvist er virkelig. En scanner kan identificere priser, som ser attraktive ud sammen, men en konto modtager individuelle ordrer og udførelser. Én ordre kan accepteres, mens en anden afvises. En annullering kan ankomme efter en yderligere udførelse. Et svar kan forsvinde, selv om handelsstedet accepterede anmodningen. Botten skal beskrive tilstandene uden at foregive, at det tilsigtede par allerede findes.
Det centrale designproblem er koordinering under usikkerhed. Reservér den kapacitet, begge delhandler kræver, bevar deres identiteter, og mål den eksponering, som består, når de ikke går frem sammen. De fiktive eksempler her bruger udtrykkeligt kompatible binære udbetalinger på én dollar. De illustrerer udførelseskontroller, ikke en påstand om, at en virkelig handel på tværs af handelssteder kan gennemføres atomisk, eller at en tilsyneladende arbitrage er uden risiko.
Reservationer i en arbitragebot til begivenhedskontrakter begynder med et godkendt par
Udførelsesmotoren bør modtage en gennemgået pardefinition frem for to løst relaterede markedsnavne. Definitionen omfatter hver handelsstedskontekst, kontraktidentifikator, udfaldsside, regelversion og udbetalingsrelation. Den bør også angive, hvilke særlige udfald der er overvejet, og hvilke betingelser der gør tilknytningen ugyldig. Et kontraktpar med uafklaret betydning hører til i forskning, ikke i udførerens klarkø.
Kandidatinstruksen tilføjer aktuelle mængder, prislofter, gebyrestimater og observationstider. Den navngiver den maksimalt acceptable samlede omkostning og den mængde uparret eksponering, kontoen er parat til at tåle. Grænserne er forskellige. Et par kan være økonomisk muligt ved gennemførelse, mens første delhandel skaber for stor midlertidig retningsbestemt eksponering for kontoen. Begge spørgsmål kræver svar før indsendelse af nogen ordre.
Brug en holdbar sagsidentifikator til at forbinde definition, anbefaling, godkendelse og senere ordrer. Hver delhandel bør også have sin egen stabile instruksidentitet. Paridentifikatoren forklarer, hvorfor ordrerne hører sammen; delhandelsidentifikatorerne lader systemet undersøge en enkelt indsendelse. Ingen bør udskiftes blot fordi en netværksanmodning får timeout, eller en proces genstarter.
Den ældre artikel om en arbitragebot til forudsigelsesmarkeder giver den bredere relation mellem en opdaget mulighed og en handelsproces. Dette design begynder på det punkt, hvor udbetalingsanalysen allerede er gennemgået. Dets opgave er at sikre, at kontoens faktiske kombination forbliver synlig, mens ordrer bevæger sig gennem forskellige tilstande.
Reservér lokale midler og fælles risikokapacitet
Antag, at et fiktivt par kræver 500 enheder A Ja til højst 0,37 $ og 500 enheder B Nej til højst 0,60 $. Antag, at reglerne gør én enhed af hver til en samlet udbetaling på én dollar i de modellerede udfald. Købsbeløbene ville være 185 $ og 300 $. Med hypotetiske gebyrer på 3 $ og 4 $ er den samlede erhvervelsesomkostning 492 $, hvilket efterlader 8 $ under den antagne udbetaling på 500 $.
Botten kræver 188 $ tilgængelige til A og 304 $ til B under antagelserne. Hvis delhandlerne bruger separate konti, er eksistensen af 492 $ et sted i den samlede portefølje utilstrækkelig. Hver konto kræver sin egen brugbare kapacitet før udførelse. Reservationen bør omfatte de passende gebyrer og enhver yderligere genopretningsbuffer valgt af operatøren. Bufferen er en kontrolpolitik, ikke en del af den projekterede profit, medmindre den faktisk bruges.
Reservér på porteføljeniveau den relevante begivenhedseksponering såvel som kontanter. Flere kandidatpar kan alle afhænge af samme begivenhed eller samme handelssted for anden delhandel. At lade hver sag reservere midler uafhængigt uden kontrol af fælles grænser kan skabe en overdreven ophobning af uafsluttede første delhandler. En fælles risikotjeneste eller anden konsistent koordinationsmetode skal forhindre sagerne i at gøre krav på samme resterende kapacitet.
Reservationer bør bestå gennem usikkerhed. En ordre afvist med autoritativ bekræftelse kan frigive sin ubrugte mængde eller sit ubrugte beløb. En ordre, hvis svar mangler, kan ikke. En procesgenstart bør genindlæse uafklarede reservationer, før nye sager accepteres. Ellers kan programmet se ud til at have et friskt budget, mens kontiene stadig indeholder forpligtelser skabt under foregående session.
Vælg udførelsesrækkefølgen bevidst
Indsendelse af begge delhandler næsten samtidig reducerer noget rækkefølgeforsinkelse, men garanterer ikke samtidig accept eller udførelse. Afsendelse af én delhandel først kan forenkle koordineringen, men skaber en periode med kendt retningsbestemt eksponering. Et system bør vælge rækkefølgen ud fra observeret likviditet, handelsstedsadfærd og kontoens tilladte eksponering og derefter evaluere valgets resultater frem for at behandle det som en implementeringsdetalje.
En almindelig fristelse er at udføre den vanskeligste delhandel først. Det kan være rimeligt for en testet arbejdsgang, men kræver stadig en defineret reaktion, hvis den lettere delhandel forsvinder. En anden tilgang bruger en hvilende ordre til én side og reagerer på dens udførelser. Det kan forbedre en noteret indgangspris og samtidig øge chancen for, at den komplementære pris ændres før reaktionen. Det relevante mål er den fuldførte kombination og dens uafsluttede tilfælde.
Instrukser til enkeltordreudførelse skaber ikke en transaktion på tværs af handelssteder. Eksempelvis kan en alt-eller-intet-instruks begrænse én delhandel på et handelssted, som understøtter den, men tvinger ikke et andet handelssted til at udføre den tilsvarende ordre. Polymarkets dokumentation om ordrelivscyklus beskriver flere individuelle ordreadfærdstyper. Botten skal verificere den faktiske understøttede adfærd for hver delhandel og undgå at udvide en lokal garanti til hele parret.
Dokumentér den valgte rækkefølge i sagsregistreringen. Registrér, hvornår hver godkendelse blev skabt, hvornår hver anmodning blev sendt, og hvilken information der var tilgængelig før anden indsendelse. Dokumentationen tillader senere sammenligning af rækkefølgepolitikker. Uden den kan et vellykket par skjule samme timingsvaghed, som forårsager en dyr delvis udførelse i næste tilfælde.
Følg mængder på hvert stadium
Skeln for hver delhandel anmodede, accepterede, udførte, annullerede og stadig usikre mængder. Tallene besvarer forskellige spørgsmål. Anmodet mængde udtrykker hensigt. Udført mængde fastslår en position. Åben mængde kan stadig øge positionen. Usikker mængde repræsenterer eksponering, det lokale system endnu ikke har afklaret. Sammenlægning i én fuldførelsesprocent kan skjule den resterende risikos retning og størrelse.
En parret mængde er den mængde, for hvilken de krævede positioner faktisk er erhvervet i kompatible forhold. I det simple én-til-én-eksempel er den parrede mængde 300 og den uparrede A-mængde 200, hvis A har 500 udførte og B 300. Hvis en mere kompleks udbetaling kræver et andet forhold, skal matchningsberegningen følge det gennemgåede forhold frem for at antage lighed.
Hold mængdeberegningen uafhængig af kontantsaldi. En saldoændring kan omfatte gebyrer, overførsler eller andre handler uden forbindelse til sagen og er derfor en dårlig erstatning for udførelsesregistreringer. Gem hver udførelses identifikator, side, mængde og pris, og fjern dubletter af gentagen levering af samme udførelse. En genafspillet hændelse bør bekræfte eksisterende information frem for at skabe endnu en positionspostering.
Den ældre vejledning til en arbitragebot til Kalshi kan hjælpe med at indramme kontoregistreringer til en handelsstedsspecifik implementering. Den generelle regel er, at parfuldførelse skal afledes af faktiske delhandelsmængder. En positiv samlet kurs, en indsendt gruppe eller to kvitterede anmodninger kan ikke i sig selv fastslå den fuldførte position.
Delvise udførelser i en arbitragebot til begivenhedskontrakter skaber en ny beslutning
Fortsæt det fiktive eksempel med alle 500 A-enheder udført til 0,37 $, men kun 300 B-enheder til 0,60 $. Købsbeløbene er 185 $ og 180 $, i alt 365 $ før gebyrer. Tre hundrede enheder danner fuldstændige par, som koster 291 $ før gebyrer. De resterende 200 A-enheder koster 74 $ og har retningsbestemt eksponering. Det oprindelige projekterede nettoresultat på 8 $ for 500 fuldstændige par beskriver ikke længere kontotilstanden.
Botten bør stoppe med at evaluere sagen alene efter dens oprindelige mulighedsscore. Den kræver nu en genopretningsbeslutning med aktuelle kurser og udtrykkelige grænser. Kan yderligere 200 B-enheder erhverves inden for en godkendt samlet omkostning? Kan de uparrede A-enheder sælges inden for et tilladt tab? Er midlertidig beholdning tilladt og i hvor lang tid? Hver mulighed bør bruge den faktiske eksisterende position og aktuelle mængder til udførelse.
Antag, at operatørens skrevne regel tillader reduktion af uparrede A til en købskurs på mindst 0,34 $, efter at den resterende B-ordre er bekræftet annulleret. Salg af 200 A-enheder til prisen producerer 68 $. Kontoen holder så 300 fuldstændige par, som udbetaler 300 $ under eksemplets antagelser. Det samlede provenu er 368 $ mod købsbeløbet på 365 $, hvilket efterlader 3 $ før gebyrer. Hvis faktiske samlede gebyrer for dette forløb er 5 $, er det endelige resultat et tab på 2 $.
Tabet er ikke dokumentation for, at regningen for et fuldt gennemført par til 492 $ var forkert. Det viser, at den tilsigtede udførelse ikke skete, og genopretning havde en omkostning. Registret bør bevare begge beregninger. Evaluering af kun gennemførte gunstige par med udelukkelse af genoprettede delvise tilfælde ville overdrive udførelsespolitikkens nytte.
En indsendelsestimeout skal bevare sin identitet
Når en anmodning får timeout, ved botten, at den lokale kommunikation mislykkedes. Den ved ikke nødvendigvis, om handelsstedet accepterede ordren. Flyt delhandlen til en usikker tilstand, bevar reservationen, og forespørg understøttede ordre- og kontoregistreringer. Brug de oprindelige klient- eller handelsstedsidentifikatorer, hvor de findes. Hvis registreringerne ikke straks kan afklare forsøget, forbliver usikkerheden en del af eksponeringsberegningen.
Skab ikke en ny ordre, blot fordi den ønskede mængde endnu ikke er synlig i den lokale position. Den oprindelige ordre kan være hvilende, delvist udført eller ventende i et handelsstedsspecifikt behandlingsstadie. En anden instruks kan duplikere den tilsigtede mængde. I et parret system kan det producere en overudført delhandel, selv efter at den anden side er fuldført, og gøre en nominelt matchet sag til retningsbestemt eksponering igen.
Genopretning i en arbitragebot til begivenhedskontrakter kræver en eskaleringsbetingelse. Efter en defineret periode eller en bestemt fejl kan systemet deaktivere nye sager på den berørte konto og anmode om operatørgennemgang. Det er en kontrolreaktion på manglende dokumentation, ikke en erklæring om, at handelsstedet har mistet ordren. Registreringen bør angive præcis, hvad der forbliver ukendt, og hvilke forespørgsler eller kontoøjebliksbilleder der er undersøgt.
Når forsøget endelig afklares, skal den oprindelige sag opdateres frem for at blive skjult bag en erstatningsregistrering. Hvis det blev afvist, skal den ubrugte reservation frigives. Hvis det blev udført, skal udførelserne indarbejdes, og den matchede mængde genberegnes. Hvis det forbliver åbent, skal bevarelse eller annullering afgøres med den aktuelle sagstilstand. Hvert udfald bør bevare forbindelsen til den oprindelige godkendelse.
Annullering og erstatning kræver deres egen grænse
Annullering af en ordre omgør ikke udførelser, som allerede skete. Den fastslår heller ikke, at ingen udførelse skete, mens annulleringsanmodningen var undervejs. Botten bør fortsat overvåge delhandlen, indtil den har tilstrækkelig autoritativ dokumentation til at fastslå den endelige udførte mængde og den mængde, som ikke længere kan udføres. Frigivelse af hele reservationen straks efter afsendelse af en annullering kan undervurdere kontoens forpligtelse.
En erstatningsordre indfører et lignende problem. Hvis den gamle ordre stadig kan være aktiv, kan indsendelse af hele den tilsigtede mængde igen midlertidigt fordoble den mængde, som kan udføres. Udføreren kræver en dokumenteret erstatningspolitik forenelig med handelsstedets faktiske adfærd. Politikken kan kræve bekræftelse før erstatning eller reservere til ethvert understøttet overlap. Den bør aldrig stole på, at den lokale grænseflade skjuler den gamle ordre, som bevis for, at handelsstedet fjernede den.
Antag i eksemplet med 500 mod 300, at yderligere 40 B-enheder udføres under annulleringen. Den matchede mængde bliver 340, og uparrede A falder til 160. Et genopretningssalg af 200 A-enheder ud fra det tidligere øjebliksbillede ville overkorrigere sagen og efterlade overskydende B-eksponering. Genopretningsbeslutningen skal derfor bruge en afstemt mængdetilstand eller udtrykkeligt tage højde for den resterende usikkerhed.
Den relaterede artikel om en handelsbot til begivenhedsmarkeder undersøger afbrydelser og planlagte ændringer bredere. Parret udførelse tilføjer et konkret krav: En kontrolhandling på én delhandel kan ændre, hvad der bør ske på den anden. Systemet skal koordinere opdateringerne gennem fælles sagstilstand frem for at lade hver delhandel operere som et selvstændigt handelsprogram uden forbindelse til den anden.
Bevar et genopretningsbudget uden at jagte fuldførelse
Et genopretningsbudget definerer, hvor meget yderligere omkostning eller tab systemet må acceptere for at reducere en uafsluttet eksponering. Det bør være forskelligt fra den oprindelige indgangstærskel. Kontoen kan rationelt acceptere et begrænset tab efter en delvis udførelse for at undgå en større begivenhedsrisiko, men tilladelsen bør være udtrykkelig. Ellers kan en bot begrunde næsten enhver pris med påstanden om at fuldføre en arbitrage.
Fastlæg budgettet i vilkår, operatøren kan gennemgå: maksimal uparret erhvervelsesomkostning, maksimal yderligere fuldførelsesomkostning, maksimalt tilladt reduktionstab og de betingelser, som kræver menneskelig vurdering. Et prisloft for anden delhandel kan genberegnes fra første delhandels faktiske omkostning og det tilladte udfald. Beregningen bør medtage faktiske gebyrer allerede påløbet og konservative estimater for den resterende handling.
Et budget er ikke en instruks om at bruge hele rammen. Sammenlign tilgængelige alternativer med aktuelle mængder til udførelse. Hvis annullering og en lille reduktion genopretter en acceptabel position, behøver systemet ikke tvinge fuldførelse af den oprindelige størrelse frem. Hvis intet alternativ passer til de godkendte grænser, skal processen sættes på pause, og den uafklarede position synliggøres tydeligt. Kontoens resterende risiko bør være synlig, selv når botten ikke kan løse den automatisk.
Den ældre gennemgang af en automatiseret arbitragebot til Polymarket giver baggrund for adskillelsen mellem opdagelse og kontrolleret handling. Genopretningslogik fortjener sit eget evalueringsdatasæt, fordi den aktiveres under andre forhold end almindelig indgang. Den adfærd, som virker i rolige øjebliksbilleder, kan svigte, når likviditet forsvinder netop, som første delhandel udføres.
Beholdning kan ophobes på tværs af flere sager
En bot kan operere mange par samtidig, men kontoen oplever deres samlede beholdning. To uafsluttede sager kan efterlade eksponering mod samme udfald, selv når deres paridentifikatorer afviger. Aggregér positioner og åbne forpligtelser efter begivenhed og relevant ugunstigt scenarie. Antag ikke, at separate sagsregistreringer skaber uafhængige risikogrænser.
En market maker for begivenhedskontrakter bruger beholdning til at forme yderligere kursbeslutninger. En parret bot har gavn af samme bevidsthed, når uafsluttede delhandler forbliver på kontoen. Nye sager kan reducere en eksisterende ubalance, øge den eller skabe en anden eksponering under særlige udfald. Risikokontrollen bør evaluere den resulterende portefølje frem for at behandle hvert foreslået par som automatisk neutralt.
Hvis botten også deltager i market making med begivenhedskontrakter, hører dens hvilende kurser til i samme eksponeringsmodel. En kurs skabt til likviditetsstillelse kan udføres, mens arbitragemotoren reserverer kapacitet til en anden delhandel. Separate budgetter, som ignorerer hinanden, kan begge bestå lokalt og svigte på kontoniveau. Fælles reservationer og konsistent afstemning er nødvendige, selv når strategierne har forskellige mål.
Periodisk afstemning bør sammenligne den samlede lokale model med autoritative positioner, ordrer og gebyrer. En sag kan først markeres driftsmæssigt lukket, når dens ordrer er afklarede, og dens resterende position er korrekt tildelt. Hvis en bevidst restposition overføres til en anden strategi, skal ansvarsoverførslen registreres. Fjernelse af sagen fra en skærm bør ikke fjerne dens risiko fra registret.
Test de tilfælde, som ville ændre beslutningen
Brug genafspilninger af hændelser, som afprøver koordinering, ikke kun vellykket ordreindsendelse. Én test bør acceptere A og afvise B. En anden bør delvist udføre B under en annullering. En tredje bør levere samme udførelse to gange. En fjerde bør genstarte processen efter en indsendt anmodning, men før dens svar registreres. Det forventede resultat bør angive mængder, reservationer, tilladte næste handlinger og enhver krævet pause.
Verificér i det gennemregnede tilfælde med delvis udførelse regningen uafhængigt: 365 $ brugt, 68 $ genvundet fra reduktion af 200 uparrede A-enheder, 300 $ modtaget fra de resterende kompatible par og 5 $ i antagne faktiske gebyrer producerer et tab på 2 $. Testen bør ikke kalde sagen et rentabelt par på 500 enheder, blot fordi det var den oprindelige anbefaling. Den bør bevare begrundelsen for resultatets afvigelse fra planen.
Test også beslutningen om ikke at begynde. Afvis et par med uforenelige regler, utilstrækkelig lokal finansiering, forældet dybde eller uafklaret kontotilstand. Disse afvisninger er en del af bottens tilsigtede adfærd. Et system, som kun består test af aktiv udførelse, kan stadig være usikkert, fordi det aldrig har demonstreret respekt for de betingelser, hvor udførelse bør tilbageholdes.
Den endelige gennemgang bør kunne rekonstruere hver sag fra godkendt udbetalingsrelation til afstemt kontoresultat. En bot med parrede delhandler er nyttig, når den gør ufuldstændige kombinationer udtrykkelige, begrænser deres konsekvenser og bevarer tilstrækkelig dokumentation til at forklare genopretning. Det er den praktiske standard for automatisering i en proces, hvor to attraktive priser ikke garanterer to gennemførte handler.