0 Members and 1 Guest are viewing this topic.
Pdex: DEX price that has been modified by bitCNY premium/discount factorPcex: price get from CEXif Pdex>1.2*Pcex: ## to cope with unusual exreme issues. Pfeed = Pcexotherwise: Pfeed = max(Pcex, Pdex)1.2 or 1.02?or 1.05?
Pdex: DEX price that has been modified by bitCNY premium/discount factorPcex: price get from CEXif Pdex>1.2*Pcex: ## to cope with unusual exreme issues. Pfeed = Pcexotherwise: Pfeed = max(Pcex, Pdex)
Quote from: xeroc on November 22, 2018, 12:17:36 pmI agree with @clockwork.It seems to be an art to find a balance. Certainly we've learned alot fromBSIP42 even though some people in the community declare it a failurealready.Maybe we can learn the lessons in such a way that it tells us how to usea dynamic MCR once we have the backend fixed.Sure...My suggestion for dynamic adjustment once the backend is fixed is the following:Set a range and centerpoint for MSSR..Obviously, MSSR can't go below 100% so if we keep 110 as the "centerpoint", we allow witnesses to manipulate MSSR up to 120%.This is our first, go to weapon when fighting a premium or discount.If premium, we reduce MSSR down to 100 to reduce sell pressure and allow DEX price to climb and close premiumIf discount, we increase up to 120 to decrease bitUSD supply and close discount.If we reach either of the limits and STILL in premium or discount, then and ONLY then do we start adjusting the MCR.Again, let's keep something like 175 as a centerpoint and a range within which we can increase or decrease (say 150-200).This means that if you keep your collateral above the max end of the range , you know you're safe making the adjustments predictable.If we go beyond those ranges again, just leave it at those maxiumums or minimums. Behaviour will be the same as we used to have when it comes to premium or discount (sans adjustment) but will happen much less often and within a smaller range.When "returning" from those maximums or minimums, we do it reversely... bring MCR back to centerpoint and then adjust MSSR afterwards (if still needed)
I agree with @clockwork.It seems to be an art to find a balance. Certainly we've learned alot fromBSIP42 even though some people in the community declare it a failurealready.Maybe we can learn the lessons in such a way that it tells us how to usea dynamic MCR once we have the backend fixed.
Quote from: clockwork on November 28, 2018, 08:32:01 amIncreasing MSSR will lower the margin call limit and eat away MORE of the bitUSD supply thus fighting discount without messing with MCR.Similarly, decreasing MSSR will pull those orders away from market price to an extent thus fighting premium.I think it should be our first adjustment before messing with MCR.Please keep in mind that if bitCNY is trading around par value, a big MSSR is only possible to pushes it away, especially when feed price is not adjusted.
Increasing MSSR will lower the margin call limit and eat away MORE of the bitUSD supply thus fighting discount without messing with MCR.Similarly, decreasing MSSR will pull those orders away from market price to an extent thus fighting premium.I think it should be our first adjustment before messing with MCR.
Quote from: xeroc on November 22, 2018, 12:17:36 pmI agree with @clockwork.It seems to be an art to find a balance. Certainly we've learned alot fromBSIP42 even though some people in the community declare it a failurealready.Maybe we can learn the lessons in such a way that it tells us how to usea dynamic MCR once we have the backend fixed.Sure...My suggestion for dynamic adjustment once the backend is fixed is the following:Set a range and centerpoint for MSSR..Obviously, MSSR can't go below 100% so if we keep 110 as the "centerpoint", we allow witnesses to manipulate MSSR up to 120%.This is our first, go to weapon when fighting a premium or discount.If premium, we reduce MSSR down to 100 to reduce sell pressure and allow DEX price to climb and close premiumIf discount, we increase up to 120 to increase bitUSD supply and close discount.If we reach either of the limits and STILL in premium or discount, then and ONLY then do we start adjusting the MCR.Again, let's keep something like 175 as a centerpoint and a range within which we can increase or decrease (say 150-200).This means that if you keep your collateral above the max end of the range , you know you're safe making the adjustments predictable.If we go beyond those ranges again, just leave it at those maxiumums or minimums. Behaviour will be the same as we used to have when it comes to premium or discount (sans adjustment) but will happen much less often and within a smaller range.When "returning" from those maximums or minimums, we do it reversely... bring MCR back to centerpoint and then adjust MSSR afterwards (if still needed)
BSIP42 narrowed the market space of BTS, in DEX, while trading pushed up the price in bitCNY, the feed price always go down as responding according to the negative feedback logic, BTS price in DEX have to follow BTS price in CEX, these discouraged more money to come.
https://www.gdex.io/price here to check the premium data of bitCNY and bitUSD.
If we have a discount and need to increase demand, effective MCR needs to be increased so that people ARE called and their margins BUY bitUSD from the market thus increasing demand.If we stop this from happening or those margin calls are way too far from the market price, the effect is lost... this is why BSIP 42 worked well so far when we had a premium against a ranging market, but completely failed to keep the peg on discount on a dropping market (just look at the charts).It is not nice for those with lower CR but it IS the way to keep a tight peg. And hopefully peopel will learn to keep their CRs high enough.
gdex planned to apply the "max premium" rule in feed price algorithm, also we'd like to show some relevant data in a webpage.the main concept is to get the highest premium of smartcoin in the market, and the calculate out the feed price according to the negative feedback logic.what sense does "highest premium" make?there are 2 purposes before us: (maybe there are more, now we focus on these 2)A: make the smartcoin pegging accurate enough.B. provide some operation space to the market, make the smartcoin ecosystem grow rapidly.obviously BSIP42 contributed greatly to A, however, it seems what the BSIP42 policy slow purpose B, recently there are a lot of discussion and complaints in Chinese community, mainly the voice focus on:BSIP42 narrowed the market space of BTS, in DEX, while trading pushed up the price in bitCNY, the feed price always go down as responding according to the negative feedback logic, BTS price in DEX have to follow BTS price in CEX, these discouraged more money to come.reducing feed price cause more margin calling so need to be careful, increasing feed price do not bring direct hurt to traders.all these are demanding us to optimize the price feeding after understanding the market, I'd like to try some change on the calculation of premium, the point is, calculate several premium out from different routes, finally select the highest one to feed. for example, as shown below we calculated out premiums of bitCNY from 3 routes and finally adopt the highest one - 0.97% as shown below we calculated out premiums of bitUSD from 2 routes and finally adopt the highest one - 1.6%later we will publish this page, hope it can help BTSers to evaluate witnesses' work.
reducing feed price cause more margin calling so need to be careful, increasing feed price do not bring direct hurt to traders.
@clockwork Since you are witness and you have the POWER to feed price, my advice is you can feed price based on your interpretation of BSIP42 and then other witnesses can observe your price feed and follow you if it work better.
last one is too slow to respond to downward movements...maybe it protects from sudden/big margin calls but peg goes to hellneed to keep a state of market price and factor the market movement into those equations
Witness sahkan-bitshares is using Zapata's script to provide the bsip price feeds. In addition to the script I utilize paid services from currencylayer and bitcoinaverage for more reliable currency pricing and increased api availability with closer to real time market pricing.
Quote from: bitcrab on November 16, 2018, 08:21:01 amprice feeding is so important for Bitshares and it need witnesses to pay more attention and efforts on this.witnesses need to publish their algorithm to for voters to evaluate and check with the real feed price.the published algorithm need to include1. how the premium is calculated out.2. how the feed price is calculated out based on premium and other factors.I am sorry that I'll use my voting power to push this thing, after 20th, Nov, I may update voting on witnesses if the behavior on this is not satisfactory. I agree transparency on pricefeed is a must.You can find the up-to-date details of my algorithm there.Note that, I always tryed to be the more transparent as I can:My algorithm and the various changes are discused in my application thread.My pricefeed code is public, and I always used the public version of the code.I've build a tool to help shareholders to monitor the witnesses prices over time, and compare against each other, median feed/dex/cex prices.
price feeding is so important for Bitshares and it need witnesses to pay more attention and efforts on this.witnesses need to publish their algorithm to for voters to evaluate and check with the real feed price.the published algorithm need to include1. how the premium is calculated out.2. how the feed price is calculated out based on premium and other factors.I am sorry that I'll use my voting power to push this thing, after 20th, Nov, I may update voting on witnesses if the behavior on this is not satisfactory.
# => pseudocodeitem = magicwallet_json.find{|item| item['datatype'] == '12h'}premium = (item['depositFiatCNY'].to_f + item['withdrawFiatCNY'].to_f) / (item['depositBitCNY'].to_f + item['withdrawBitCNY'].to_f)if premium < 0.99 premium = [premium, 0.94].maxelse premium = [[1.0, premium].max, 1.06].minendfeed_price = current_feed_price * premium
I find this talk of transparency somewhat disingenuous, as very few witnesses produce a report of their operations periodically.I will soften that to the extent I don't monitor non-English publications, so if there are non-English witness reports out there, great. Would be nice to see them announced on a prominent platform or in the Bitshares_Witnesses channel of Telegram. I asked one Chinese speaker to translate for me once, but he never followed thru. Neither did I in finding another. I think Google translate has probably gotten good enough where it is adequate to bridge the language barrier between Mandarin & English now.I have very consistently published a monthly witness report, I have been more transparent than most witnesses in what I do each month. I have repeatedly stated I use bts_tools for my price feeds. That will change when the MCR fix is released, at which time I will use zapata's price feed script.I have been publishing my reports on steemit, but given the recent changes on that platform I will be moving to the whaleshares platform. I have no idea which sites Chinese shareholders have access to, given their governments censorship of the internet. I will make it a point to update my witness proposal thread here on this forum, to at least provide a link to my full report on Whaleshares.I encourage all witnesses to follow the lead of zapata and myself to improve your level of transparency of ALL of your witness operations, at least those that don't compromise security, not just transparency in how you produce feeds. Maximum respect to you @zapata. As a relatively new witness you set a good example for others to follow.
Quote from: ouresw on November 16, 2018, 03:11:34 pmOur views are slowly becoming more consistent in practice. From the beginning of the reform, I have always suggested that without the chain acceptance function, there is no objective judgment on whether the supply of bitCNY is sufficient or not. Based on this, the strength of the negative feedback should not be too large. In addition, the establishment of the chain acceptance function helps the commercialization and promotion of bitCNY. Now I think the most important thing is to discuss the feasibility of accepting on the chain. By the way, we can also "pull it."WTH? "chain acceptance" "pull it" ? I do agree an lack of objective judgement for BitCNY supply being "sufficient", depends on who you ask. We've heard from bitcrab and his followers. The same thing can be said for all other bit assets.
Our views are slowly becoming more consistent in practice. From the beginning of the reform, I have always suggested that without the chain acceptance function, there is no objective judgment on whether the supply of bitCNY is sufficient or not. Based on this, the strength of the negative feedback should not be too large. In addition, the establishment of the chain acceptance function helps the commercialization and promotion of bitCNY. Now I think the most important thing is to discuss the feasibility of accepting on the chain. By the way, we can also "pull it."
price feeding is so important for Bitshares and it need witnesses to pay more attention and efforts on this.witnesses need to publish their algorithm to evaluate and check with the real feed price.the published algorithm need to include1. how the premium is calculated out.2. how the feed price is calculated out based on premium and other factors.I am sorry that I'll use my voting power to push this thing, after 20th, Nov, I may update voting on witnesses if the behavior on this is not satisfactory.
Quote from: johnson on November 07, 2018, 02:37:43 pm算法里的premium 怎么算出来的?是鼓鼓的充值提现费率吗?premium =Pcex/Pdex-1
算法里的premium 怎么算出来的?是鼓鼓的充值提现费率吗?
Quote from: johnson on November 07, 2018, 04:49:20 am这个算法有个问题,就是起始的时候,那个喂价如果是偏离理想值的,那么就会导致经过很长的时间也调整不到理想值。算法里,至少要考虑一下内盘的价格。完全依赖充值费率这个间接因素有很多弊端。尤其是当市场不景气,充值提现的人都很少的时候,充值费率就更不能保证客观了。如果你坚持认为当前的充值费率就代表了市场对bitcny的需求,那么,按照当前的喂价,就应该去打压抵押单,减少bitcny的产量。就应该有强清,你为什么又要取消强清呢?我们的目的是什么?维持bitcny的锚定精准?要锚定精准,就要动态的调节bitcny产量, 那该强清的时候就强清。但是,这么一来,肯定打压了人们参与bts的积极性。所以,我们的目标不仅仅是维持bitcny的锚定精准,更是要维护bts的发展。所以,当喂价过低的时候,就应该把喂价提高,bitcny折价到1%有什么关系?5%有什么关系?吸引人们进入bts系统,这才是最关键的。margin call已经可以起到打压的作用了,根本用不着强清,强清就是个鸡肋,还是动不动就惹麻烦的鸡肋。不可能放弃锚定精准这一目标。
这个算法有个问题,就是起始的时候,那个喂价如果是偏离理想值的,那么就会导致经过很长的时间也调整不到理想值。算法里,至少要考虑一下内盘的价格。完全依赖充值费率这个间接因素有很多弊端。尤其是当市场不景气,充值提现的人都很少的时候,充值费率就更不能保证客观了。如果你坚持认为当前的充值费率就代表了市场对bitcny的需求,那么,按照当前的喂价,就应该去打压抵押单,减少bitcny的产量。就应该有强清,你为什么又要取消强清呢?我们的目的是什么?维持bitcny的锚定精准?要锚定精准,就要动态的调节bitcny产量, 那该强清的时候就强清。但是,这么一来,肯定打压了人们参与bts的积极性。所以,我们的目标不仅仅是维持bitcny的锚定精准,更是要维护bts的发展。所以,当喂价过低的时候,就应该把喂价提高,bitcny折价到1%有什么关系?5%有什么关系?吸引人们进入bts系统,这才是最关键的。
price feeding become more critical after the BSIP42 implementation.currently the feed price in CNY is 4.5% lower than the latest price, in the past several days the gap was even bigger.according to the negative feedback logic, it's possible and acceptable that the feed price be lower than the latest price, but we still need to review whether there are some flaws here that may hurt the ecosystem.there are always some price gap between DEX and CEX, if the gap is not big enough, we can not expect the gap be removed by arbitrage,if the CEX price keeps a little lower than DEX price, the negative feedback algorithm may respond and reduce the feed price, in some extreme situation the reducing feed price may trigger continuous margin call which is not so necessary.while reducing feed price directly lead to margin call that force sell, increasing feed price do not lead to force buy, witnesses need to be more careful while reducing the feed price.I suggest that we can introduce a "protect discount limit" in the price feeding algorithm, if the smartcoin discount is not bigger than this limit, algorithm does not start the negative feedback process.that's why gdex-witness updated the algorithm as below:Code: [Select]Pdex:BTS price in DEX in smartcoinPf: current feed pricepremium: current premiumscale=1;get Pdex, Pf, premium;while True: get Pdex, Pf, premium; if 0.3%>premium>-0.5%: ##just adopt the current median if the absolute premium is low enough. feed price = Pf; else: feed price = Pf*(1+premium*scale); time.sleep(120); ##update every 2 minutes.I also suggest that each witness publish the price feed algorithm, which can help proxies to review and evaluate the witness work.
Pdex:BTS price in DEX in smartcoinPf: current feed pricepremium: current premiumscale=1;get Pdex, Pf, premium;while True: get Pdex, Pf, premium; if 0.3%>premium>-0.5%: ##just adopt the current median if the absolute premium is low enough. feed price = Pf; else: feed price = Pf*(1+premium*scale); time.sleep(120); ##update every 2 minutes.