“溢价”是怎么取的? 显然充提费率是不行,范围太窄。
关键主要是见证人之间的币种利率换算差太大,把这个利率换算差能够搞定的话基本也就差不多了。
我想的几个是:
规则1:外部综合指数价格取自与多个外部交易所,这些外部交易所应当由理事会规定,并定期增加及删除,权重可以暂时由喂价提供者自己决定。
如果某交易所停止服务,并且超过 1小时 没有发布任何交易,喂价提供者在喂价脚本中必须设置自动从指数中移除该交易所,直至其交易恢复。
交易所有什么问题需及时提出。
这是为了防止某些见证人还在用币蛋这样几乎没人用的交易所价格。
规则2:采用的内盘价格需要为内盘深度加权中间价:
内盘深度加权中间价 = (深度加权买价, 深度加权卖价) 的中值,其中
深度加权买价 = 在买方成交 “实现额度” 的平均价格
深度加权卖价 = 在卖方成交 “实现额度” 的平均价格
实现额度为:比如50万BTS能够实现买入或者卖出的深度,但是各个交易对的深度情况不一,可能需要区别对待
规则3:喂价提供者需提供汇率换算指数,实际汇率情况并非USD转换为CNY这么简单,因为交易所价格会受到充提费率的影响。
规则4:喂价提供者喂价刷新时间原则上不得小于8分钟一次。
喂价方案:
偏差率=P, P可以是追踪USDT/USD汇率及承兑费率及其它各种因素形成的一个综合指数,喂价的偏差率大概看的话在2%左右,P不能为负。
预喂价=内盘深度加权中间价*权重+外盘深度指数价格×(1+P)*权重
(1+P)*外盘指数价格<=预喂价<= (1.05+P)×外盘深度指数价格
同时加入zhouxiaobao同学的下降粘滞系数Y,
预喂价结果计算出来后,先与旧喂价做比较,
if 旧喂价<=预喂价,
喂价=预喂价
if 旧喂价>预喂价,触发粘滞系数,并每15分钟(重要时间间隔)累积连续旧喂价>预喂价次数作为粘滞系数累积数,如果有旧喂价<=预喂价,累积数清零。
喂价=旧喂价×(1-Y×粘滞系数累积数)
1.05这个数,按照合适的通胀系数搞吧。
外盘深度指数价格再更根据各个交易所做权重分配。
依据将来可能有的机制:1.6-1.35的价格缓冲空间为15.625%,那么粘滞系数可以参考这个值。
Deviation rate=P, P will be a composite index which track the exchange of USDT/USD and acceptor and other factor, the Deviation rate of feed price may be 2%, and P>=0.
Pre feed price = Impact Mid Price of DEX*Weight + Index price of CEX*(1+P)*Weight
(1+P)*Index price of CEX<=Pre feed price<=(1.05+P)*Index price of CEX
Coefficient of viscosity for Price down= Y
When the Pre feed price was calculated out,Comparing the Pre feed price with Old feed price.
if
Old feed price<=Pre feed price
Feed price=Pre feed price
if
Old feed price>Pre feed price
trigger Y, and stats the continuous compounding of Old feed price > Pre feed price every 15 minutes as N
Feed price=Old feed price*(1-Y*N)
if Old feed price<=Pre feed price, reset N.
1.05 as a suitable CPI.
The index pirce of CEX =the sum of the CEX price*weight.