Skip to main content

指数价格

Dederi 指数价格

Dederi 使用的指数价格 (index price) 包括 BTC 指数和 ETH 指数,具体通过对 Bitstamp、Gemini、Bitfinex、Coinbase、Binance 五家交易所的最新现货价格进行以下计算和校验得到。如果存在 3 分钟以上延迟的情况,这个交易所数据将被剔除,只将其余交易所数据纳入指数计算。指数价格每秒更新,具体算法如下:

步骤1:计算指数价格

取各交易所最新中间价作为样本价格 PP
P=Bid+Ask2P = \frac{Bid + Ask}{2}
将这些价格的中位数作为基准价格 BenchmarkPrice\text{BenchmarkPrice}
BenchmarkPrice=median(P1,P2,,Pn) BenchmarkPrice = \text{median}(P_1, P_2, …, P_n)
将所有价格限定在基准价 ±0.5%± 0.5\% 的区间内,得到调整后的样本价格 P~k\tilde{P}_k
P~k=clamp(Pk,BenchmarkPrice99.5%,BenchmarkPrice100.5%) \tilde{P}_k = \text{clamp}(P_k, BenchmarkPrice \cdot 99.5\%, BenchmarkPrice \cdot 100.5\%)
计算等权重平均值得到未经校验指数价格 IndexPrice\text{IndexPrice}
IndexPrice=1nk=1nP~k IndexPrice = \frac{1}{n} \sum_{k=1}^{n} \tilde{P}_k

步骤2:链上校验

将计算出的未经校验指数价格与 Chainlink 和 Uniswap 的指数价格进行价差比较:
min(IndexPriceChainlinkPriceIndexPrice,IndexPriceUniswapPriceIndexPrice)MaxIndexDiscrepancy \min\left(\frac{|IndexPrice - ChainlinkPrice|}{IndexPrice}, \frac{|IndexPrice - UniswapPrice|}{IndexPrice}\right) \leq MaxIndexDiscrepancy
若两组比较的价差中有至少一组比例不超过限定范围 MaxIndexDiscrepancy\text{MaxIndexDiscrepancy} 时,本次计算的 IndexPrice\text{IndexPrice} 有效,作为最终指数价格取用; 反之则提示异常,并根据以下公式计算作为最终的指数价格:
IndexPrice={min(LastIndexPrice(1+MaxIndexDiscrepancy),MedianPrice),LastIndexPrice<MedianPricemax(LastIndexPrice(1MaxIndexDiscrepancy),MedianPrice),LastIndexPrice>MedianPrice IndexPrice = \begin{cases} \min(LastIndexPrice\cdot(1+MaxIndexDiscrepancy),MedianPrice), & LastIndexPrice < MedianPrice \\[5pt] \max(LastIndexPrice\cdot(1-MaxIndexDiscrepancy),MedianPrice), & LastIndexPrice > MedianPrice \end{cases}
其中,LastIndexPrice\text{LastIndexPrice} 为上一刻发布的 IndexPrice\text{IndexPrice}MedianPrice\text{MedianPrice} 计算方法如下:
MedianPrice=median{IndexPrice,ChainlinkPrice,UniswapPrice} MedianPrice = \text{median}\left\{IndexPrice,ChainlinkPrice,UniswapPrice\right\}

示例

在2024年1月9日下午3:22,我们从五个交易所收集了如下市场数据。假设上一秒指数价格为46,212.56。已知 Chainlink 和 Uniswap 提供的价格分别为46,725.12和46,334.29。 Dederi 指数价格算法如下:

价格/交易所BitstampGeminiBitfinexCoinbaseBinance
AskAsk46869.5246873.844684946862.3946838.09
BidBid46869.2146867.884684846860.6146838.08
PP46869.3746870.864684946861.5046838.09
BenchmarkPriceBenchmarkPrice46861.50
P~k\tilde{P}_k46869.3746870.864684946861.5046838.09
未经校验指数价格46857.66
价格校验(IndexPrice - ChainlinkPrice) / IndexPrice = 0.28% (范围内)
(IndexPrice - UniswapPrice) / IndexPrice = 1.12% (范围外)
通过校验,取用
IndexPriceIndexPrice46858

时间加权平均指数价格

时间加权平均指数价格 (IndexTWAP) 是用于计算平滑标记价格的指数算术平均价格。

步骤1:计算时间加权平均指数价格

该值先由链下计算,每 5 秒对标的指数价格进行采样,计算最近 10 分钟采样数据的算术平均值。

步骤2:链上校对

将计算出的时间加权平均指数价格与 Chainlink 和 Uniswap 对应 10 分钟的时间加权平均指数价格进行再校对。若两组比较的价差中有至少一组比例超过限定范围 MaxIndexDiscrepancy\text{MaxIndexDiscrepancy} 时,提示异常:
max(IndexTWAPChainlinkTWAPIndexTWAP,IndexTWAPUniswapTWAPIndexTWAP)>MaxIndexDiscrepancy \max\left(\frac{|IndexTWAP - ChainlinkTWAP|}{IndexTWAP}, \frac{|IndexTWAP - UniswapTWAP|}{IndexTWAP}\right) > MaxIndexDiscrepancy

时间加权平均结算价格

时间加权平均结算价格 (SettleTWAP) 是期货和期权到期结算时使用的指数算术平均价格。

步骤1:计算时间加权平均结算价格

该值先由链下计算,在期货或期权合约到期前 30 分钟内,每 5 秒对标的指数价格进行采样,计算最近 30 分钟采样数据的算术平均值。

步骤2:链上校对

将计算出的时间加权平均结算价格与 Chainlink 和 Uniswap 对应 30 分钟的时间加权平均结算价格进行再校对。若两组比较的价差中有至少一组比例超过限定范围 MaxIndexDiscrepancy\text{MaxIndexDiscrepancy} 时,提示异常:
max(SettleTWAPChainlinkTWAPSettleTWAP,SettleTWAPUniswapTWAPSettleTWAP)>MaxIndexDiscrepancy \max\left(\frac{|SettleTWAP - ChainlinkTWAP|}{SettleTWAP}, \frac{|SettleTWAP - UniswapTWAP|}{SettleTWAP}\right) > MaxIndexDiscrepancy
产品

Dederi RFQ

结构化产品

专业用户

市场数据

服务

文档

隐私政策

服务条款

支持
@Dederi_official

产品

Dederi RFQ

结构化产品

专业用户

市场数据

服务

文档

隐私政策

服务条款

Copyright © 2024 Dederi