Author Topic: suggestion to witnesses on "the highest one" CNY price feeding model  (Read 15645 times)

0 Members and 1 Guest are viewing this topic.

Offline armin

  • Full Member
  • ***
  • Posts: 133
    • View Profile
Bitcrab I think you need to think of the consequences of the alternative to "one exchange being manipulated." In the current system, using VWAP (Volume weighted average price), if one exchange is manipulated the feed price will slightly move downward, and the amount it moves downwards will be less than the amount on the manipulated exchange.

However, if you take "the highest one" model, you can just put a buy wall at a higher price than all other exchanges and the price will be very hard to move downwards. While I agree this will probably result in higher prices, it will inevitably lead to the price not actually reflecting what the market thinks BTS is worth - which is the problem VWAP was designed to solve. Doing so can create larger volatility (and more profit opportunities), so I guess it depends what the Bitshares community wants in the BTS market.
« Last Edit: September 04, 2018, 11:38:10 am by armin »

Offline gghi

  • Hero Member
  • *****
  • Posts: 510
    • View Profile
  • BitShares: ttt888
应该是外盘取平均,与内盘取最大,看内盘深度,如果到达某个理想深度,就取消外盘喂价

       感谢见证人讨论喂价问题。希望再提高喂价,努力消除溢价,让锚定更加精确。已经投票支持了。


Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12920
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
for example, if many witnesses adopt "the highest price" model, and at one moment in one referenced exchange some unusual event happen and provide wrongly too high price that do not reflect the market status, how should the witnesses handle this? directly adopt the price will bring a disaster, I think witness need to have some logic, such as "if one exchange price is 20% higher than the average, give up it" , to filter out this kind of price.
Most witnesses have a fail-safe that does not push prices that are outside boundaries .. a price fall of 5% or more within 5 minutes must be manually confirmed.

Other strategies could well be to tune a price feed script to filter our "misbehaving" exchanges (outliners), but that's up to the witnesses to implement.

What we have seen recently was not an outliner but general market sentiment.

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1920
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab
we all trust market, but in the real market the arbitrage is not always easy, if you want to do arbitrage between polo "BTS/BTC" pair and DEX "BTS/bitCNY" pair, you need to go through a long trading chain and always cost much time, so if in the referenced exchanges there are big price difference, adopt the highest is a good choice - always select the highest price make sense.

feed price do not necessarily reflect the instant market price fall, system should avoid the feed price be pulled down by sudden events in single exchanges,.that's why "the highest one" suggestion comes out.

surely there should be some "price fire wall" setting to avoid adopting unreasonable too high prices.

Let's not start "fighting the market" .. if *VOLUME SUPPORTS* a price crash, then the feed should acknoledge that fact and call for margin.

A price firewall is nuBits-style manipulation and we all know how that ended. So, either the market decides or the reserves are wasted into the markets for trying the achieve the impossible: "force a price".

I feel here is misunderstanding to the price fire wall.

for example, if many witnesses adopt "the highest price" model, and at one moment in one referenced exchange some unusual event happen and provide wrongly too high price that do not reflect the market status, how should the witnesses handle this? directly adopt the price will bring a disaster, I think witness need to have some logic, such as "if one exchange price is 20% higher than the average, give up it" , to filter out this kind of price.
Email:bitcrab@qq.com

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12920
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
we all trust market, but in the real market the arbitrage is not always easy, if you want to do arbitrage between polo "BTS/BTC" pair and DEX "BTS/bitCNY" pair, you need to go through a long trading chain and always cost much time, so if in the referenced exchanges there are big price difference, adopt the highest is a good choice - always select the highest price make sense.

feed price do not necessarily reflect the instant market price fall, system should avoid the feed price be pulled down by sudden events in single exchanges,.that's why "the highest one" suggestion comes out.

surely there should be some "price fire wall" setting to avoid adopting unreasonable too high prices.

Let's not start "fighting the market" .. if *VOLUME SUPPORTS* a price crash, then the feed should acknoledge that fact and call for margin.

A price firewall is nuBits-style manipulation and we all know how that ended. So, either the market decides or the reserves are wasted into the markets for trying the achieve the impossible: "force a price".

Offline roelandp

  • Full Member
  • ***
  • Posts: 114
  • Witness, dad, kitesurfer, event organiser
    • View Profile
    • RoelandP.nl
  • BitShares: roelandp
  • GitHub: roelandp
"bitasset.feeds.count(o.publisher)" That error usually means you are trying to publish a feed for an asset where you are not allowed to publish assets.
Are you still active witness?

Thx Fabian, thats what I also thought at first. However I made mistake with the config file. Whoops. Fixed now and integrated a weighted magic-wallet into my pricefeed.

Offline gghi

  • Hero Member
  • *****
  • Posts: 510
    • View Profile
  • BitShares: ttt888
             我想阐述一下喂价,我是去年开始研究BTS的,如有不对请指出。我认为喂价诞生那天起就是为锚定服务的,可事实五年了bitcny对人民币的波动范围很大,极限时候充值费率20%。说明了喂价算法需要修正。当前什么可以证明1bitcny=1yuan,我觉得没有比鼓鼓的充值费率更直观了。所以我建议用鼓鼓的充值费率来修正目前喂价。(即修正后的喂价=鼓鼓充值费率+见证人的喂价)如果费率上升,那么喂价上升可以减少爆仓单的抛压,会阻止bitcny继续升值。如果熊市里bitcny继续升值,对市场将会是非常严重的打击。


    I would like to elaborate on the price. I opened it last year to study BTS. If there is anything wrong, please point out. I think the price of feeding has been anchored since the day it was born, but the fact is that for five years bitcny has been volatile with a 20% premium rate on the RMB. It is shown that the feeding algorithm needs to be corrected. At present, what can prove 1bitcny=1yuan, I think there is nothing more intuitive than the bulge recharge rate. So I suggest that we use drum charging rate to correct the current feed price. If the rate rises, then the increase in the feed price can reduce the pressure on the explosion warrant and prevent the Bicny from rising. If bitcny continues to appreciate in bear market, it will be a serious blow to the market.
« Last Edit: August 15, 2018, 05:57:46 am by gghi »

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1920
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab
Every witness need to add the BTS trading pair of magicwallet+fee/CNC(AEX)/QC(ZB)/USDT(HUOBI,ZB,GATE,AEX) to the feed price.

I think this is were we should go.

The purpose of the volume-weighted average (in contrast to median) strategy is to let market decide the actual price.
Assuming strong arbitrage, we can say that the volume of that exchange that has the fairest valuation of BTS price also has
the highest volume. With the volume-weighted average, this would also result in a higher weight in the feed calculation at
the witnesses.

I'd say, let the market decide for a "fair" price of BTS (in CNY) and

* add DEX to price feeds
* keep CEXs in price feed
* add magic wallet to price feeds

After that, derive *volume-weighted average*.

If market decides that 1 bitCNY is worth 1.06 CNY, then the 6% premium is market driven and could be justified by the additional utilty of smartcoins - IMHO

if we agree that BTS needs to provide more convenience to longers and make shorting more difficult, then the "volume-weighted average" do not make big sense.

DEX price should be the base price reference, not only because it is our native/local/own exchange, but also because it is decentralized and transparent and free of faded trading data.

CEXs with high volume, good liquidity and good API can also be take as referenced exchanges.

we all trust market, but in the real market the arbitrage is not always easy, if you want to do arbitrage between polo "BTS/BTC" pair and DEX "BTS/bitCNY" pair, you need to go through a long trading chain and always cost much time, so if in the referenced exchanges there are big price difference, adopt the highest is a good choice - always select the highest price make sense.

feed price do not necessarily reflect the instant market price fall, system should avoid the feed price be pulled down by sudden events in single exchanges,.that's why "the highest one" suggestion comes out.

surely there should be some "price fire wall" setting to avoid adopting unreasonable too high prices.
Email:bitcrab@qq.com

Offline armin

  • Full Member
  • ***
  • Posts: 133
    • View Profile
I checked the witness list and it seems like he's active

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12920
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
"bitasset.feeds.count(o.publisher)" That error usually means you are trying to publish a feed for an asset where you are not allowed to publish assets.
Are you still active witness?

Offline roelandp

  • Full Member
  • ***
  • Posts: 114
  • Witness, dad, kitesurfer, event organiser
    • View Profile
    • RoelandP.nl
  • BitShares: roelandp
  • GitHub: roelandp
For now I have adjusted my weighted inputs from several market API feeds. It results in lesser banding from my feed, closer in the -0.7% +0.7% range of the median. I have applied and tested the magicwallet api by using the btsprice tool, however it is currently giving me an `Assert Exception: bitasset.feeds.count(o.publisher):` when trying to publish with the adjusted code. I will try to debug this and see how to get magicwallets data added to my feed-weighing. Thank you.

Offline gghi

  • Hero Member
  • *****
  • Posts: 510
    • View Profile
  • BitShares: ttt888
          看看现在内盘的惨状,如果内盘的及时成交价是博弈的结果,那么喂价完全是人为的结果。为什么我们可以接受喂价长期低于外盘,而不能接受喂价长期高于外盘?当前的喂价必须修正,结果最好是略高于外盘才比较合适,望大家努力改变当前的现状,勇于改革。




Offline PTS中国

  • Sr. Member
  • ****
  • Posts: 416
    • View Profile
  • BitShares: ptschina
 :) 很开心能见到社区里有意义的讨论 喂价是比特股的价值基石(强平引信) 也是系统锚定外盘价格的信息桥梁 当鼓鼓的充值费率为正X 喂价补偿X 换句话说 就是强平阈值变相降低了X 但这个真的好吗?分析一下利弊,益处:
1、小幅提高做空的成本,强平风险小幅走低,利于抵押制造流动性
2、喂价的可控性变灵活,理事会调节市场流动性能力小幅增强
弊端:
1、损害了喂价功能去信任化的天然价值,内外盘市场价格信息传递失真
2、强平阈值改善有限,喂价提高10%,爆仓价降低10%,但鼓鼓充值费率趋近0以后,喂价必然随动恢复等值,此时可能会导致贴线抵押单批量爆仓,反而打击了内盘的价格,有副作用
3、由于仅是小幅改善流动性,鼓鼓充值费率很难得到明显降低,该强平时依然强平,锚定精度无法明显改善

综上所述,个人认为喂价随动充值费率的改进弊大于利,权衡之,不建议采用执行。

当下之际,改善锚定精度的进化确是社区发展所急,光反对不支招显然不可取,在改善提高锚定精度的过渡期,建议我们简单改进一下爆仓机制,转换一下思维,强平时为何要以惩罚币价的形式抛出爆仓单?完全可以以奖励的模式强平嘛,简单说,就是系统强平单不以1/1.1的价格挂单砸盘,而是以喂价平价挂爆仓单,这个时候 市场竞速买到爆仓单延迟一个固定时间奖励10%的BTS,强平单如此改进后一点都不打击币价,强平强平强力平价挂出嘛,且慢,有铁粉会说,既然辛苦努力抢到有奖励的爆仓单,我完全可以选择卖掉10%奖励的BTS;且慢 这里存在两个因素了,一是空头愿意卖掉不等于其他抢到爆仓单的买入方都愿意砸盘(特别是多方),换言之,空头很难砸到原来1/1.1的低位币价,从而可以有效的延缓空头借助爆仓单达到的循环爆仓打击币价之目的,二是延期给付的奖励BTS会有保价的效应,作为普通交易者买到爆仓单后,奖励的BTS还没到手,肯定不舍得死命砸盘来获得后期折价的奖励,延期之后,至少可以有效延缓币价的拋压,从而促进锚定的精准性,这样的改进完全不伤及系统喂价的公允价值与这个信息桥梁的去信任化天然价值,而效果却是显而易见的。 :)
--------

PTS中国

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1920
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab
proxy bitcrab unvote witness roelandp as the feed price keeps 2% more lower than the BTS price in DEX.
Email:bitcrab@qq.com