合约交易

指数价格计算

2025-03-13 12:000183

什么是指数价格

指数价格是用来反映标的物在现货市场的价格,通常指数价格需要比较稳定,而当前市场交易所比较多,每家交易所的价格多少都会有点差异,所以,为了得到的指数价格比较稳定,Bitget 会使用主流交易所的现货市场价格,通过加权计算得到稳定的指数价格。

指数价格计算

Bitget 的指数价格,通过获取当前主流交易所的现货市场价格,并根据交易量来计算各个交易所的权重,通过计算加权平均值得到最终的指数价格。

1、交易所价格获取

Bitget 目前接入了 BitgetBinanceCoinbaseOkxBybitGateioMexcBitfinexKraken 等多家交易所的现货市场价格,并会实时接收各个交易所的市场最新价格。

2、权重规则

每家交易所的权重,根据交易所24小时的交易量计算得到,每4小时更新一次交易量和权重,权重的规则为:

交易所 A 的权重=交易所 A 24小时交易量/(交易所 A 24小时交易量+交易所 B 24小时交易量+...),这里分母为当前进入计算的交易所的交易量之和,分子为对应交易所的交易量。指数计算时,最多使用6家交易所。

3、指数价格计算

a、指数价格=交易所 A 现货市场价格*交易所 A 权重+交易所 B 现货市场价格*交易所 B 权重+...,其中交易所的权重之和=1。指数价格至少每1 s 更新一次。

b、特殊处理:

如果任何一个主要交易所的现货价格与所有价格来源的中位数价格的偏差超过 5%,系统将剔除偏离交易所,直至其价格回归到中位数的2%以内。

任何一家交易所的价格超过15 min 未更新,也将会被自动剔除。直至有新的交易,且新的价格在中位数的2%以内。

极端行情下,Bitget 可能会对交易所物理剔除,或者配置成固定的权重,以防止系统性风险。

交易所列表的变化导致前后指数价格偏差大于0.1%时,Bitget 将会采用平滑机制,将原成分交易所计算得到的指数价格平滑过渡到新成分交易所计算得到的指数价格,以避免指数价格跳动。

c、举例

现货交易所

交易对

现货价格

权重

A

BTC/USDT

91500

10%

B

BTC/USDT

91495

20%

C

BTC/USDT

91498

30%

D

BTC/USDT

91502

10%

E

BTC/USDT

91505

15%

F

BTC/USDT

91490

15%

d、根据以上交易所的情况,计算得到的指数价格=91500*10%+91495*20%+91498*30%+91502*10%+91505*15%+91490*15%=91497.85

4、极端行情如何计算

如果出现极端行情,外部市场没有可信任的指数源时,Bitget 可能会使用合约市场的价格,拟合成指数价格,以保证合约正常运转而不受混乱价格的影响。

拟合价格算法

a、通过合约市场的订单簿,计算深度加权买价和深度加权卖价,并得到深度加权中间价=(深度加权买价+深度加权卖价)/2,其中深度加权价计算所需要的订单簿厚度,会根据不同交易对进行配置。深度加权价的计算方式同资金费率计算深度加权价的方式一样。

bTn 时刻的指数价格=α × Tn 时刻的深度加权中间价 + (1−α) × Tn−1 时刻的指数价格,其中 α 为配置值,默认情况配置为0.1818,会根据当时的市场情况,对该参数进行调整。

5、价格转换

如果交易所无想要输出的计价单位的交易对,Bitget 会采用价格转换逻辑,将交易所现有的计价单位的交易对价格,转换为想要输出的计价单位的价格。

比如 Coinbase 当前有 BTCUSD 的现货市场价格,我们需要用 Coinbase 作为数据源,得到 BTCUSDC 的指数价格,因为 USDC USD 不是同一个计价币种,因此我们会将 Coinbase BTCUSD 现货市场价格* USD-USDC 的指数价格,以得到 Coinbase BTCUSDC 等值的现货市场价格。其中 USD-USDC 的指数价格,会通过 BTCUSDC 的指数价格/ BTCUSD 的指数价格得到。