交易限速

上次更新時間: More than 3 months ago

我們的 RESTWebSocket API 使用交易限速來保護 API 免受惡意使用,並保護我們的市場免受訂單簿操縱。

我們的交易限速旨在為所有市場參與者維持公平的市場,同時為不同類型的交易者(投資者、活躍交易者、自動交易機器人等)提供所需的資源。

大多數交易者永遠不會遇到交易限速,但對於那些以高於平常的頻率下單/取消訂單或下單/取消大量訂單的交易者,可能會達到限速,導致出現 EOrder:Rate limit exceeded 錯誤。

請注意,交易限速是針對每個貨幣對單獨應用的,因此達到一個貨幣對(例如 XBT/USD)的限速不會影響任何其他貨幣對(例如 LTC/EUR)的交易。

對於許多交易者來說,了解交易限速演算法的具體細節並非必要;只需大致了解在特定時間內可以發生多少訂單事件(本質上是回答「我每分鐘可以下單/取消多少訂單?」這個問題)就足夠了。

由於訂單事件(下單、執行、取消)和訂單生命週期(訂單在訂單簿上保留多長時間)的組合潛在無限,因此無法提供單一的確切數值,但下表提供了幾種典型組合的範例。

「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 account 實施交易限速。

下達 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 account 下達限價訂單為例,其中 60% 在 3 秒後成交,40% 在 8 秒後取消:

  • 訂單罰分 = (1 * 60%) + (7 * 40%) = 3.4 點

  • 每分鐘訂單事件 = 60 / (3.4 / 3.75) = 66 個事件

作為交易限速的實際範例,以下是訂單下達/取消時罰分計數器如何增加和減少的時間順序記錄。

在此範例中,帳戶類型為 pro level account(因此最大計數器值為 180,衰減率為每秒 3.75),訂單活動是下達 3 個訂單(每 0.5 秒 1 個訂單),然後取消 3 個訂單(使用 FIFO,以便最舊的訂單最先被取消)。

API_ChronologicalExample_10022020.png

除了上述範例之外,我們的交易限速計算器允許針對訂單成交率和訂單生命週期的任何組合,確定最大訂單事件數量。只需幾個變數(例如帳戶驗證級別),即可將訂單事件指定為百分比或絕對數量,計算器將指示所需的組合是否符合交易限速。

其他問題

限速是 Kraken 用來改善所有客戶平台安全性和可用性的多種工具之一。很少有客戶會遇到限速問題。如果您收到限速錯誤,請首先確保您的軟體正常運行。如果您的交易頻率需要限速豁免,Kraken 可以根據具體情況評估客戶,以確保豁免不會對平台安全或可用性構成風險。如有任何問題或請求評估,請聯繫您的客戶經理或聯繫我們的 API 支援團隊

需要更多幫助?