跳转到主要内容
所有收藏VIP 专区机构客户
什么是BIT做市商保护功能(MMP)?
什么是BIT做市商保护功能(MMP)?
超过 4 个月前更新

简介

做市商保护(Market Maker Protection, MMP) 是一种为流动性提供者设计的保护机制,该机制能够防止做市商的订单在短时间大量成交。一旦某个账户在短时间内的总交易额超过了配置的限额,该账户的做市商保护将被触发。当做市商保护被触发时,账户现有的做市商保护订单(被标记为做市商保护的订单)将被交易引擎自动取消,而该账户新的做市商保护订单将在未来一段时间(称为冻结期)被拒绝。用户可以利用这段时间重新评估行情并修改报价。

开启做市商保护

用户需要联系BIT的客户经理来开启或关闭账户的做市商保护功能。做市商保护的四个参数如下表所示:

注意:币本位衍生品、USDT本位衍生品、以及现货的做市商保护参数是各自独立开启和配置的,彼此互不影响。

时间窗口

window_ms

计算交易量和净交易Delta的时间窗口的大小与限制。

冻结期

frozen_period_ms

一旦触发了MMP的冻结期长度。0表示账户将保持冻结状态,直到手动重置。

数量限制

qty_limit

时间窗口内交易总量的限制。

Delta限制

delta_limit

时间窗口中的交易的净交易delta的限制。

做市商保护默认配置参数如下:

现货交易

币对

时间窗口

window_ms

冻结期

frozen_period_ms

数量限制

qty_limit

delta限制

delta_limit

BTC/USDT

5000

100

100

100

BTC/USD

5000

100

100

100

ETH/USDT

5000

100

3000

3000

BCH/USDT

5000

100

5000

5000

币本位衍生品

币种

(币本位期权/合约)

时间窗口

window_ms

冻结期

frozen_period_ms

数量限制

qty_limit

delta限制

delta_limit

BTC

5000

100

100

100

ETH

5000

100

3000

3000

BCH

5000

100

5000

5000

USDT本位衍生品

币种

(USDT本位期权/合约)

时间窗口

window_ms

冻结期

frozen_period_ms

数量限制

qty_limit

delta限制

delta_limit

BTC

5000

100

100

100

注意:币本位衍生品的做市商保护参数按照币种独立,USDT本位衍生品的做市商保护参数按照币种独立,现货交易的做市商保护参数按照交易对独立,参数分别可以按照币种/交易对个性化配置。


说明:

做市商保护订单

做市商保护机制只影响做市商保护订单,即把字段`mmp`设置为`true`的订单。只有做市商保护订单的交易才会被计算在内,当做市商保护机制被触发时,只有做市商保护订单会被取消或拒绝。

做市商保护监控

对于每个开启了做市商保护功能的账户,交易引擎将实时监控过去时间窗口`windows_ms`中的交易总量和净交易delta。

mceclip0.png

图 1 - 做市商保护监控的示例

见图1的例子:一个配置为`window_ms = 300`的账户。其做市商保护订单有4笔交易,分别在时间140、200、340和500。当前时间是560,落入时间窗口(260,560)的交易将被计算在内,即T3和T4。如果T3和T4的总数量或净交易delta超过了配置的限制,做市商保护将被触发。

做市商保护的限制

做市商保护对两种类型的交易指标进行限制:总数量和净交易delta。

交易中单个订单的数量和净交易delta的定义:

产品类型

数量

净交易 delta

币本位期权

|qty|

qty * (delta - mark price)

币本位合约

|qty| / mark price

qty / mark price

USDT本位期权

|qty|

qty * delta

USDT本位合约

|qty|

qty * 1

现货

|qty|

qty * 1

`qty`是订单的定向交易量--买入为正,卖出为负。

对于一组交易,总数量和净交易Delta就是各笔交易的数值总和。总数量对照`qty_limit`,净交易delta总和的绝对值对照`delta_limit`。如果其中任何一项到达或超过限制数额,该账户的做市商保护将被触发。

做市商保护机制触发

做市商保护触发时账户现有的做市商保护订单将全部被取消,该账户在`frozen_period_ms'长度的期间内不能下新的做市商保护订单。如果`frozen_period_ms`被配置为0,账户将被无限期冻结,直到用户重置。如果一个被冻结的账户试图下一个新的做市商保护订单,该订单将被拒绝或在匹配前立即被取消。一旦做市商保护被触发,该账户以前的交易将不会被之后的做市商保护监控计算在内。

做市商保护不会中断一个正在进行的匹配过程。换句话说,做市商保护的触发总是发生在上一个订单的匹配完成之后、下一个订单的匹配开始之前。例如,一个做市商账户的 "qty_limit "为30,有5笔挂单,每个订单卖出20份合约。一位买家需要买入100份合约。

如果这位买家用一个订单买入100份合约,所有5个做市商订单将在做市商保护触发前被执行。

如果这位买家下2笔订单,每笔订单分别买入50份合约,做市商保护将在第一个订单成交后立即触发。剩下的3个做市商订单(其中一笔订单已部分成交10份合约)将在做市商保护触发时被取消。

做市商保护API

下做市商保护订单的API与下普通订单的API相同。用户只需在请求中把`mmp`字段设置为`true`即可。

MMP API:

  • 查询MMP状态

获取账户当前的做市商保护状态,包括MMP配置、冻结状态、冻结结束时间等。

  • 更新MMP配置

更新账户的做市商保护配置。开启做市商保护功能后,您就可以通过API修改做市商保护参数。

  • 重置MMP状态

如果账户被冻结,MMP重置将清除冻结状态,这样账户就可以立即开始下做市商保护订单。

如果账户没有被冻结,MMP重置将从未来的MMP监控中清除以前的交易,即不再将其计入总数量和净交易delta。

  • Websocket channel mmp_frozen

用于订阅做市商保护触发的事件。

举例说明

例1

一个账户将时间窗口windows_ms 设置为 1000,delta_limit 设置为 10.

  • [时间10000]一个做市商保护币本位期权订单 BTC-31JAN20-8000-C成交,净交易delta+8。

(总数量 = 8)

  • [时间 10500] 一个做市商保护币本位期权订单BTC-31JAN20-8000-P成交,净交易delta -5。

(总数量 = +8 - 5 = 3)

  • [时间 10900] 一个做市商保护币本位BTC永续合约订单成交,净交易额为+6。

(总数量 = +8 - 5 + 6 = 9)

  • [时间 11200] 一个做市商保护币本位期权订单BTC-31JAN20-8000-C成交,净交易额为+7。

(总数量 = -5 + 6 + 7 = 8)

在以上过程中,做市商保护没有被触发,因为该账户的净交易Delta在任何1000毫秒的时间窗口中都没有累计超过10。

例2

账户A的数量限制qty_limit = 10, 账户B的delta_limit = 10, 账户C的delta_limit = 20. 假设BTC币本位永续合约的当前标价为10,000USD/BTC。

  • 账户A下了一个BTC币本位永续合约做市商保护订单,数量=+150,000 USD。

  • 帐户B下了一个BTC币本位永续合约普通订单(非MMP订单),数量=+150,000 USD。

  • 账户C下了一个BTC币本位永续合约做市商保护订单,数量= - 500,000 USD,并与上述两个订单撮合成交。

做市商保护监控的结果:

帐户A触发了做市商保护,他的总数量为|150000| / 10000 = 15,超过了qty_limit的10。

帐户B没有触发做市商保护,因为帐户B的做市商保护订单没有交易。

帐户C的做市商保护被触发,他的净交易delta为-300000 / 10000 = -30。|-30| 超过了设置的delta_limit 20。

例3

一个账户将现货币对BTC/USDT的时间窗口windows_ms 设置为1000,qty设置为200,delta_limit 设置为 100.

现货币对BTC/USD的时间窗口windows_ms 设置为1000,qty设置为200,delta_limit 设置为 100.

  • [时间10000] BTC/USDT 币对买入80个 BTC 做市商保护订单成交

  • [时间10000] BTC/USD 币对买入80个 BTC 做市商保护订单成交

    • BTC/USDT币对qty = |80|,净交易 delta+80,做市商保护未触发

    • BTC/USD币对qty = |80|, 净交易 delta+80,做市商保护未触发

  • [时间10200] BTC/USD 币对买入90个BTC做市商保护订单成交

    • BTC/USDT 币对 qty = |80|, 净交易 delta+80, 做市商保护未触发

    • BTC/USD 币对 qty = |80|+|90|=170,净交易 delta = |+80+90| =170>100,做市商保护触发

  • [时间10400] BTC/USDT 币对卖出入150个 BTC 做市商保护订单成交

    • BTC/USDT币对 qty =|80|+|-150| = 230>200, 净交易delta = |+80-150| =70, 做市商保护触发

这是否解答了您的问题?