Limite de rată de tranzacționare

Ultima actualizare: More than 3 months ago

API-urile noastre REST și WebSocket utilizează limite de rată de tranzacționare pentru a proteja API-urile împotriva utilizării rău intenționate și pentru a proteja piețele noastre împotriva manipulării cărții de ordine.

Limitele noastre de rată de tranzacționare sunt concepute pentru a menține piețele noastre echitabile pentru toți participanții la piață, oferind în același timp resursele necesare diferitelor tipuri de traderi (investitori, traderi activi, roboți de tranzacționare automată și așa mai departe).

Majoritatea traderilor nu vor întâmpina niciodată limitele de rată de tranzacționare, dar pentru cei care plasează/anulează ordine la frecvențe mai mari decât de obicei sau plasează/anulează un număr mai mare de ordine, limitele de rată ar putea fi atinse, rezultând o eroare EOrder:Rate limit exceeded.

Rețineți că limitele de rată de tranzacționare se aplică separat pentru fiecare pereche valutară, astfel încât atingerea limitelor de rată pentru o pereche valutară (XBT/USD, de exemplu) nu afectează tranzacționarea pe nicio altă pereche valutară (LTC/EUR, de exemplu).

Pentru mulți traderi, cunoașterea detaliilor specifice ale algoritmilor limitelor de rată de tranzacționare nu este necesară; este suficient să știe aproximativ câte evenimente de ordin pot avea loc într-un anumit interval de timp (răspunzând, în esență, la întrebarea „Câte ordine pot plasa/anula pe minut?”).

Deoarece există combinații potențial nelimitate de evenimente de ordin (plasare, execuție, anulare) și durate de viață ale ordinelor (cât timp un ordin rămâne postat în cartea de ordine), nu este posibil să se ofere o singură valoare exactă, dar graficul următor oferă exemple pentru mai multe combinații tipice.

Coloanele Intermediate și Pro indică nivelul de verificare a contului, împreună cu numărul maxim de evenimente de ordin care pot avea loc pe minut în mod constant, fără a atinge limitele de rată de tranzacționare.

 

Rate limits combinations

Așa cum se arată mai sus, verificarea unui cont la un nivel superior, creșterea ratei de execuție a ordinelor sau creșterea duratei de viață a ordinelor vor reduce semnificativ utilizarea limitelor de rată, permițând astfel un număr susținut mai mare de evenimente de ordin pe minut.

Limitele noastre de rată de tranzacționare se bazează pe un contor care crește pe măsură ce ordinele sunt plasate și anulate și scade în timp la o rată fixă de descompunere. Limitele de rată sunt atinse ori de câte ori acest contor depășește o valoare maximă (care variază în funcție de nivelul de verificare a contului). Valorile maxime ale contorului (valorile atinse ale limitei de rată) pentru fiecare tip de cont sunt următoarele:

  • Verificare standard (Cunoscut anterior ca Intermediate) = 125

  • Verificat cu limite superioare (Cunoscut anterior ca Pro) = 180

Rata de descompunere (rata la care contorul scade) se bazează, de asemenea, pe nivelul de verificare a contului. Următoarele sunt ratele de descompunere pentru fiecare tip de cont:

  • Verificare standard (Cunoscut anterior ca Intermediate) = 2,34 pe secundă

  • Verificat cu limite superioare (Cunoscut anterior ca Pro) = 3,75 pe secundă

Contorul limitei de rată crește pe măsură ce are loc fiecare eveniment de ordin (plasare sau anulare), anulările de ordine cauzând cea mai mare creștere. Graficul următor arată valoarea creșterii contorului (cunoscută sub denumirea de penalitate) pentru fiecare tip de eveniment de ordin:

Rate Limits

Note:

  • 1 Pentru penalitatea ordinelor în lot, n = numărul de ordine din lot.

  • 2 Editarea unui ordin implică, de asemenea, penalitatea de 1 punct pentru plasarea ordinului.

  • 3 Ordinele care sunt anulate automat ca ordine IOC eșuate nu implică nicio penalitate de anulare.

  • 4 Modificarea unui ordin implică, de asemenea, penalitatea de 1 punct pentru plasarea ordinului.

  • 5 Ordinele "post only" respinse sunt inițial acceptate, dar ulterior anulate automat; plasarea implică o penalitate de 1 punct, iar anularea implică o penalitate de 8 puncte (pentru un total de 9 puncte).

Următorul este un exemplu despre cum valoarea maximă a contorului, creșterea contorului datorită evenimentelor de ordin și scăderea contorului datorită ratei de descompunere se combină pentru a implementa limitele de rată de tranzacționare pentru un cont de nivel Pro.

Plasarea a 20 de ordine limită și anularea fiecărui ordin după 3 secunde ar implica o penalitate de 9 puncte per ordin, sau un total cumulativ de 180 de puncte:

  • (20 ordine x 1 punct de plasare a ordinului) + (20 ordine x 8 puncte de anulare a ordinului) = 180 puncte

Penalitatea de 180 de puncte ar fi apoi redusă cu 3,75 puncte pe secundă, prin urmare ar dura doar 1 secundă înainte ca trei noi ordine să poată fi plasate (deoarece fiecare nou ordin ar implica o penalitate de 1 punct pentru plasarea ordinului), dar ar dura 48 de secunde pentru ca limitele de rată să fie șterse complet (înapoi la zero):

  • 180 puncte / 3,75 puncte pe secundă = 48 secunde

Următoarele calcule arată cum se determină numărul maxim de evenimente de ordin pe minut care pot fi susținute fără a atinge limitele de rată:

  • Penalitate ordin = (Puncte penalitate * Rată de execuție) + (Puncte penalitate * Rată de execuție) ... (până la 100%)

  • Evenimente de ordin pe minut = 60 secunde / (Penalitate ordin / Rată de descompunere)

Ca exemplu pentru un cont de nivel Pro care plasează ordine limită, dintre care 60% au fost executate după 3 secunde și 40% au fost anulate după 8 secunde:

  • Penalitate ordin = (1 * 60%) + (7 * 40%) = 3,4 puncte

  • Evenimente de ordin pe minut = 60 / (3,4 / 3,75) = 66 evenimente

Ca exemplu real al limitelor de rată de tranzacționare, următoarea este o transcriere cronologică a modului în care contorul de penalitate crește și scade pe măsură ce ordinele sunt plasate/anulate.

În acest exemplu, tipul de cont este un cont de nivel Pro (prin urmare, o valoare maximă a contorului de 180 cu o rată de descompunere de 3,75 pe secundă), iar activitatea de ordin constă în plasarea a 3 ordine (la o rată de 1 ordin la fiecare 0,5 secunde) și apoi anularea a 3 ordine (folosind un FIFO, astfel încât cel mai vechi ordin să fie anulat primul).

API_ChronologicalExample_10022020.png

Pe lângă exemplele prezentate mai sus, calculatorul nostru de limite de rată de tranzacționare permite determinarea numărului maxim de evenimente de ordin pentru orice combinație de rată de execuție a ordinelor și durată de viață a ordinelor. Cu doar câteva variabile (cum ar fi nivelul de verificare a contului), evenimentele de ordin pot fi specificate ca procent sau ca o cantitate absolută, iar calculatorul va indica dacă combinația dorită se încadrează în limitele de rată de tranzacționare sau nu.

Întrebări suplimentare

Limitele de rată sunt unul dintre instrumentele pe care Kraken le utilizează pentru a îmbunătăți securitatea și disponibilitatea platformei pentru toți clienții. Puțini clienți ar trebui să întâmpine probleme legate de limitele de rată. Dacă primiți erori de limită de rată, vă rugăm să vă asigurați mai întâi că software-ul dumneavoastră funcționează corect. Dacă frecvența dumneavoastră de tranzacționare necesită o excepție de limită de rată, Kraken poate evalua clienții de la caz la caz pentru a se asigura că o excepție nu va prezenta riscuri pentru securitatea sau disponibilitatea platformei. Contactați Managerul de cont sau contactați echipa noastră de asistență API cu orice întrebări sau pentru a solicita o evaluare.

Ai nevoie de mai mult ajutor?