会自己追行情的喂价曲线:预言机外推报价的算式与盲区 图 1
会自己追行情的喂价曲线:预言机外推报价的算式与盲区 · 图 1

很多人以为协议是「一个东西」,链只是它跑的场地;真实的结构更接近分店。不过在借贷参数之外,还有一类更容易被忽略的「分店差异」发生在喂价环节:同一对价格,在一条链上由外推曲线驱动,在另一条链上只允许真实报价。看懂外推报价这条曲线,比记住「预言机很安全」有用得多,因为它直接决定清算在什么价位、什么时刻动手。

先分清两种「旧价」。最保守的价格源在超过预设时限没有新报价时,要么沿用最后一条真实报价,要么直接停止供数,让依赖它的协议挂起相关功能。带外推机制的价格源走的是第三条路:它把最近一条真实报价连同上一段行情信息当作起点,按一条预先写死的曲线继续往前推若干个时间步,每一步给出一个临时价格。外推出来的数字仍然带着「系统生成」的标记,在数据结构上与真实报价可以区分;但下游合约如果只读数值不读标记,两者就用得一模一样,风险从这里开始不对称。

外推曲线多数是二次型:价格随距上一条真实报价的时间增量,按带曲率的轨迹移动,曲率方向由上一段真实行情的涨跌决定。这个设计在单边行情里表现很好——真实报价还没来得及更新的那几十秒,外推价已经沿着原方向爬了一段,清算引擎不至于拿着明显过时的价格放行抵押率临界的大额借款。代价出现在拐点:行情由涨转跌的那一瞬间,外推价还在按惯性往上追,报出一个既高于旧真实价、又高于现货价的「三不像」数字。对借款人是误清算的高危窗口;对清算执行方,这是抵押品被系统性地标贵、无人接盘的时段。

接入外推价格源的协议,用户值得核对三件事。第一是外推能走多远:曲线一般有步数或时间窗上限,超出后停止供数而不是无限外推,上限值在价格源与协议各自的文档里都能查到。第二是协议怎么对待带标记的外推报价:有的借贷市场在报价处于外推状态时只允许还款和查看仓位,冻结新增借款甚至暂停清算触发;有的协议不做区分,直接当真实价用。第三是曲率上限:二次项系数、每步最大涨幅这类参数决定了拐点上外推价最多能飘离现货多远,是估算误清算敞口时的关键边界。

还要提防一种误读:外推价不是预言,它不知道行情会不会继续。单边惯性只是统计上常见,不是保证,闪崩与拉盘恰恰经常披着「上一段行情」的外衣出现。极端时段里,价格源给出的外推读数与现货深度背离,可能同时触发两头损失——借款人按虚高价格被清算,清算人又按虚低处置价接货。评估某笔仓位的尾部风险时,把它放进「外推价偏离现货若干个百分点」的场景里压一遍,比只盯当前健康度更接近真实。

日常可以做的三件小事:翻一眼所用借贷协议文档里的价格源说明,确认它引用的喂价是否带外推条款、外推期间风控动作是继续还是挂起;在行情剧烈时段,把喂价刷新频率当作行情温度计,刷新突然密集说明市场进入高波动,需要重新估自己的清算距离;如果某次清算的时间戳与主流现货价对不上,用区块浏览器把当时的链上读数取出来对比一次,你会对这条曲线的量级有直观认识。

各家价格源的外推公式细节、步数上限与参数命名差别很大,本文描述的是这一类机制的共同结构,具体到某个市场应当以其官方文档与合约为准,不要用文章的概括替代协议原文。涉及借贷与清算都有实际损失可能;本文只做机制说明,不构成投资建议,不涉及任何买卖时机判断。