
Betting bots και API: αυτοματοποίηση χωρίς να κλειδωθείτε έξω
Το bot τρέχει στις 3 το πρωί. Ο λογαριασμός σας πρέπει να είναι εκεί στις 9. Η Betfair χαράζει ξεκάθαρη γραμμή ανάμεσα στους δύο τρόπους να φτάσετε εκεί, και δεν είναι η γραμμή που περιγράφουν τα περισσότερα νήματα στα φόρουμ.
Ένα betting bot είναι κάθε script που βάζει ή διαχειρίζεται στοιχήματα χωρίς άνθρωπος να αγγίζει το ποντίκι. Στο Betfair Exchange, η λέξη που κρίνει αν επιτρέπεται δεν είναι το «bot», είναι το «API». Οι όροι της Betfair θεωρούν ύποπτη δραστηριότητα ένα στοίχημα που δεν βάζει ο κάτοχος του λογαριασμού χειροκίνητα, και μετά εξαιρούν ρητά από την ίδια ρήτρα όσα μπαίνουν μέσω του API. Ένας δεύτερος κανόνας αφορά και τους χρήστες του API: ο λογαριασμός πρέπει να μένει προσωπικός, όχι υπηρεσία για άλλον. Πριν από όλα αυτά, δοκιμάστε τη λογική με τα καθυστερημένα δεδομένα του Delayed key και σχεδιάστε με βάση τα όρια του API σε αιτήματα, ταυτόχρονες κλήσεις και συνδέσεις. Τα κλειδιά, το κόστος του καθενός και τι λένε οι brokers για τα δικά τους εργαλεία είναι σε δική τους σελίδα, με σύνδεσμο παρακάτω.
Τι διαχωρίζει στην πραγματικότητα ο κανόνας
Η αυτοματοποίηση είναι μία από τις μεθόδους μέσα στο ευρύτερο σύνολο επαγγελματικού στοιχήματος που καλύπτει ο ιστότοπος, και παίρνει δική της σελίδα επειδή οι κανόνες εδώ είναι πιο ακριβείς από όσο δείχνει το «οι sharp παίκτες χρησιμοποιούν λογισμικό». Στα φόρουμ, το «bot» λέγεται σαν να είναι ένα πράγμα: λογισμικό που βάζει στοιχήματα. Οι όροι της Betfair είναι πιο ακριβείς. Η ρήτρα 12.1.4 απαριθμεί, ανάμεσα στις δραστηριότητες που θεωρεί ύποπτες, ένα στοίχημα που μπαίνει «otherwise than through the Account holder placing each Bet manually» (με άλλον τρόπο από το να βάζει ο κάτοχος του λογαριασμού κάθε στοίχημα χειροκίνητα). Διαβασμένη μόνη της, η φράση θα έπιανε κάθε σενάριο που γράφτηκε ποτέ. Δεν διαβάζεται όμως μόνη της: η ίδια ρήτρα έχει δική της εξαίρεση, που δηλώνεται για αποφυγή αμφιβολιών, ότι δεν περιλαμβάνονται τα στοιχήματα που μπαίνουν «via the Application Programming Interface (API)». Όταν τα δύο αποσπάσματα μπουν μαζί, η διαχωριστική γραμμή είναι ακριβής: ένα script που κάνει κλικ στη συνηθισμένη ιστοσελίδα είναι αυτό που στοχεύει η ρήτρα, ενώ ένα script που μιλά με το API είναι η εξαίρεση που η ίδια η ρήτρα ονομάζει.
Μια παρένθεση: η λέξη «bot» κάνει πολλή δουλειά σε αυτή την πρόταση, και δεν εμφανίζεται ποτέ στη ρήτρα. Οι δικηγόροι της Betfair προτίμησαν το «otherwise than…», που είναι μακρύτερος τρόπος να πει το ίδιο, αλλά πολύ δύσκολη πρόταση για να παρερμηνευτεί. Τέλος πάντων, πίσω στο τι σημαίνει αυτό για εσάς.
Άρα ο κανόνας δεν λέει «τα bots απαγορεύονται» ούτε «τα bots είναι εντάξει». Είναι πιο στενός: ένα ανεπίσημο script που δουλεύει τον ιστότοπο σαν ένα πολύ γρήγορο ζευγάρι χεριών βρίσκεται μέσα σε ρήτρα για ύποπτη δραστηριότητα, ενώ η ίδια λογική συνδεδεμένη στο επίσημο API βρίσκεται μέσα στην εξαίρεση. Όποιος κάνει trading στην κλίμακα με το χέρι και ένα script που κάνει το ίδιο μέσω API αντιμετωπίζονται διαφορετικά από το ίδιο έγγραφο, και η διαφορά είναι η πόρτα, όχι η στρατηγική πίσω της.
Η γραμμή της προσωπικής χρήσης και πού μπορεί να την περάσει ένα bot
Μια δεύτερη ρήτρα μετράει εξίσου, και διαβάζεται πολύ λιγότερο. Η Betfair μπορεί να θεωρήσει μη επιτρεπτή τη χρήση ενός λογαριασμού «αν υποψιάζεται (ενεργώντας εύλογα) ότι η χρήση του λογαριασμού αντιπροσωπεύει "business usage"». Ο ορισμός είναι σκόπιμα ευρύς: το «business usage» περιλαμβάνει «any use by a betting operator or any use by an individual or organisation supplying data or services to a betting operator» (ρήτρα 11.2.13). Αυτό δεν έχει καμία σχέση με την εξαίρεση του API. Ένα script μπορεί να βρίσκεται καθαρά μέσα στην εξαίρεση της 12.1.4 και να παραβιάζει παρ' όλα αυτά την 11.2.13, αν στην πράξη βάζει στοιχήματα για άλλον, τροφοδοτεί μια συνδρομητική υπηρεσία ή λειτουργεί ως ο κρυφός κινητήρας ενός προϊόντος που πουλιέται σε άλλους παίκτες.
Θα χώριζα τις δύο ρήτρες, επειδή απαντούν σε διαφορετικές ερωτήσεις. Η 12.1.4 ρωτά πώς μπήκε το στοίχημα. Η 11.2.13 ρωτά ποια είναι τα χρήματα και ποιος πήρε την απόφαση. Ένα bot που δουλεύει μόνο σε έναν λογαριασμό για τον δικό του κάτοχο περνά τη δεύτερη ερώτηση εξ ορισμού. Ένα bot που διαχειρίζεται τα ποσά πολλών ανθρώπων, ή πουλά τα σήματά του, δεν την περνά, όποια πόρτα κι αν χρησιμοποιεί για να βάλει το στοίχημα.
Κάθε δρόμος προς το API ξεκινά από έναν επαληθευμένο λογαριασμό. Η ίδια η τεκμηρίωση προγραμματιστών της Betfair το λέει καθαρά: χωρίς λογαριασμό Betfair, «you cannot proceed with licensing», δηλαδή δεν μπορείτε να προχωρήσετε καθόλου στην αδειοδότηση. Οι έλεγχοι ταυτότητας που περιλαμβάνει η επαλήθευση έρχονται πριν από κάθε κλειδί. Η εμπορική αυτοματοποίηση έχει δικό της, ξεχωριστό δρόμο μέσω της επιχειρηματικής πλευράς της Betfair, και όχι ένα προσωπικό κλειδί με μεγαλύτερο προϋπολογισμό.
Η πόρτα είναι το API. Ένα script στην ιστοσελίδα δεν είναι.
Τι να δοκιμάσετε πριν χρηματοδοτηθεί ένα Live key
Όποιος φτιάχνει bot θέλει να περάσει κατευθείαν στα στοιχήματα. Η έντιμη σειρά πάει ανάποδα: αποδείξτε τη λογική με δεδομένα σκόπιμα πιο αργά από τον πραγματικό χρόνο, στο μικρότερο ποσό που επιτρέπει ο χώρος, πριν έρθει κοντά του ένα πληρωμένο κλειδί ή ένα σοβαρό κεφάλαιο.
Αυτό το εύρος, ένα δευτερόλεπτο στην καλύτερη περίπτωση και έως τρία λεπτά στη χειρότερη, δεν είναι σφάλμα στρογγυλοποίησης που αγνοείται. Μια τιμή που το script θεώρησε λογική μπορεί να έχει ήδη κινηθεί πολύ μακριά από εκεί όταν το script ενεργήσει, και δεν υπάρχει sandbox που να το μαλακώνει: η ίδια η τεκμηρίωση της Betfair δηλώνει ότι δεν υπάρχει test bed που να επιτρέπει σε κάποιον να δοκιμάσει χωρίς να χρησιμοποιήσει πραγματικά χρήματα. Κάθε στοίχημα που βάζει το Delayed key είναι ζωντανό στοίχημα με πραγματικό αποτέλεσμα, γι' αυτό το μικρότερο ποσό που επιτρέπει ο χώρος είναι ο μόνος λογικός τρόπος να τρέξει αυτό το στάδιο.
Μια υπόθεση, με κάθε νούμερο επινοημένο μόνο για την αριθμητική. Ας πούμε ότι ένα script παρακολουθεί μια τιμή στο 2,10, αποφασίζει να βάλει back, και το API του επιστρέφει ένα στιγμιότυπο 180 δευτερολέπτων τη στιγμή ακριβώς εκείνη. Ένα γκολ, μια κόκκινη κάρτα ή μια αποσύρση την τελευταία στιγμή μπορεί να συμβούν μέσα σε τρία λεπτά, οπότε η τιμή που νομίζει το script ότι βάζει back και η τιμή που πράγματι υπάρχει όταν φτάσει η εντολή μπορεί να είναι δύο διαφορετικοί αριθμοί. Καμία έξυπνη λογική δεν διορθώνει μια απόφαση χτισμένη σε παλιά πληροφορία· η καθυστέρηση, όχι η στρατηγική πάνω της, είναι το πρώτο πράγμα που αξίζει να δοκιμαστεί.
Η αγορά είναι μόνο το μισό της εικόνας· το άλλο μισό είναι η ροή στην οποία αντιδρά πραγματικά ένα bot, και ένα script χτισμένο πάνω σε λίγο ιστορικό θα αστοχήσει όποιο κλειδί κι αν τρέχει. Ελέγξτε τα νούμερα με το χέρι σε αριθμομηχανή πριν εμπιστευτείτε τα δικά του, και θυμηθείτε ότι η προμήθεια του exchange εξακολουθεί να αφαιρείται από κάθε κερδισμένο στοίχημα· τι κάνει στα καθαρά νούμερα ενός bot αξίζει να διαβαστεί πριν κριθεί μια στρατηγική επιτυχημένη στο χαρτί.
Τα όρια γύρω από τα οποία πρέπει να σχεδιαστεί ένα script
Τίποτα από αυτά δεν αφορά το αν επιτρέπεται η αυτοματοποίηση. Αφορά το ταβάνι που βάζει το ίδιο το API στον τρόπο που συμπεριφέρεται ένα script, γραμμένο σε απλά νούμερα αντί να αφήνεται στην εικασία. Τέσσερα από αυτά έχουν τη μεγαλύτερη σημασία όταν ένα script βρίσκεται ακόμα στο σχέδιο. Μαζί με το παράθυρο καθυστέρησης του Delayed key που αναφέρθηκε παραπάνω, είναι νούμερα που μπορεί να αναθεωρήσει η Betfair· ελέγξτε τους τρέχοντες όρους πριν σχεδιάσετε κώδικα παραγωγής πάνω σε οποιοδήποτε από αυτά.
- Ταβάνι 200 σημείων για αιτήματα δεδομένων αγοράς. Το κόστος αθροίζεται σε όλες τις αγορές και τον τύπο δεδομένων που ζητήθηκαν· αν ξεπεραστεί το σύνολο, επιστρέφεται σφάλμα αντί για δεδομένα.
- Ταβάνι 3 ταυτόχρονων αιτημάτων σε κλήσεις εντολών και θέσεων. Ο έλεγχος των τρεχουσών εντολών, του κέρδους και της ζημιάς ή των εκκαθαρισμένων εντολών περισσότερες από τρεις φορές ταυτόχρονα, ενώ οι προηγούμενες κλήσεις εκτελούνται ακόμα, απορρίπτεται αντί να μπει σε ουρά.
- Ταβάνι 1.000 εντολών ανά δευτερόλεπτο για τοποθέτηση, ακύρωση, ενημέρωση ή αντικατάσταση εντολών. Αυτό καλύπτει ολόκληρο τον λογαριασμό σε όλες τις ανοιχτές συνδέσεις, και όχι ένα script μεμονωμένα.
- Κλείδωμα 20 λεπτών μετά από πολλές αποτυχημένες συνδέσεις. Κάθε επόμενη προσπάθεια σύνδεσης απορρίπτεται αυτόματα για αυτό το διάστημα, ό,τι κι αν προκάλεσε τις προηγούμενες αποτυχίες.
Μια δεύτερη υπόθεση, και αυτή που πιάνει πραγματικά τους ανθρώπους. Ένα script με σφάλμα στη διαχείριση της σύνδεσης δεν ανανεώνει έγκαιρα τη συνεδρία και ξαναπροσπαθεί σε σφιχτό βρόχο αντί να κάνει οπισθοχώρηση. Είκοσι λεπτά είναι περίπου ένα ημίχρονο ποδοσφαίρου· αν το κλείδωμα ενεργοποιηθεί τη στιγμή της έναρξης, το script χάνει περισσότερο από το παιχνίδι απ' όσο ποτέ πιάνει. Η διόρθωση είναι πιο βαρετή από την ιστορία: κρατήστε τη συνεδρία, και αντιμετωπίστε μια αποτυχημένη σύνδεση ως λόγο να σταματήσετε, όχι να ξαναδοκιμάσετε αμέσως.
Όπου η δική της πλευρά του broker προσθέτει ακόμα ένα επίπεδο
Όλα τα παραπάνω είναι το δικό της βιβλίο κανόνων, της Betfair, και ισχύουν μόνο για λογαριασμό Betfair που κρατιέται άμεσα. Το εργαλείο exchange ενός broker είναι διαφορετικό προϊόν, ανοιχτό με τον broker και όχι με τη Betfair, οπότε οι ρήτρες API της Betfair δεν ακολουθούν αυτόματα εκεί. Αυτό που μετράει είναι οι δικοί του όροι, και δεν λένε όλοι το ίδιο για τα scripts: κάποιοι δημοσιεύουν δικό τους API, άλλοι απαγορεύουν ρητά την αυτοματοποιημένη πρόσβαση. Αντιμετωπίστε τη ρήτρα ενός broker κατά του scraping ως δικό του εσωτερικό κανόνα που πρέπει να σεβαστείτε και να αναφέρετε αν αλλάξει, ποτέ ως κάτι που πρέπει να παρακάμψετε. Τι λέει ήδη κάθε broker για τα bots έχει τις λεπτομέρειες μία προς μία, μαζί με το κόστος των κλειδιών· αυτή η σελίδα δεν θα τις επαναλάβει.
Αν η κατασκευή και η συντήρηση ενός script δεν είναι το σχέδιο που θέλετε πραγματικά, οι brokers έχουν ήδη συσκευάσει μέρος αυτού: ένα ενσωματωμένο εργαλείο αυτοματοποίησης καλύπτει ό,τι έρχεται έτοιμο, χωρίς κώδικα. Ένας λογαριασμός που σημαδεύεται για ύποπτη δραστηριότητα βάσει της ρήτρας 12.1.4, αυτοματοποιημένος ή όχι, δεν αγνοείται σιωπηλά· το πώς μοιάζει στην πράξη ένας περιορισμός λογαριασμού καλύπτει εκείνη την πλευρά.
Δεν θα χτίζα τίποτα πριν διαβάσετε τους τρέχοντες όρους του συγκεκριμένου broker, και όχι μια περίληψη από φόρουμ. Η σύγκριση των όρων των τεσσάρων brokers δίπλα δίπλα είναι ο ταχύτερος τρόπος να δείτε πού καλωσορίζεται η αυτοματοποίηση, πού σιωπά και πού την απαγορεύει ρητά.
Συχνές ερωτήσεις
Είναι ενάντια στους κανόνες η χρήση betting bot στο Betfair Exchange;
Όχι αυτόματα. Οι όροι της Betfair θεωρούν ύποπτη δραστηριότητα ένα στοίχημα που βάζεται με άλλα αυτοματοποιημένα μέσα εκτός από τον κάτοχο του λογαριασμού που βάζει κάθε στοίχημα χειροκίνητα, και μετά εξαιρούν ρητά από την ίδια ρήτρα τα στοιχήματα που μπαίνουν μέσω του επίσημου API. Ένα script που δουλεύει μέσω API βρίσκεται στην εξαίρεση· ένα που δουλεύει τη συνηθισμένη ιστοσελίδα σαν πολύ γρήγορα χέρια δεν βρίσκεται.
Μπορεί ένα betting bot να τρέχει για άλλον ή ως επιχείρηση;
Αυτό περνά μια διαφορετική γραμμή. Η Betfair μπορεί να θεωρήσει έναν λογαριασμό απαγορευμένο αν υποψιάζεται εύλογα ότι η χρήση μετράει ως «business usage», ορισμένο ώστε να περιλαμβάνει χρήση από διαχειριστή στοιχημάτων ή από όποιον παρέχει δεδομένα ή υπηρεσίες σε έναν τέτοιο. Ένας προσωπικός λογαριασμός προορίζεται για το δικό του στοίχημα του κατόχου, αυτοματοποιημένο ή όχι.
Ποια είναι η πραγματική διαφορά ανάμεσα σε ένα betting bot και το API της Betfair;
Το «bot» είναι η συντομογραφία για το λογισμικό· το API είναι το συγκεκριμένο, εγκεκριμένο κανάλι που έφτιαξε η Betfair για αυτοματοποιημένη πρόσβαση. Οι όροι δεν κρίνουν το λογισμικό από την ετικέτα που του δίνεται, μόνο από το κανάλι που έβαλε το στοίχημα.
Μπορεί ένα betting bot να δοκιμαστεί χωρίς να διακινδυνεύσει πραγματικά χρήματα;
Όχι, ούτε στο Delayed key, τη δωρεάν επιλογή ανάπτυξης. Η Betfair λέει ότι δεν υπάρχει test bed που να επιτρέπει σε κάποιον να δοκιμάσει χωρίς να χρησιμοποιήσει πραγματικά χρήματα, οπότε κάθε στοίχημα που βάζει το bot είναι ζωντανό, με πραγματικό αποτέλεσμα. Καλύτερα να κρατάτε το ποσό στο ελάχιστο όσο η λογική αποδεικνύεται ακόμα.
Πόσο γρήγορα μπορεί ένα betting bot να βάζει εντολές πριν το περιορίσει το API;
Τα ταβάνια που θέτει η Betfair είναι ένα όριο 200 σημείων για το πόσα δεδομένα αγοράς μπορεί να ζητήσει ένα αίτημα, ένα όριο 3 ταυτόχρονων αιτημάτων σε κλήσεις εντολών και θέσεων, και ένα ταβάνι 1.000 εντολών σε ένα δευτερόλεπτο σε ολόκληρο τον λογαριασμό. Οι πολλές αποτυχημένες συνδέσεις προσθέτουν κλείδωμα 20 λεπτών από πάνω. Ελέγξτε την τρέχουσα τεκμηρίωση πριν βασιστείτε σε οποιοδήποτε από αυτά για κώδικα παραγωγής.
Επιτρέπουν τα brokers στοιχημάτων του ιστότοπου τα betting bots;
Διαφέρει ανά broker, και αυτή η σελίδα δεν θα το επαναλάβει· η σελίδα που καλύπτει τη θέση κάθε broker για API και αυτοματοποίηση το έχει μία προς μία, μαζί με το κόστος των κλειδιών Betfair.