为什么自己构建
另一种做法是直接消费别人的预言机,而这种安排的失效模式早有充分记录。交易场所引用的价格,如果反过来又受自己这个市场影响,就形成了一个闭环——某处的一次扭曲,会在另一处变成一连串强制平仓。 自己构建意味着数据源、权重和阈值全部可查、可调,而且没有任何一项回指本交易场所自己的订单簿。从各家报价到一个数
归一化并换算计价货币
把每个数据源限幅至中位数 ± 带宽
按成交量、价差与稳定性加权
给单一场所的权重设上限
指数价格
这样接下来取的中位数才是在可比的数之间取的
主流加密资产 1% · 稳定币 0.5% · 其他 3%
稳定性拿近期成交量对比更长周期,某家场所的突然放量买不到影响力
报价再好看也一样
它是输入,不是成交价——没有订单按指数成交
交易所行情源进,一个数出
这一步去掉了什么
选限幅不选剔除:剔除等于让攻击者把某一家推远就能缩小样本,剩下每个数据源的权重反而被抬高。
选限幅不选剔除是刻意的。剔除异常值,等于让攻击者只要把某一家推远就能缩小样本,剩下每个数据源的权重反而被抬高。限幅则让每个数据源都还算数,同时限定任何一家能拉动多远。
按质量加权:各数据源按加权平均合并,不是等权,依据三个因子:
- 成交量——真实换手更多的场所携带更多信息
- 价差——订单簿越窄,报价越有把握
- 稳定性——近期成交量与更长周期均值的对比,这样某家场所的突然放量买不到影响力
数据源出问题时
三道防线持续运行,各自应对一种不同的失效。
当某个数据源的权重归零时,其余权重按比例放大。指数不会因为一家场所断线而跳空。
买卖盘交叉——买价等于或高于卖价——不是可交易的市场,是坏掉的行情源。接受它,等于让一家发生故障的场所往聚合结果里塞一个任意的中间价。
更新节奏与陈旧判定
指数大约每三秒重算一次,并在共识内被认证,因此一笔交易结算所依据的价格,是由提交该交易的同一组验证者法定人数签名的。认证如何运作参见预言机。 验证者签名之前会检查新鲜度:读数陈旧就宁可不提交,也不把一个旧值报上去。到了下游,标记价格会把超过约十秒的指数当作这个区块内不可用,没有它照样往下算。指数价格不是标记价格
正因为把两者分开,标记价格才能反映本地状况——本交易场所上真实存在的溢价或折价——同时又不至于只反映本地状况。
后续阅读
标记价格
指数如何变成那个主宰你仓位的数字。
资金费率
标记价格与指数之间的差距如何定价与结算。
预言机
共识内的认证,以及为什么价格可用性会限制出块。
风险披露
还剩下哪些价格风险,以及它们可能带来的代价。