Όρια ρυθμού συναλλαγών

Τελευταία ενημέρωση: More than 3 months ago

Τα API μας REST και WebSocket χρησιμοποιούν όρια ρυθμού συναλλαγών για την προστασία των API από κακόβουλη χρήση και για την προστασία των αγορών μας από χειραγώγηση του βιβλίου εντολών.

Τα όρια ρυθμού συναλλαγών μας έχουν σχεδιαστεί για να διατηρούν τις αγορές μας δίκαιες για όλους τους συμμετέχοντες στην αγορά, παρέχοντας παράλληλα τους απαραίτητους πόρους σε διαφορετικούς τύπους traders (επενδυτές, ενεργούς traders, αυτοματοποιημένα trading bots κ.λπ.).

Οι περισσότεροι traders δεν θα συναντήσουν ποτέ τα όρια ρυθμού συναλλαγών, αλλά για όσους τοποθετούν/ακυρώνουν εντολές με συχνότητες υψηλότερες από τις συνηθισμένες ή τοποθετούν/ακυρώνουν μεγαλύτερο αριθμό εντολών, ενδέχεται να επιτευχθούν τα όρια ρυθμού, με αποτέλεσμα ένα σφάλμα EOrder:Rate limit exceeded.

Σημειώστε ότι τα όρια ρυθμού συναλλαγών εφαρμόζονται ξεχωριστά ανά ζεύγος νομισμάτων, οπότε η επίτευξη των ορίων ρυθμού για ένα ζεύγος νομισμάτων (π.χ. XBT/USD) δεν επηρεάζει τις συναλλαγές σε οποιοδήποτε άλλο ζεύγος νομισμάτων (π.χ. LTC/EUR).

Για πολλούς traders, η γνώση των συγκεκριμένων λεπτομερειών των αλγορίθμων ορίου ρυθμού συναλλαγών δεν είναι απαραίτητη· αρκεί να γνωρίζουν περίπου πόσα γεγονότα εντολών μπορούν να συμβούν εντός συγκεκριμένου χρονικού διαστήματος (ουσιαστικά απαντώντας στην ερώτηση "Πόσες εντολές μπορώ να τοποθετήσω/ακυρώσω ανά λεπτό;").

Καθώς υπάρχουν δυνητικά απεριόριστοι συνδυασμοί γεγονότων εντολών (τοποθέτηση, εκτέλεση, ακύρωση) και διάρκειας ζωής εντολών (πόσο καιρό μια εντολή παραμένει δημοσιευμένη στο βιβλίο εντολών), δεν είναι δυνατόν να παρασχεθεί μία ακριβής τιμή, αλλά το παρακάτω διάγραμμα παρέχει παραδείγματα για διάφορους τυπικούς συνδυασμούς.

Οι στήλες Intermediate και Pro υποδεικνύουν το επίπεδο επαλήθευσης λογαριασμού, μαζί με τον μέγιστο αριθμό γεγονότων εντολών που μπορούν να συμβούν ανά λεπτό σε σταθερή βάση χωρίς να επιτευχθούν τα όρια ρυθμού συναλλαγών.

 

Rate limits combinations

Όπως φαίνεται παραπάνω, η επαλήθευση ενός λογαριασμού σε υψηλότερο επίπεδο, η αύξηση του ρυθμού εκτέλεσης εντολών ή η αύξηση της διάρκειας ζωής της εντολής θα μειώσουν σημαντικά τη χρήση του ορίου ρυθμού, επιτρέποντας έτσι έναν υψηλότερο διατηρούμενο αριθμό γεγονότων εντολών ανά λεπτό.

Τα όρια ρυθμού συναλλαγών μας βασίζονται σε έναν μετρητή που αυξάνεται καθώς τοποθετούνται και ακυρώνονται εντολές, και μειώνεται με την πάροδο του χρόνου με σταθερό ρυθμό απομείωσης. Τα όρια ρυθμού επιτυγχάνονται κάθε φορά που αυτός ο μετρητής υπερβαίνει μια μέγιστη τιμή (η οποία ποικίλλει ανάλογα με το επίπεδο επαλήθευσης λογαριασμού).Οι μέγιστες τιμές του μετρητή (οι τιμές που επιτεύχθηκαν στο όριο ρυθμού) για κάθε τύπο λογαριασμού είναι οι εξής:

  • Standard verification (Πρώην Intermediate) = 125

  • Verified with higher limits (Πρώην Pro) = 180

Ο ρυθμός απομείωσης (ο ρυθμός με τον οποίο μειώνεται ο μετρητής) βασίζεται επίσης στο επίπεδο επαλήθευσης λογαριασμού. Οι ακόλουθοι είναι οι ρυθμοί απομείωσης για κάθε τύπο λογαριασμού:

  • Standard verification (Πρώην Intermediate) = 2.34 ανά δευτερόλεπτο

  • Verified with higher limits (Πρώην Pro) = 3.75 ανά δευτερόλεπτο

Ο μετρητής ορίου ρυθμού αυξάνεται καθώς συμβαίνει κάθε γεγονός εντολής (τοποθέτηση ή ακύρωση), με τις ακυρώσεις εντολών να προκαλούν τη μεγαλύτερη αύξηση. Το παρακάτω διάγραμμα δείχνει το ποσό αύξησης του μετρητή (γνωστό ως ποινή) για κάθε τύπο γεγονότος εντολής:

Rate Limits

Σημειώσεις:

  • 1 Για την ποινή εντολής παρτίδας, n = ο αριθμός των εντολών στην παρτίδα.

  • 2 Η επεξεργασία μιας εντολής επιφέρει επίσης την ποινή 1 μονάδας για την τοποθέτηση εντολής.

  • 3 Οι εντολές που ακυρώνονται αυτόματα ως αποτυχημένες εντολές IOC δεν επιφέρουν καμία ποινή ακύρωσης.

  • 4 Η τροποποίηση μιας εντολής επιφέρει επίσης την ποινή 1 μονάδας για την τοποθέτηση εντολής.

  • 5 Οι απορριφθείσες εντολές post only αρχικά γίνονται δεκτές αλλά στη συνέχεια ακυρώνονται αυτόματα, η τοποθέτηση επιφέρει ποινή 1 μονάδας και η ακύρωση επιφέρει ποινή 8 μονάδων (για συνολικά 9 μονάδες).

Ακολουθεί ένα παράδειγμα του πώς η μέγιστη τιμή του μετρητή, η αύξηση του μετρητή λόγω γεγονότων εντολών και η μείωση του μετρητή λόγω του ρυθμού απομείωσης συνδυάζονται για την εφαρμογή των ορίων ρυθμού συναλλαγών για έναν λογαριασμό pro level.

Η τοποθέτηση 20 εντολών ορίου και η ακύρωση κάθε εντολής μετά από 3 δευτερόλεπτα, θα επιφέρει ποινή 9 μονάδων ανά εντολή, ή συνολικά 180 μονάδες:

  • (20 εντολές x 1 μονάδα τοποθέτησης εντολής) + (20 εντολές x 8 μονάδες ακύρωσης εντολής) = 180 μονάδες

Η ποινή των 180 μονάδων θα μειωνόταν στη συνέχεια κατά 3.75 μονάδες ανά δευτερόλεπτο, επομένως θα χρειαζόταν μόνο 1 δευτερόλεπτο πριν τοποθετηθούν τρεις νέες εντολές (καθώς κάθε νέα εντολή θα επιφέρει ποινή 1 μονάδας τοποθέτησης εντολής), αλλά θα χρειαζόταν 48 δευτερόλεπτα για να εκκαθαριστούν πλήρως τα όρια ρυθμού (επιστροφή στο μηδέν):

  • 180 μονάδες / 3.75 μονάδες ανά δευτερόλεπτο = 48 δευτερόλεπτα

Οι ακόλουθες υπολογισμοί δείχνουν πώς να προσδιορίσετε τον μέγιστο αριθμό γεγονότων εντολών ανά λεπτό που μπορούν να διατηρηθούν χωρίς να επιτευχθούν τα όρια ρυθμού:

  • Ποινή εντολής = (Μονάδες ποινής * Ρυθμός εκτέλεσης) + (Μονάδες ποινής * Ρυθμός εκτέλεσης) ... (έως 100%)

  • Γεγονότα εντολών ανά λεπτό = 60 δευτερόλεπτα / (Ποινή εντολής / Ρυθμός απομείωσης)

Ως παράδειγμα για έναν λογαριασμό pro level που τοποθετεί εντολές ορίου, το 60% των οποίων εκτελέστηκε μετά από 3 δευτερόλεπτα, και το 40% των οποίων ακυρώθηκε μετά από 8 δευτερόλεπτα:

  • Ποινή εντολής = (1 * 60%) + (7 * 40%) = 3.4 μονάδες

  • Γεγονότα εντολών ανά λεπτό = 60 / (3.4 / 3.75) = 66 γεγονότα

Ως ένα παράδειγμα πραγματικού κόσμου των ορίων ρυθμού συναλλαγών, ακολουθεί μια χρονολογική καταγραφή του πώς ο μετρητής ποινής αυξάνεται και μειώνεται καθώς τοποθετούνται/ακυρώνονται εντολές.

Σε αυτό το παράδειγμα, ο τύπος λογαριασμού είναι ένας λογαριασμός pro level (επομένως μέγιστη τιμή μετρητή 180 με ρυθμό απομείωσης 3.75 ανά δευτερόλεπτο), και η δραστηριότητα εντολών είναι η τοποθέτηση 3 εντολών (με ρυθμό 1 εντολή κάθε 0.5 δευτερόλεπτα) και στη συνέχεια η ακύρωση 3 εντολών (χρησιμοποιώντας FIFO ώστε η παλαιότερη εντολή να ακυρώνεται πρώτη).

API_ChronologicalExample_10022020.png

Εκτός από τα παραδείγματα που αναφέρονται παραπάνω, ο υπολογιστής ορίου ρυθμού συναλλαγών μας επιτρέπει τον προσδιορισμό του μέγιστου αριθμού γεγονότων εντολών για οποιονδήποτε συνδυασμό ρυθμού εκτέλεσης εντολών και διάρκειας ζωής εντολών. Με λίγες μόνο μεταβλητές (όπως το επίπεδο επαλήθευσης λογαριασμού), τα γεγονότα εντολών μπορούν να καθοριστούν ως ποσοστό ή ως απόλυτη ποσότητα, και ο υπολογιστής θα υποδείξει εάν ο επιθυμητός συνδυασμός ταιριάζει εντός των ορίων ρυθμού συναλλαγών ή όχι.

Περαιτέρω ερωτήσεις

Τα όρια ρυθμού είναι ένα από τα πολλά εργαλεία που χρησιμοποιεί η Kraken για τη βελτίωση της ασφάλειας και της διαθεσιμότητας της πλατφόρμας για όλους τους πελάτες. Λίγοι πελάτες θα πρέπει να αντιμετωπίσουν προβλήματα ορίου ρυθμού. Εάν λάβετε σφάλματα ορίου ρυθμού, παρακαλούμε πρώτα βεβαιωθείτε ότι το λογισμικό σας λειτουργεί σωστά. Εάν η συχνότητα συναλλαγών σας απαιτεί εξαίρεση ορίου ρυθμού, η Kraken μπορεί να αξιολογήσει τους πελάτες κατά περίπτωση για να διασφαλίσει ότι μια εξαίρεση δεν θα θέσει σε κίνδυνο την ασφάλεια ή τη διαθεσιμότητα της πλατφόρμας. Επικοινωνήστε με τον Account Manager σας ή επικοινωνήστε με την ομάδα υποστήριξης API μας για οποιεσδήποτε ερωτήσεις ή για να ζητήσετε αξιολόγηση.

Χρειάζεστε περισσότερη βοήθεια;