En handelsbot til kryptoprognoser bør vurderes ud fra den dokumentation, den bevarer, og ikke blot ud fra, om den kan sende ordrer. Botten skal vide, hvilken kontrakt den vurderer, hvilke oplysninger der var tilgængelige, da den udarbejdede en prognose, hvilke grænser der gav tilladelse til handlingen, og hvad der faktisk skete bagefter. Uden denne kæde kan et resultat, der ser rentabelt ud, skjule en datalækage, en dobbelt ordre eller en uoverensstemmelse ved afregningen.
Denne designopgave rækker videre end at vælge en model. En beskeden prognoseregel med pålidelige registreringer kan vurderes og forbedres. En avanceret model, der er koblet til tvetydige kontrakttilknytninger og ufuldstændig kontostatus, kan ikke betros at forklare sine egne resultater. Målet er et system, hvis beslutninger kan rekonstrueres og anfægtes, og som sikkert kan stoppes, når den nødvendige dokumentation mangler.
Datasæt til en handelsbot til kryptoprognoser
Begynd med et kontraktregister. Gem den præcise identifikator, de fulde regler, referencekilden, observationsmetoden, grænsen, skæringstidspunktet og den almindelige udbetaling. Tilføj tidspunktet for hentningen og en versionsmarkør for fortolkningen. En titel er nyttig for læsere, men den er ikke en stabil primærnøgle og indeholder ikke alle betingelser, der kan påvirke afregningen.
Markedsdatasættet bør bevare oplysninger om købs- og salgspriser med mængder og tidsstempler. En enkelt vist procentsats udelader omkostningen ved at købe eller sælge den tilsigtede størrelse. Hvis strategien bruger markedsdybde, skal du gemme nok af ordrebogen til at kunne genskabe estimatet. Hvis dybden ikke er tilgængelig i et interval, skal du markere intervallet som ufuldstændigt frem for at antage, at den bedste pris kunne absorbere enhver mængde.
Prognosernes input skal have både begivenhedstid og tilgængelighedstid, hvor de er forskellige. En prisobservation, en offentliggjort opdatering og en lokal modtagelse kan ske på forskellige tidspunkter. Historisk simulering bør kun bruge oplysninger, der var tilgængelige ved beslutningens skæringstidspunkt. En senere korrigeret værdi kan være nyttig til analyse, men må ikke ubemærket erstatte den værdi, botten oprindeligt så.
Guiden til et Bitcoin-prognosemarked viser, hvorfor præcis håndtering af reference og grænse er vigtig selv ved én enkel tærskel. Datasættet bør gøre denne disciplin skalerbar uden at udviske de underliggende regler. Hvert normaliseret felt skal have en sporbar kilde, så en kontrollant kan undersøge, hvordan botten forstod begivenheden.
Behandl huller som data, ikke som besvær
En manglende besked er en observation om dataforløbet. Den bør ikke forsvinde gennem interpolation, medmindre strategien udtrykkeligt tillader denne omformning, og dens konsekvenser bliver testet. En videreført pris kan være nyttig til visning, men den bør bevare den oprindelige observations alder og bør ikke udgive sig for at være en ny værdi.
Den aktuelle dokumentation for Polymarkets TWAP-strøm angiver, at abonnementer, der genopretter forbindelsen, ikke giver en genafspilning af det manglende interval. En bot, der bruger denne strøm, skal derfor have en udtrykkelig politik for huller. En genoprettet forbindelse genskaber fremtidige observationer; den beviser ikke, at det historiske interval er fuldstændigt, eller at der ikke indtraf en relevant prisbetingelse i det.
Politikken bør afhænge af beslutningen. En prognose for et sluttidspunkt kan tolerere visse manglende baggrundsobservationer, mens en detektor for barrierer ikke kan udlede et uobserveret forløb. En strategi, der kræver et sammenhængende vindue, bør holde op med at godkende relaterede handler, indtil den har tilstrækkelig dokumentation eller et valideret alternativ. Dette er en egenskab ved strategien, ikke blot en præference for infrastrukturen.
Registrer, hvorfor en beslutning blev tilbageholdt. »Ingen handel, fordi det nødvendige referencevindue er ufuldstændigt« er nyttig dokumentation. Det gør det muligt ved en senere gennemgang at vurdere tilgængelighed og omkostningen ved at afstå. Hvis disse muligheder ubemærket udelades fra datasættet, kan systemet fremstå mere pålideligt, end det var, og arbejdsbyrden ved at opretholde brugbare data kan blive skjult.
Opbyg inputvariabler, der svarer til de tilgængelige oplysninger under drift
Hver inputvariabel bør have en definition, der kan beregnes på samme måde i forskning og under drift. Forskelle i afrunding, tidsmæssig tilpasning, håndtering af manglende værdier eller kildevalg kan få en model til at opføre sig anderledes efter idriftsættelse. En inputvariabel, der kun virker, fordi historiske data allerede er blevet renset med viden fra fremtiden, er ikke et gyldigt input under drift.
Brug en dateret registrering af inputvariablerne for hver beslutning. Den bør identificere de rå observationer, omformningens version og de resulterende værdier. Dette kræver ikke, at følsomme adgangsoplysninger afsløres, eller at unødvendige personoplysninger gemmes. Det kræver tilstrækkelig dokumentation for oprindelsen til at kunne genskabe det numeriske input og afgøre, om det var tilgængeligt på det relevante tidspunkt.
Ved en begivenhed om en kryptopris skal du undgå at forveksle en prognose for den gennemsnitlige fremtidige pris med en sandsynlighed for at krydse en kontrakttærskel. Modellens output skal svare til betingelsen. En model for retning, en model for intervaller og en model for barrierer kan kræve forskellige udfaldsmærkninger og vurderinger, selv om de deler visse inputvariabler. Udformningen af udfaldsmærkninger er en del af handelslogikken.
Den ældre guide til kryptohandel med maskinlæring forklarer, hvorfor en vurdering, der tager hensyn til tid, er vigtig. Ved begivenhedskontrakter skal samme omhu omfatte udfaldsmærkningen og tilknytningen af referencen. En ren tidsmæssig opdeling reparerer ikke et datasæt, hvis udfaldsmærkninger beskriver en anden begivenhed end de kontrakter, botten faktisk ville handle.
Beslutningsregistrering for en handelsbot til kryptoprognoser
En beslutningsregistrering bør forbinde en prognose med en bestemt foreslået handling. Medtag kontrakten og regelversionen, prognosens tidsstempel, sandsynlighedsestimatet eller intervallet, den tilsigtede side, mængden, omkostningsestimatet og begrundelsen for at handle eller afstå. En anbefaling uden en fastlagt mængde og prisgrænse er endnu ikke en fuldstændig ordreplan.
Adskil prognosen fra risikogodkendelsen. Modellen kan vurdere en mulighed som attraktiv, mens kontoen allerede har for stor relateret eksponering eller utilstrækkelige disponible midler. Godkendelsesresultatet bør angive, hvilken grænse der blev overholdt eller overskredet. Det gør det muligt at vurdere modellens kvalitet uden at foregive, at enhver modelanbefaling kunne udføres eller var tilladt.
Registreringen skal også have et udløb. En anbefaling, der er dannet ud fra en tidligere ordrebog, bør ikke forblive gyldig på ubestemt tid. Væsentlige ændringer i pris, dokumentation, kontraktfortolkning eller kontostatus bør udløse en ny vurdering. En bot, der opdaterer skærmen, men genbruger den samme forældede beslutning, har ikke skabt en ny godkendelse baseret på dokumentation.
Guiden til markeder for kryptoodds hjælper med at definere de sammenligningsfelter, der leverer input til denne registrering. Dens vægt på tidshorisont og dokumentationskvalitet forhindrer botten i at rangordne kontrakter alene ud fra en numerisk forskel mellem prognose og pris. En stor tilsyneladende margin kan afspejle en forkert reference eller en uklar regel frem for en mulighed.
Gør omkostningsberegningen reproducerbar
Overvej en fiktiv beslutning om at købe 180 Yes-enheder. Den observerede ordrebog tilbyder 60 til 0,41 og 120 til 0,44. Købsestimatet er 24,60 plus 52,80, i alt 77,40. Med et hypotetisk gebyrestimat på 1,80 er den samlede planlagte omkostning 79,20. Den almindelige sandsynlighed for at gå i nul er 79,20 divideret med 180, altså 44%.
Ved et modelestimat på 49% er den forventede almindelige udbetaling 88,20, hvilket giver en modelleret forventet gevinst på 9,00. Det er forskningsresultatet under de angivne antagelser. Det er ikke en garanti og er endnu ikke det realiserede handelsresultat. Botten bør bevare inputtene fra ordrebogen og gebyrberegningen, så omkostningsberegningen kan kontrolleres uafhængigt.
Antag, at kun de første 60 enheder bliver handlet til 0,41 med et faktisk, hypotetisk gebyr på 0,60. Den faktiske omkostning er 25,20. Den udførte positions gunstige almindelige udbetaling er 60,00, hvilket giver en mulig gevinst på 34,80; dens ugunstige almindelige tab er 25,20. De 120 enheder, der ikke er blevet handlet, hører ikke hjemme i beregningen af positionens realiserede eller mulige udbetaling, medmindre de senere bliver handlet.
Et system, der rapporterer den oprindelige forventede gevinst for 180 enheder efter denne delvise udførelse, beskriver en plan, som ikke er blevet realiseret. Beregn positionen på ny ud fra de udførte handler, og bevar den oprindelige plan til analyse af udførelsen. Sammenligningen mellem plan og resultat er netop værdifuld, fordi de er særskilte registreringer frem for ét felt, der overskrives, efterhånden som ordren udvikler sig.
Normaliser handelsstedernes data uden at udviske betydningen
En adapter kan præsentere forskellige handelssteder gennem en fælles intern grænseflade, men den skal bevare vigtige forskelle. Prispræcision, mængdepræcision, ordretyper, autentificering og afregningstilstande kan variere. Et fælles felt kaldet »pris« bør ikke lægge op til en antagelse om, at alle kilder bruger hele cent eller samme konvention for siderne.
For eksempel bruger den aktuelle dokumentation for Kalshis ordrebog strenge for dollar og mængder med fast decimalpræcision. En adapter bør fortolke dem efter det dokumenterede skema frem for at anvende en ældre antagelse om hele cent. Den generelle tekniske lære er at kontrollere de aktuelle formater og bevare tilstrækkelig rå kontekst til at opdage en skemaændring.
Behandl ikke en vellykket fortolkning af formatet som validering af betydningen. En numerisk værdi kan være korrekt formateret, men tilknyttet det forkerte udfald, den forkerte kontrakt eller den forkerte side. Test kendte hypotetiske ordrebøger og forventede omregninger. Medtag tomme sider, brøkdelsmængder, grænsepriser og fejlformede beskeder, så adfærden ved fejl er udtrykkeligt fastlagt.
En fælles grænseflade bør synliggøre usikkerhed frem for at skjule den. Hvis et handelssted rapporterer en mellemliggende udførelsestilstand, bør adapteren ikke for nemheds skyld reducere den til »fuldført«. Tilsvarende bør en kilde, hvis regler endnu ikke er kortlagt, fortsat være utilgængelig for automatisk godkendelse. Ensartethed er kun nyttig, når den ikke udvisker de fakta, som risikobeslutningen afhænger af.
Hold ordreforsøg adskilt fra udførte handler
Botten bør tildele et tilsigtet forsøg en stabil identitet før afsendelse og bevare den anmodning, den sendte. Svar, senere ordreopdateringer og handelsregistreringer bør knyttes til denne identitet. Det gør genopretning mulig, når forbindelsen svigter på et uheldigt tidspunkt, og forhindrer systemet i at behandle hvert genforsøg som en aktivitet uden forbindelse til det oprindelige forsøg.
En kvittering fastslår ikke, at en handel er udført. En åben anmodning kan forblive uudført, blive delvist udført eller nå en anden dokumenteret tilstand. Bottens positionsregister bør bruge autoritativ dokumentation for udførte handler og kontoen, mens ordreregisteret følger den resterende mulige eksponering. Disse registre bør afstemmes frem for at blive erstattet af én optimistisk statusbetegnelse.
Ordreadfærden skal læses i handelsstedets aktuelle dokumentation, eksempelvis Polymarkets guide til ordrelivscyklussen. En fill-and-kill-instruktion kan udføre den tilgængelige mængde og annullere resten; den lover ikke udførelse efter alt-eller-intet-princippet. En fill-or-kill-instruktion vedrører den angivne ordre, ikke atomisk fuldførelse af en særskilt ordre på et andet handelssted. Antagelser på tværs af ordrer kræver deres egen risikoanalyse.
Den ældre guide til API til en bot til prognosemarkeder diskuterer grænsefladen mellem strategi og udførelse. I en bot til kryptobegivenheder bør denne grænseflade rapportere, hvad der vides, hvad der fortsat er aktivt, og hvad der fortsat er usikkert. Hvis den kun returnerer »succes« eller »fejl«, kan den udelade netop den tilstand, der er nødvendig for at forhindre dobbelt eksponering.
Genopretning for en handelsbot til kryptoprognoser
En genopretningsprocedure begynder med den seneste varigt gemte registrering og fastslår derefter den aktuelle autoritative tilstand. Den bør undersøge åbne ordrer, nylige handler, saldi og relevant afregningsstatus ved hjælp af handelsstedets understøttede metoder. Målet er at afgøre, hvad der skete under afbrydelsen, før ny eksponering godkendes.
Ved en afsendelse med ukendt resultat skal du undersøge den oprindelige identitet. Et manglende lokalt svar kan betyde, at anmodningen aldrig nåede frem, at den nåede frem, men ikke blev udført, eller at den nåede frem og blev udført. Hvis der oprettes en ny ordre, før denne usikkerhed er afklaret, kan positionen blive fordoblet. Den uafklarede mængde eller det uafklarede beløb bør fortsat tælle med i risikorammen, indtil dokumentationen indsnævrer tilstanden.
Genopretning bør også håndtere en annullering, der sker samtidig med en udførelse. En anmodning om annullering omgør ikke en allerede gennemført handel. Botten skal afstemme alle handler, der blev udført, før den resterende anmodning blev annulleret. En grænseflade, der viser en annulleret ordre, kan stadig eksistere side om side med en position, der ikke er nul, fra en tidligere delvis udførelse.
En genstart bør ikke straks genskabe fuld handelstilladelse, blot fordi processen fungerer. Datakontinuitet, kontrakttilknytninger, kontoafstemning og aktuelle grænser kan hver især kræve en særskilt kontrol. Systemet kan være driftsmæssigt tilgængeligt, mens det stadig mangler den dokumentation, der kræves til en bestemt strategi. Gør denne forskel synlig for operatøren.
Brug fejløvelser som dokumentation ved godkendelse
Test botten med kontrollerede scenarier, der retter sig mod usikkerhed med væsentlige konsekvenser. Afbryd forbindelsen efter afsendelse, men før et svar. Lever en dubleret opdatering. Forsink en besked om en udført handel. Genstart med en aktiv ordre og en forældet lokal saldo. Den forventede adfærd bør være skrevet på forhånd: bevar identiteten, afstem tilstanden, undgå ny eksponering, hvor der fortsat er usikkerhed, og rapporter det uafklarede forhold.
Disse øvelser bør teste systemets grænser og ikke blot gentage implementeringens egne antagelser. En særskilt beregning af forventede kontantmidler og mængder hjælper med at opdage fejl i registret. I eksemplet med den delvise udførelse på 60 enheder er den uafhængigt forventede omkostning 25,20 med det angivne gebyr. Botten bør nå frem til dette resultat ud fra dokumentationen for den udførte handel, selv om den oprindelige ordre anmodede om 180 enheder.
Medtag øvelser på kontraktniveau. Skift en referenceidentifikator, indfør præcis lighed med en tærskel, eller fremlæg en præcisering af reglerne. Systemet bør kræve den relevante nye tilknytning eller gennemgang frem for at fortsætte med en gammel fortolkning. En teknisk pålidelig ordreafsender kan stadig være farlig, hvis den fejlfrit handler den forkerte begivenhed.
Den ældre guide til en bot til begivenhedskontrakter beskriver automatisering ud fra afgrænsede ansvarsområder. Dens nyttige lære ved godkendelse er, at en bot kan bestå ved at afvise en handling, når den nødvendige dokumentation mangler. Høj aktivitet er ikke et succeskriterium, hvis aktiviteten afhænger af antagelser, systemet ikke kan kontrollere.
Vurder resultater på beslutnings- og begivenhedsniveau
Gem alle kvalificerede beslutninger, herunder beslutninger om at afstå, sammen med de senere udfald, hvor de er tilgængelige. Dette understøtter vurdering af både prognosen og udvælgelsespolitikken. Et datasæt, der kun indeholder udførte vinderhandler, kan ikke vise, om modellen var kalibreret, eller om afviste muligheder blev filtreret fra på et passende grundlag.
Gruppér relaterede kontrakter efter fælles begivenhedsvindue og reference. Flere tærskler for én BTC-observation deler en drivkraft bag udfaldet og bør ikke tælles som mange uafhængige episoder. Det samme gælder gentagne beslutninger om én kontrakt, der stadig er åben. Rapporter antallet af prognoser, handler og særskilte begivenhedsepisoder hver for sig, så dokumentationen ikke overdrives.
Et Ethereum-prognosemarked kan involvere anden teknisk dokumentation end en betingelse om en BTC-pris. En bot, der håndterer begge dele, bør vurdere dem i passende grupper frem for at samle alt i ét gennemsnitligt resultatmål. Stærke resultater på én type spørgsmål fastslår ikke kompetence på en anden, hvor udfaldsmærkninger, tidspunkter og kilder er forskellige.
Sammenlign prognosekvalitet, udførelsesomkostninger og nettoresultater i kontantmidler hver for sig. En model kan forbedre et sandsynlighedsmål uden at skabe rentable handler efter gebyrer. En forbedring af udførelsen kan reducere tab uden at forbedre prognosen. Systemets dokumentationsspor bør gøre disse forskelle synlige, så ændringer styres af den faktiske årsag til resultatet.
Adskil dataadgang fra handelsbeføjelser
En forskningsproces har ofte brug for bred læseadgang, men ingen mulighed for at flytte midler eller afgive ordrer. Hold denne grænse tydelig. Den komponent, der indsamler dokumentation, bør ikke automatisk arve de adgangsoplysninger eller signeringsbeføjelser, som udførelseskomponenten bruger. Dette reducerer risikoen for, at fejlformet kildeindhold eller en forskningsfejl bliver til en godkendt handling, blot fordi begge funktioner deler en proces.
Udførelseskomponenten bør modtage en afgrænset, kontrolleret instruktion og selvstændigt kontrollere dens tilladte omfang. Den bør ikke acceptere en vilkårlig kommando, der er indlejret i en hentet side, en modelforklaring eller en markedsbeskrivelse. Ekstern tekst er dokumentation, der skal fortolkes, ikke en instruktionskilde, der kan ændre kontogrænser. Forskellen er vigtig, selv når indholdet kommer fra en side, der er nyttig til forskning.
Logfiler skal også have en bevidst afgrænsning. Bevar kontraktidentifikatorer, anmodningsidentiteter, priser, mængder og beslutningsbegrundelser, mens private nøgler og unødvendige hemmeligheder udelades. En reproducerbar registrering kræver ikke offentliggørelse af midlerne til at kontrollere kontoen. Gennemgå indholdet af diagnostisk output, før du giver bred adgang til det.
Test endelig tilbagekaldelse og stopadfærd. Operatøren bør vide, hvordan nye godkendte ordrer forhindres, og hvordan den resterende eksponering kontrolleres bagefter. Et stop af beslutningsmotoren lukker ikke automatisk positioner eller annullerer enhver aktiv anmodning. Registreringen bør vise, hvilke handlinger der faktisk blev fuldført, og hvilke kontoforpligtelser der fortsat består.
Fastlæg den dokumentation, der kræves for at fortsætte
En beslutning i produktionsdrift bør afhænge af et lille sæt udtrykkelige betingelser: en forstået kontrakt, tilstrækkelige data, en aktuel prognose, en acceptabel omkostning, tilstrækkelig risikokapacitet og afstemt kontostatus. Hvis én ikke er opfyldt, bør botten angive, hvilken betingelse der mangler. En generisk fejlmeddelelse hjælper ikke operatøren med at afgøre, hvad der sikkert kan genoptages.
Gem konfigurations- og modelversioner sammen med hver beslutning. Når en grænse ændres, eller en model udskiftes, bør den historiske registrering fortsat være knyttet til den version, der handlede. Dette forhindrer, at en senere, forbedret politik får æren for resultater skabt af en tidligere. Det understøtter også tilbagerulning, når en ændring skaber uventet adfærd.
En handelsbot til kryptoprognoser opbygger tillid gennem beslutninger, der kan rekonstrueres, og kontrollerede fejl. Dokumentationssporet gør det muligt at se, om systemet lavede en prognose for den rigtige begivenhed, betalte den tilsigtede omkostning og genoprettede den faktiske position. Det gør ikke usikre markeder til garanterede afkast. Det gør en uigennemsigtig strøm af ordrer til en proces, der kan testes, begrænses og vurderes ærligt.