Majhna oblika podatkovne mreže, povezana z ravno črto z zobnikom, ki stoji sam na desni.

Stavni boti in API: avtomatizacija brez zaklenjenega računa

Bot teče ob treh zjutraj. Vaš račun bi moral biti še vedno tam ob devetih. Betfair med obema načinoma potegne resnično mejo in to ni meja, ki jo opisuje večina forumskih niti.

Stavni bot je vsak skript, ki postavlja ali upravlja stave brez prsta na miški. Na Betfair Exchange o tem, ali je to dovoljeno, ne odloča beseda »bot«, ampak beseda »API«. Pogoji Betfaira stavo, postavljeno z drugimi avtomatiziranimi sredstvi, ne pa tako, da imetnik računa vsako stavo postavi ročno, obravnavajo kot sumljivo dejavnost, nato pa iz te določbe API izrecno izvzamejo: stave, postavljene prek njega, so izključene. Drugo pravilo prizadene tudi uporabnike API-ja: račun mora ostati osebni in ne storitev, ki teče za nekoga drugega. Preden je karkoli od tega pomembno, logiko preizkusite na zakasnjenih podatkih ključa Delayed in načrtujte okoli omejitev API-ja pri zahtevah, hkratnosti in prijavah. Sami ključi, kaj stane vsak in kaj o svojih orodjih povedo štirje brokerji, so na ločeni strani, povezani spodaj.

Kaj pravilo dejansko loči

Avtomatizacija je ena od več smeri znotraj širšega nabora profesionalnih stavnih metod, ki jih obravnava to spletno mesto, in ima svojo stran, ker so pravila tu bolj natančna kot »sharp stavilci uporabljajo programsko opremo«. Forumski žargon »bota« obravnava kot eno stvar: programsko opremo, ki postavlja stave. Pogoji Betfaira so natančnejši. Točka 12.1.4 med dejavnostmi, ki jih šteje za sumljive, navaja stavo, postavljeno »otherwise than through the Account holder placing each Bet manually«, kar bi, prebrano samo, zajelo vsak skript, kar jih je bilo kdaj napisanih. Samo ni prebrano: ista točka ima lastno izjemo, navedeno zaradi jasnosti, da stave, postavljene »via the Application Programming Interface (API)«, niso vključene. Če sestavite oba dela, je ločnica natančna: skript, ki klika po navadnem spletnem mestu, je tisto, na kar točka cilja, skript, ki se pogovarja z API-jem, pa je izjema, ki jo točka sama imenuje.

Stranska opomba: »bot« v tem stavku nosi veliko, beseda pa se v točki dejansko nikoli ne pojavi. Betfairovi pravniki so namesto nje zapisali »otherwise than through the Account holder placing each Bet manually«, kar je daljši način, da se reče isto, a veliko težji stavek za napačen citat. Kakorkoli, nazaj k temu, kaj to pomeni za vas.

Pravilo torej ni »boti so prepovedani« in ni »boti so v redu«. Je ožje: neuradni skript, ki upravlja spletno mesto kot zelo hitre roke, spada v določbo o sumljivi dejavnosti, ista logika, priključena na uradni API, pa spada v izjemo. Nekdo, ki ročno dela trading na lestvici, in skript, ki dela isto prek API-ja, sta v istem dokumentu obravnavana različno, razlika pa so vrata, ne strategija za njimi.

Meja osebne uporabe in kje jo bot lahko prestopi

Druga točka je prav tako pomembna, a jo preberejo veliko redkeje. Betfair lahko uporabo računa šteje za prepovedano, »if we suspect (acting reasonably) that your Account's usage represents 'business usage'«, opredeljeno namenoma široko: »'business usage' includes any use by a betting operator or any use by an individual or organisation supplying data or services to a betting operator« (točka 11.2.13). To nima nobene zveze z zgornjo izjemo za API. Skript je lahko povsem znotraj izjeme iz 12.1.4 in vseeno krši 11.2.13, če dejansko vodi stave za nekoga drugega, hrani storitev za naročnike ali je zaledje izdelka, prodanega drugim stavilcem.

Obe točki bi obravnaval kot odgovor na različni vprašanji. Točka 12.1.4 sprašuje, kako je bila stava postavljena. Točka 11.2.13 sprašuje, čigav denar in čigava odločitev je to dejansko bila. Bot, ki deluje samo na računu ene osebe, drugo vprašanje privzeto prestane. Bot, ki upravlja vložke več ljudi ali prodaja svoje signale, ga ne, ne glede na to, skozi katera vrata stavo postavi.

Vsaka pot do API-ja se začne pri preverjenem računu. Betfairova pomoč za razvijalce to pove jasno: brez računa pri Betfairu »you cannot proceed with licensing«, torej naprej sploh ne morete, preverjanja identitete, ki jih verifikacija dejansko vključuje, pa stojijo pred vsakim ključem. Komercialna avtomatizacija ima svojo ločeno pot prek poslovne strani Betfaira, ne osebnega ključa z večjim proračunom.

API so vrata. Skript na spletnem mestu ni.

Kaj preizkusiti, preden financirate ključ Live

Vsak, ki gradi bota, bi rad preskočil na postavljanje stav. Pošteno zaporedje teče drugače: logiko dokažite na podatkih, namenoma počasnejših od realnega časa, pri najmanjšem vložku, ki ga prizorišče dopušča, preden se plačljivemu ključu ali resnemu bankrollu sploh približate.

Ključ Delayed pri Betfairu: kako stari so lahko podatki o kvotah

Vir: Betfairova dokumentacija za razvijalce, FACTS-betfair.md, razdelek 6.

Podatki grafikona
PostavkaVrednost
Najhitrejši posnetek1
Najpočasnejši posnetek180

Ta razpon, v najboljšem primeru ena sekunda in v najslabšem do tri minute, ni zaokrožitvena napaka, ki bi jo bilo mogoče odmahniti. Kvota, ki jo je skript nazadnje videl kot razumno, se je do trenutka, ko skript ukrepa, lahko premaknila daleč naprej, peskovnika, ki bi to omilil, pa ni: Betfairova lastna dokumentacija navaja, da ne obstaja testno okolje, ki bi komurkoli omogočalo testiranje brez pravega denarja. Vsaka stava, ki jo postavi ključ Delayed, je prava stava s pravim izidom, zato je najmanjši vložek, ki ga prizorišče dopušča, edini smiseln način za to stopnjo.

Hipotetičen primer, vse številke izmišljene samo za račun. Recimo, da skript spremlja kvoto 2,10, se odloči za back in mu API v tistem trenutku vrne posnetek, star 180 sekund. V treh minutah se lahko zgodi gol, rdeči karton ali pozni umik, zato sta kvota, za katero skript misli, da jo stavi back, in kvota, ki je dejansko na voljo, ko naročilo pristane, lahko dve različni številki. Nobena premišljena logika višje v verigi ne popravi odločitve, zgrajene na zastarelih informacijah; zakasnitev sama, ne strategija nad njo, je prva stvar, ki jo je vredno preizkusiti.

Prizorišče je le polovica slike; druga polovica je vir podatkov, na katerega se bot dejansko odziva, skript, zgrajen na tanki zgodovini, pa bo zgrešil, ne glede na to, na katerem ključu teče. Račun ročno preverite na kalkulatorju, preden zaupate skriptovim številkam, in ne pozabite, da se provizija borze še vedno odtegne od vsake zmagovalne stave; kaj naredi z neto številkami bota je vredno prebrati, preden strategijo na papirju razglasite za uspešno.

Vrsta majhnih mehanskih rok nad stavnim listkom, vse razen ene sredi gibanja ustavljene.
Večino bota je čakanje. Del, ki sproži, je tisti, ki ga pravila zanimajo.

Omejitve, okoli katerih je treba načrtovati skript

Nič od tega ne govori o tem, ali je avtomatizacija dovoljena. Gre za zgornjo mejo, ki jo API sam postavlja vedenju skripta, navedeno z jasnimi številkami in ne prepuščeno ugibanju. Štiri od njih so najpomembnejše, ko je skript še na risalni deski, in skupaj z oknom zakasnitve ključa Delayed zgoraj so to številke, ki jih lahko Betfair spremeni; preden okoli katere koli zasnujete produkcijsko kodo, preverite veljavne pogoje.

  • Zgornja meja 200 točk pri zahtevah za podatke o trgu. Strošek se sešteje prek trgov in vrste zahtevanih podatkov; preseganje skupne vsote vrne napako namesto podatkov.
  • Zgornja meja 3 hkratnih zahtev pri klicih za naročila in pozicije. Preverjanje trenutnih naročil, dobička in izgube ali zaključenih naročil več kot trikrat hkrati, medtem ko prejšnji klici še tečejo, se zavrne in ne postavi v vrsto.
  • Zgornja meja 1 000 navodil na sekundo pri postavljanju, preklicu, posodabljanju ali zamenjavi naročil. To velja za celoten račun prek vseh odprtih povezav, ne za en skript posebej.
  • 20-minutna zaklenitev po preveč neuspelih prijavah. Vsak nadaljnji poskus prijave je v tem obdobju samodejno zavrnjen, ne glede na to, kaj je povzročilo prejšnje neuspehe.

Drugi hipotetičen primer, tisti, ki ljudi dejansko ujame. Skript, katerega obravnava prijave ima napako, pravočasno ne osveži seje in namesto umika ponavlja poskuse v tesni zanki. Dvajset minut je približno nogometni polčas; če sprožite zaklenitev ob začetku tekme, skript zamudi več tekme, kot je kdaj ujel. Popravek je bolj dolgočasen od zgodbe: sejo držite in neuspešno prijavo obravnavajte kot razlog za ustavitev, ne za takojšen nov poskus.

Kje pogoji brokerja dodajo še eno plast

Vse zgoraj so Betfairova lastna pravila in veljajo samo za račun pri Betfairu, ki ga imate neposredno. Brokerjevo orodje za borzo je drug izdelek, odprt pri brokerju in ne pri Betfairu, zato Betfairove določbe o API-ju tam samodejno ne veljajo. Pomembni so namesto tega pogoji posameznega brokerja in ti o skriptih ne govorijo vsi enako: nekateri objavljajo lasten API, drugi samodejni dostop povsem prepovedujejo. Brokerjevo določbo proti strganju podatkov obravnavajte kot njegovo hišno pravilo, ki ga je treba spoštovati in sporočiti, če se spremeni, nikoli kot nekaj, kar bi se dalo obiti. Kaj brokerji o botih že povedo ima podrobnosti po brokerjih, skupaj s ceno ključev; ta stran jih ne bo ponavljala.

Če pisanje in vzdrževanje skripta ni projekt, ki ga dejansko želite, brokerji nekaj tega že ponujajo pripravljeno: brokerjeva vgrajena avtomatizacija namesto lastnega bota pokriva, kar pride kot gotova rešitev, brez kode. Račun, označen zaradi sumljive dejavnosti po točki 12.1.4, avtomatiziran ali ne, tudi ne ostane tiho prezrt; kako dejansko izgleda omejitev računa pokriva to stran.

Ničesar ne bi gradil, preden preberem veljavne pogoje konkretnega brokerja, ne forumskega povzetka. Pogoji štirih brokerjev, primerjani drug ob drugem so najhitrejši način, da vidite, kje je avtomatizacija dobrodošla, kje se o njej molči in kje je povsem prepovedana.

Vprašanja, ki jih ljudje postavljajo

Ali je uporaba stavnega bota na Betfair Exchange proti pravilom?

Ne samodejno. Pogoji Betfaira stavo, postavljeno z drugimi avtomatiziranimi sredstvi, ne pa tako, da imetnik računa vsako stavo postavi ročno, obravnavajo kot sumljivo dejavnost, nato pa stave, postavljene prek uradnega API-ja, iz iste določbe izrecno izvzamejo. Skript, ki dela prek API-ja, spada v izjemo; skript, ki upravlja navadno spletno mesto kot zelo hitre roke, ne.

Ali lahko stavni bot teče za nekoga drugega ali kot posel?

To prestopi ločeno mejo. Betfair lahko račun šteje za prepovedanega, če utemeljeno sumi, da uporaba šteje za poslovno uporabo, opredeljeno tako, da vključuje uporabo s strani stavnega operaterja ali kogar koli, ki operaterju dobavlja podatke ali storitve. Osebni račun je za imetnikove lastne stave, avtomatizirane ali ne.

Kakšna je dejanska razlika med stavnim botom in Betfairovim API-jem?

»Bot« je okrajšava za programsko opremo; API je specifičen, odobren kanal, ki ga je Betfair zgradil za avtomatiziran dostop. Pogoji programske opreme ne presojajo po oznaki, ki ji je pripeta, temveč samo po tem, kateri kanal je stavo postavil.

Ali je mogoče stavnega bota preizkusiti, ne da bi tvegali pravi denar?

Ne s ključem Delayed, brezplačno razvojno možnostjo: Betfair pravi, da ne obstaja testno okolje, ki bi komurkoli omogočalo testiranje brez pravega denarja, zato je vsaka stava, ki jo postavi, prava stava s pravim izidom, najbolje pri najmanjšem vložku, dokler se logika še dokazuje.

Kako hitro lahko stavni bot postavlja naročila, preden ga API upočasni?

Omejitve, ki jih določa Betfair, so zgornja meja 200 točk za količino podatkov o trgu, ki jo lahko zahteva ena zahteva, omejitev 3 hkratnih zahtev pri klicih za naročila in pozicije ter zgornja meja 1 000 navodil za naročila na celotnem računu v eni sekundi. Preveč neuspelih prijav doda še 20-minutno zaklenitev. Preden se na katero koli zanesete pri produkcijski kodi, preverite veljavno dokumentacijo.

Ali brokerji na tem spletnem mestu dovoljujejo stavne bote?

Razlikuje se po brokerju in ta stran podrobnosti ne bo ponavljala; stran, ki pokriva stališče vsakega brokerja do API-jev in avtomatizacije, jih ima po brokerjih, skupaj s cenami Betfairovih ključev.