Handelsratebegrænsninger

Sidst opdateret: More than 3 months ago

Vores REST- og WebSocket-API'er bruger handelsratebegrænsninger til at beskytte API'erne mod ondsindet brug og til at beskytte vores markeder mod manipulation af ordrebogen.

Vores handelsratebegrænsninger er designet til at holde vores markeder fair for alle markedsdeltagere, samtidig med at de giver de ressourcer, der er nødvendige for forskellige typer handlende (investorer, aktive handlende, automatiserede handelsbots og så videre).

De fleste handlende vil aldrig støde på handelsratebegrænsningerne, men for dem, der placerer/annullerer ordrer med højere end sædvanlig frekvens eller placerer/annullerer et højere antal ordrer, kan ratebegrænsningerne blive nået, hvilket resulterer i en EOrder:Rate limit exceeded fejl.

Bemærk, at handelsratebegrænsningerne gælder separat pr. valutapar, så det at nå ratebegrænsningerne for ét valutapar (f.eks. XBT/USD) påvirker ikke handel med noget andet valutapar (f.eks. LTC/EUR).

For mange handlende er det ikke nødvendigt at kende de specifikke detaljer om algoritmerne for handelsratebegrænsning; det er tilstrækkeligt at vide omtrent, hvor mange ordrehændelser der kan ske inden for en bestemt tidsperiode (i bund og grund besvare spørgsmålet "Hvor mange ordrer kan jeg placere/annullere pr. minut?").

Da der potentielt er ubegrænsede kombinationer af ordrehændelser (placering, udførelse, annullering) og ordrelevetider (hvor længe en ordre forbliver postet i ordrebogen), er det ikke muligt at give en enkelt præcis værdi, men følgende diagram giver eksempler på flere typiske kombinationer.

Kolonnerne Intermediate og Pro angiver kontoverifikationsniveauet sammen med det maksimale antal ordrehændelser, der kan forekomme pr. minut på en konsekvent basis uden at nå handelsratebegrænsningerne.

 

Rate limits combinations

Som vist ovenfor vil verificering af en konto til et højere niveau, øget ordreudførelseshastighed eller øget ordrelevetid alle reducere brugen af ratebegrænsningen betydeligt, hvilket dermed muliggør et højere vedvarende antal ordrehændelser pr. minut.

Vores handelsratebegrænsninger er baseret på en tæller, der stiger, når ordrer placeres og annulleres, og falder over tid med en fast henfaldshastighed. Ratebegrænsningerne nås, når denne tæller overstiger en maksimumværdi (som varierer afhængigt af kontoverifikationsniveauet). De maksimale tællerværdier (de nåede ratebegrænsningsværdier) for hver kontotype er som følger:

  • Standardverifikation (tidligere kendt som Intermediate) = 125

  • Verificeret med højere grænser (tidligere kendt som Pro) = 180

Henfaldshastigheden (den hastighed, hvormed tælleren falder) er også baseret på kontoverifikationsniveauet. Følgende er henfaldshastighederne for hver kontotype:

  • Standardverifikation (tidligere kendt som Intermediate) = 2,34 pr. sekund

  • Verificeret med højere grænser (tidligere kendt som Pro) = 3,75 pr. sekund

Ratebegrænsningstælleren stiger, når hver ordrehændelse (placering eller annullering) finder sted, hvor ordreannulleringer forårsager den største stigning. Følgende diagram viser mængden af tællerstigning (kendt som straffen) for hver type ordrehændelse:

Rate Limits

Bemærkninger:

  • 1 For straffen for batchordrer er n = antallet af ordrer i batchen.

  • 2 Redigering af en ordre medfører også en straf på 1 point for ordreplacering.

  • 3 Ordrer, der automatisk annulleres som mislykkede IOC-ordrer, medfører ingen annulleringsstraf.

  • 4 Ændring af en ordre medfører også en straf på 1 point for ordreplacering.

  • 5 Afviste 'post only'-ordrer accepteres oprindeligt, men annulleres efterfølgende automatisk; placeringen medfører en straf på 1 point, og annulleringen medfører en straf på 8 point (i alt 9 point).

Følgende er et eksempel på, hvordan den maksimale tællerværdi, tællerens stigning på grund af ordrehændelser og tællerens fald på grund af henfaldshastigheden kombineres for at implementere handelsratebegrænsningerne for en Pro-konto.

Placering af 20 limit-ordrer og annullering af hver ordre efter 3 sekunder ville medføre en straf på 9 point pr. ordre, eller et kumulativt total på 180 point:

  • (20 ordrer x 1 point for ordreplacering) + (20 ordrer x 8 point for ordreannullering) = 180 point

Straffen på 180 point ville derefter blive reduceret med 3,75 point pr. sekund, hvorfor det kun ville tage 1 sekund, før tre nye ordrer kunne placeres (da hver ny ordre ville medføre 1 point straf for ordreplacering), men det ville tage 48 sekunder at rydde ratebegrænsningerne helt (tilbage til nul):

  • 180 point / 3,75 point pr. sekund = 48 sekunder

Følgende beregninger viser, hvordan man bestemmer det maksimale antal ordrehændelser pr. minut, der kan opretholdes uden at nå ratebegrænsningerne:

  • Ordrestraf = (Strafpoint * Udførelsesrate) + (Strafpoint * Udførelsesrate) ... (op til 100%)

  • Ordrehændelser pr. minut = 60 sekunder / (Ordrestraf / Henfaldshastighed)

Som et eksempel for en Pro-konto, der placerer limit-ordrer, hvoraf 60 % blev udført efter 3 sekunder, og 40 % blev annulleret efter 8 sekunder:

  • Ordrestraf = (1 * 60%) + (7 * 40%) = 3,4 point

  • Ordrehændelser pr. minut = 60 / (3,4 / 3,75) = 66 hændelser

Som et virkeligt eksempel på handelsratebegrænsningerne er følgende en kronologisk transkription af, hvordan straffetælleren stiger og falder, når ordrer placeres/annulleres.

I dette eksempel er kontotypen en Pro-konto (derfor en maksimal tællerværdi på 180 med en henfaldshastighed på 3,75 pr. sekund), og ordreaktiviteten er placering af 3 ordrer (med en hastighed på 1 ordre hvert 0,5 sekund) og derefter annullering af 3 ordrer (ved hjælp af FIFO, så den ældste ordre annulleres først).

API_ChronologicalExample_10022020.png

Ud over de eksempler, der er vist ovenfor, giver vores handelsratebegrænsningsberegner mulighed for at bestemme det maksimale antal ordrehændelser for enhver kombination af ordreudførelsesrate og ordrelevetid. Med kun få variabler (såsom kontoverifikationsniveau) kan ordrehændelser specificeres som en procentdel eller som en absolut mængde, og beregneren vil angive, om den ønskede kombination passer inden for handelsratebegrænsningerne eller ej.

Yderligere spørgsmål

Ratebegrænsninger er et af flere værktøjer, Kraken bruger til at forbedre platformsikkerhed og tilgængelighed for alle kunder. Få kunder bør støde på problemer med ratebegrænsning. Hvis du modtager fejl med ratebegrænsning, skal du først sikre dig, at din software fungerer korrekt. Hvis din handelsfrekvens kræver en undtagelse fra ratebegrænsning, kan Kraken evaluere kunder individuelt for at sikre, at en undtagelse ikke udgør risici for platformsikkerhed eller tilgængelighed. Kontakt din Account Manager eller kontakt vores API-supportteam med eventuelle spørgsmål eller for at anmode om en evaluering.

Har du brug for mere hjælp?