标记价格计算
什么是标记价格
标记价格是衡量合约市场的合理价格,用于计算合约的仓位未实现盈亏、Funding rate 结算、仓位强平的判断。可以理解为合约市场最重要的一个价格指标,也是驱动合约市场运转的一个价格。所以,标记价格不能过于敏感的反映市场,也不能过于钝化的反映市场。
标记价格计算
永续合约
永续合约计算标记价格时,会计算3个原始标记价格,然后取这3个原始标记价格的中位数,作为最终的标记价格,标记价格每 1s 更新1次。
1. 标记价格3个原始价格,分别为:
a. Price1:Bitget 合约市场的 Last price
b. Price2:指数价格+Funding rate 计算得到
c. Price3:指数价格+合约盘口基差计算得到
2. Price2 计算逻辑:
a. Price2=指数价格*(1+最新 Funding rate*(距离 Funding rate 下一次结算时间/ Funding rate 结算周期)),其中 Funding rate 结算周期和距离结算时间,单位为 min,具体的时长,根据合约的 Funding rate 结算周期获得,比如8小时为周期的,结算周期时间=60*8=480 min。
b. 举例
i. 当前 BTCUSDT 永续合约的指数价格=91500
ii. BTCUSDT 永续合约的 Funding rate 结算时间为8小时=480 min
iii. 当前时间为14:00,距离下一次结算16:00剩余2小时=2*60=120 min
iv. 最新的 Funding rate=0.01%
v. Price2=91500*(1+0.01%*120/480)=91502.2875
3. Price3 计算逻辑:
a. Price3=指数价格+MA(5分钟的盘口基差)
b. 第一步:计算盘口基差,盘口基差=(买一价+卖一价)/2-指数价格,盘口基差每 5s 计算一次,即一分钟内的0s、5s、10s、15s、...、55s时刻计算盘口基差,买一价、卖一价和指数价格为同一时刻的价格数据。
c. 第二步:计算 5min 的盘口价差算术平均值,MA(5分钟的盘口基差)=(盘口基差1+盘口极差2+...盘口极差60)/60,盘口基差每 5s 更新一次,在数学含义上,每一个盘口基差的权重为1/60.
d. 第三步:得到 Price3=指数价格+MA(5分钟的盘口基差)
4. 最终输出的标记价格=中位数(Price1,Price2,Price3)
5. 特殊场景
a. 行情出现剧烈波动时,可能会出现标记价格落后市场盘口,导致看到仓位的未实现盈亏和最终平仓得到的盈亏有偏差,这个属于正常现象,为了保证用户不被恶意操纵市场价格而被爆仓,标记价格会有一定的钝化来反映市场价格,以避免用户因市场插针而爆仓。
b. 特殊情况下,Bitget 可能会调整 Price3 价格的 MA 时长,或者将标记价格切到 Price1,以适应过于极端的行情。
交割合约
交割合约有2种状态,常规时间和距离交割半小时内,在这两种状态下,标记价格的计算方式会有一些差异。
常规时间(距离交割时间大于30min)
标记价格=指数价格+MA(5min的盘口基差),与上方永续合约的 Price3 计算方式一致。
大部分情况因为交割时间距离当前时间比较远,有时间溢价,会出现标记价格比指数价格高不少或者低不少的情况,都属于期货的正常现象。
距离交割半小时内
标记价格=MA(30min的指数价格),每 1s 计算一次,到交割时间点时,总共有30*60=1800个数值,如果还未到交割时间,则根据进行的时长,计算对应数量的 MA 值,比如交割时间为16:00:00,当前时间为15:45:00,那当前标记价格=MA(15min的指数价格)。