交易速率限制

上次更新时间: 2025年12月11日

我们的 RESTWebSocket API 使用交易限速来保护 API 免受恶意使用,并保护我们的市场免受订单簿操纵。

我们的交易限速旨在为所有市场参与者维护公平的市场,同时为不同类型的交易者(投资者、活跃交易者、自动化交易机器人等)提供所需的资源。

大多数交易者永远不会遇到交易限速,但对于那些以高于寻常的频率下达/取消订单或下达/取消大量订单的交易者,可能会达到限速,从而导致 EOrder:Rate limit exceeded 错误。

请注意,交易限速对每个货币对单独适用,因此达到一个货币对(例如 XBT/USD)的限速不会影响任何其他货币对(例如 LTC/EUR)的交易。

对于许多交易者来说,了解交易限速算法的具体细节并非必要;只需大致了解在特定时间内可以发生多少订单事件(本质上是回答问题 "我每分钟可以下达/取消多少订单?")即可。

由于订单事件(下达、执行、取消)和订单生命周期(订单在订单簿上保留多长时间)的组合可能无限多,因此无法提供一个单一的精确值,但下表提供了几种典型组合的示例。

“中级”和“专业”列表示 账户验证级别,以及在不达到交易限速的情况下,每分钟可以持续发生的订单事件的最大数量。

 

Rate limits combinations

如上所示,将账户验证到更高级别、提高订单成交率或延长订单生命周期都将显著降低限速使用量,从而允许每分钟持续发生更高数量的订单事件。

我们的交易限速基于一个计数器,该计数器在订单下达和取消时增加,并以固定的衰减率随时间减少。当此计数器超过最大值(该值取决于 账户验证级别)时,就会达到限速。每种账户类型的最大计数器值(达到限速的值)如下:

  • 标准验证 (以前称为中级) = 125

  • 更高限额验证 (以前称为专业) = 180

衰减率(计数器减少的速度)也基于账户验证级别。以下是每种账户类型的衰减率:

  • 标准验证 (以前称为中级) = 每秒 2.34

  • 更高限额验证 (以前称为专业) = 每秒 3.75

限速计数器随着每个订单事件(下达或取消)的发生而增加,其中订单取消导致最大的增加。下表显示了每种订单事件的计数器增加量(称为惩罚):

Rate Limits

备注:

  • 1 对于批量订单惩罚,n = 批量中的订单数量。

  • 2 编辑订单也会产生 1 点的订单下达惩罚。

  • 3 作为失败的 IOC 订单自动取消的订单不会产生任何取消惩罚。

  • 4 修改订单也会产生 1 点的订单下达惩罚。

  • 5 被拒绝的仅限挂单最初被接受,但随后自动取消,下达会产生 1 点惩罚,取消会产生 8 点惩罚(总计 9 点)。

以下示例说明了最大计数器值、因订单事件导致的计数器增加以及因衰减率导致的计数器减少如何结合起来,为专业级别账户实施交易限速。

下达 20 个限价订单并在 3 秒后取消每个订单,将产生每个订单 9 点的惩罚,或累计总计 180 点:

  • (20 个订单 x 1 个订单下达点)+(20 个订单 x 8 个订单取消点)= 180 点

然后,180 点的惩罚将以每秒 3.75 点的速度减少,因此只需 1 秒即可下达三个新订单(因为每个新订单都会产生 1 点订单下达惩罚),但需要 48 秒才能完全清除限速(回到零):

  • 180 点 / 每秒 3.75 点 = 48 秒

以下计算显示了如何在不达到速率限制的情况下,确定每分钟可维持的最大订单事件数:

  • 订单惩罚 = (惩罚点数 * 成交率) + (惩罚点数 * 成交率) ... (最高 100%)

  • 每分钟订单事件数 = 60 秒 / (订单惩罚 / 衰减率)

以专业级账户下限价订单为例,其中 60% 在 3 秒后成交,40% 在 8 秒后取消:

  • 订单惩罚 = (1 * 60%) + (7 * 40%) = 3.4 点

  • 每分钟订单事件数 = 60 / (3.4 / 3.75) = 66 个事件

作为交易速率限制的一个实际示例,以下是惩罚计数器在订单下达/取消时如何增加和减少的时间顺序记录。

在此示例中,账户类型为专业级账户(因此最大计数器值为 180,衰减率为每秒 3.75),订单活动是下达 3 个订单(每 0.5 秒 1 个订单),然后取消 3 个订单(使用 FIFO,以便最旧的订单首先被取消)。

API_ChronologicalExample_10022020.png

除了上述示例,我们的交易速率限制计算器允许确定任何订单成交率和订单生命周期组合下的最大订单事件数。只需几个变量(例如账户验证级别),即可将订单事件指定为百分比或绝对数量,计算器将指示所需的组合是否符合交易速率限制。

其他问题

速率限制是 Kraken 用于提高所有客户平台安全性和可用性的几种工具之一。很少有客户会遇到速率限制问题。如果您收到速率限制错误,请首先确保您的软件运行正常。如果您的交易频率需要速率限制例外,Kraken 可以根据具体情况评估客户,以确保例外不会对平台安全或可用性造成风险。如有任何疑问或需要评估,请联系您的客户经理或联系我们的 API 支持团队

需要更多帮助吗?