Author Topic: Delegates Please Publish Feeds More Often  (Read 20115 times)

0 Members and 1 Guest are viewing this topic.

Offline biophil

  • Hero Member
  • *****
  • Posts: 880
  • Professor of Computer Science
    • View Profile
    • My Academic Website
  • BitShares: biophil
There is no need for short squeeze protection imo. When a margin call happens, the system should take all orders up to a limit defined by collateral.
As the name implies, the short squeeze protection is to protect shorters for overpaying in low-liquidity markets.

Why to do this? Shorters deposit collateral to protect bitAssets. If a shorter can't maintain his collateral, use it all to buy back his debt. What's a problem with this?
Where you sit determines what you say.Where you stand depends on where you sit.

To state it explicitly, people with large short positions want to offload as much of their risk as possible to people on the long side. Hence things like short-squeeze protection and bitcrab's bizarre arguments for nonzero force-settle offsets.

It's things like this that have really weakened my trust in the BitAsset system. It seems that there is a deep incentive problem here:

If BitShares does well, people who took out short positions on BitAssets make a ton of money and gain a large share of the total stake. Since those people have short positions, they have two things:
1. Strong individual incentives to offload risk to longs, and
2. The voting power to make that a reality.

Of course, the whole point of holding BitAssets is that they're supposed to be a place to harbor oneself from price volatility and risk, and in my view, BitAssets are one of the major selling points for Bitshares overall. So if the large shorts vote their own interests myopically (which they have both the incentive and the ability to do), they weaken one of the very pillars that holds up Bitshares itself.

Maybe I'm overstating the importance of BitAssets to the overall Bitshares ecosystem? In any case, I've been aggressively reducing my exposure to BitAssets ever since I realized the magnitude of the incentive problem. The black swan risk is just too great and too difficult to quantify for me to keep significant amounts of my wealth here anymore.
Support our research efforts to improve BitAsset price-pegging! Vote for worker 1.14.204 "201907-uccs-research-project."

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
There is no need for short squeeze protection imo. When a margin call happens, the system should take all orders up to a limit defined by collateral.
As the name implies, the short squeeze protection is to protect shorters for overpaying in low-liquidity markets.

Why to do this? Shorters deposit collateral to protect bitAssets. If a shorter can't maintain his collateral, use it all to buy back his debt. What's a problem with this?
Where you sit determines what you say.Where you stand depends on where you sit.
« Last Edit: January 27, 2018, 06:51:46 pm by abit »
BitShares committee member: abit
BitShares witness: in.abit

Offline yvv

  • Hero Member
  • *****
  • Posts: 1186
    • View Profile
There is no need for short squeeze protection imo. When a margin call happens, the system should take all orders up to a limit defined by collateral.
As the name implies, the short squeeze protection is to protect shorters for overpaying in low-liquidity markets.

Why to do this? Shorters deposit collateral to protect bitAssets. If a shorter can't maintain his collateral, use it all to buy back his debt. What's a problem with this?

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
There is no need for short squeeze protection imo. When a margin call happens, the system should take all orders up to a limit defined by collateral.
As the name implies, the short squeeze protection is to protect shorters for overpaying in low-liquidity markets.

Offline yvv

  • Hero Member
  • *****
  • Posts: 1186
    • View Profile
There is no need for short squeeze protection imo. When a margin call happens, the system should take all orders up to a limit defined by collateral.

Offline biophil

  • Hero Member
  • *****
  • Posts: 880
  • Professor of Computer Science
    • View Profile
    • My Academic Website
  • BitShares: biophil
The root problem is not the feed price and the max short-squeeze ratio.

The root problem is the DEX is very very friendly to the shorter, when someone was forced liquidation, the rest of BTS should be withdraw at least 60%  as a punitive margin by the DEX.

Yes, that's exactly what I'm saying. If I understand it correctly, that's what the max short-squeeze ratio does -- controls the penalty associated with getting margin-called.
Support our research efforts to improve BitAsset price-pegging! Vote for worker 1.14.204 "201907-uccs-research-project."

Offline biophil

  • Hero Member
  • *****
  • Posts: 880
  • Professor of Computer Science
    • View Profile
    • My Academic Website
  • BitShares: biophil
Would it also not be worth increasing the max force settle volume per 24hrs? If it's set to 1% and someone has a margin call greater than 1%, perhaps the DEX couldn't clear the margin call fast enough?

I agree that max force settle volume is WAY too low. But I sort of assumed it didn't affect margin calls.

FWIW, the DEX doesn't clear margin calls -- the traders do. A possibly-bigger problem is the max short-squeeze ratio is only 110%, which means that margin calls are not very aggressive and traders don't have much incentive to buy into the margin call. I suppose USD will probably black-swan today because of it. A very serious problem is that Bitshares is too shorter-friendly, at the expense of people who hold the supposedly risk-free bitassets.

What would the effect of changing the max short-squeeze ratio be specifically? Would you desire it increase of decreased? All committee controlled assets use 110%

In my view (bear in mind that I haven't worked through all of the details here), it should be increased. As I understand it, 110% means that a margin call is settled at the price feed plus 10%, which means essentially that the shorter is assessed a fixed penalty of 10% for letting their collateral ratio get too low. Alternatively, BitAsset holders are offered a 10% premium to trade in their BitAssets for BTS. In wild market swings (especially when the price feeds are lagging the external prices), 10% may be too low to clear a high volume of margin calls and prevent a black swan.

I have a vague feeling that the reason the MSSR exists in the first place is to provide a measure of protection against manipulation. Unfortunately the effect of this is to transfer risk from BitAsset short positions to BitAsset long positions.
Support our research efforts to improve BitAsset price-pegging! Vote for worker 1.14.204 "201907-uccs-research-project."

binggo

  • Guest
The root problem is not the feed price and the max short-squeeze ratio.

The root problem is the DEX is very very friendly to the shorter, when someone was forced liquidation, the rest of BTS should be withdraw at least 60%  as a punitive margin by the DEX.

Offline R

  • Hero Member
  • *****
  • Posts: 1004
    • View Profile
Would it also not be worth increasing the max force settle volume per 24hrs? If it's set to 1% and someone has a margin call greater than 1%, perhaps the DEX couldn't clear the margin call fast enough?

I agree that max force settle volume is WAY too low. But I sort of assumed it didn't affect margin calls.

FWIW, the DEX doesn't clear margin calls -- the traders do. A possibly-bigger problem is the max short-squeeze ratio is only 110%, which means that margin calls are not very aggressive and traders don't have much incentive to buy into the margin call. I suppose USD will probably black-swan today because of it. A very serious problem is that Bitshares is too shorter-friendly, at the expense of people who hold the supposedly risk-free bitassets.

What would the effect of changing the max short-squeeze ratio be specifically? Would you desire it increase of decreased? All committee controlled assets use 110%

Offline biophil

  • Hero Member
  • *****
  • Posts: 880
  • Professor of Computer Science
    • View Profile
    • My Academic Website
  • BitShares: biophil
I have read through this and I agree. I have adjusted accordingly and sped up the price publishing to every 20 minutes. (This is of course the complete opposite of what bitcrab was asking for BitCNY).

Is bitcrab the one who thinks that bitasset risk should be moved from the shorts to the longs?
Support our research efforts to improve BitAsset price-pegging! Vote for worker 1.14.204 "201907-uccs-research-project."

Offline biophil

  • Hero Member
  • *****
  • Posts: 880
  • Professor of Computer Science
    • View Profile
    • My Academic Website
  • BitShares: biophil
Would it also not be worth increasing the max force settle volume per 24hrs? If it's set to 1% and someone has a margin call greater than 1%, perhaps the DEX couldn't clear the margin call fast enough?

I agree that max force settle volume is WAY too low. But I sort of assumed it didn't affect margin calls.

FWIW, the DEX doesn't clear margin calls -- the traders do. A possibly-bigger problem is the max short-squeeze ratio is only 110%, which means that margin calls are not very aggressive and traders don't have much incentive to buy into the margin call. I suppose USD will probably black-swan today because of it. A very serious problem is that Bitshares is too shorter-friendly, at the expense of people who hold the supposedly risk-free bitassets.
Support our research efforts to improve BitAsset price-pegging! Vote for worker 1.14.204 "201907-uccs-research-project."

Offline R

  • Hero Member
  • *****
  • Posts: 1004
    • View Profile
Would it also not be worth increasing the max force settle volume per 24hrs? If it's set to 1% and someone has a margin call greater than 1%, perhaps the DEX couldn't clear the margin call fast enough?

Offline sahkan

  • Sr. Member
  • ****
  • Posts: 247
    • View Profile
    • BitShares DEX
I have read through this and I agree. I have adjusted accordingly and sped up the price publishing to every 20 minutes. (This is of course the complete opposite of what bitcrab was asking for BitCNY).

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
I saw there are 11.3 M USD margin call, but the feed price almost 10% higher than other exhchange. and change very slow.
if the witness still behave like this, the USD will be blackswan more easy.

Quote
if  REAL_PRICE < MEDIAN and YOUR_PRICE > MEDIAN publish price

When attempting to write a market maker the slow movement of the feed can be difficult.

I would recommend the following:

if  REAL_PRICE < MEDIAN and YOUR_PRICE > MEDIAN publish price
if  REAL_PRICE > MEDIAN  and  abs( YOUR_PRICE - REAL_PRICE ) / REAL_PRICE  > 0.005 publish price

The goal is to force the price down rapidly and allow it to creep up slowly.

By publishing prices more often it helps market makers maintain the peg and minimizes opportunity for shorts to sell USD below the peg that the market makers then have to absorb. 

If we can get updates flowing smoothly then we can gradually reduce the spread in the market maker bots. 

*note: all prices in USD per BTSX

iHashFury

  • Guest
Hello

I have just set-up my price feeds https://bitsharestalk.org/index.php?topic=7787.msg159042#msg159042

I hope its correct.

Feedback is appreciated.

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
You don't want to publish the average "error" because then that will motivate everyone using the same feed and updating at the same time.    We want diversity of opinion, we just want it more frequently to adjust to changing market conditions.

Well frequency of updates is one thing. However if most of delegates have publicly available policies you can implement them and check the error according to their policy. And you can have your own policy and check delegate's error according to that. I'm not sure frequency of updates is the best metric as one might frequently publish "wrong"/questionable feeds.

Offline bytemaster

You don't want to publish the average "error" because then that will motivate everyone using the same feed and updating at the same time.    We want diversity of opinion, we just want it more frequently to adjust to changing market conditions.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
How can I check which delegate is doing his job properly and who isn't?
How do I check what feed every delegate publishes?

Basically in simple terms and assuming GUI and windows how can I check the delegates?

I hope BitShares Blocks can gather feed publishing statistics for all delegates including which feeds and frequency of update.

I've added the frequency of feed updates to the delegates info, it's calculated as the average of the number of feed updates over the last 48 hours. Multiple feed update transactions in the same block are only counted once, but I do count updates that are separated by a block or more for now. I can probably get update frequency for each asset added to the delegate page as well, will check that tomorrow.

I picked "updates/day" as the unit as it gives the "nicest" numbers, how many updates per day do you think is good enough?

The best metric I can think of is the average of the delegate feed error. You could pool xeroc's delegate feed difference each hour and provide the average.
However it might not be the "best" as some delegates have different policies. If that is within 2,3% it should be OK. Frequency of the updates is also good.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc

Offline svk

How can I check which delegate is doing his job properly and who isn't?
How do I check what feed every delegate publishes?

Basically in simple terms and assuming GUI and windows how can I check the delegates?

I hope BitShares Blocks can gather feed publishing statistics for all delegates including which feeds and frequency of update.

I've added the frequency of feed updates to the delegates info, it's calculated as the average of the number of feed updates over the last 48 hours. Multiple feed update transactions in the same block are only counted once, but I do count updates that are separated by a block or more for now. I can probably get update frequency for each asset added to the delegate page as well, will check that tomorrow.

I picked "updates/day" as the unit as it gives the "nicest" numbers, how many updates per day do you think is good enough?
Worker: dev.bitsharesblocks

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
maybe someone can proof read the code:
https://github.com/xeroc/pytshares/blob/master/btsx_feed.py

not volume-weights for exchanges yet ..

Offline bytemaster

conclusion:

MEDIAN = median over all other feeds .. aka. median as announced by the wallet's asset status
YOUR_PRICE = my price according to the external feeds
REAL_PRICE = (price of top) bid

thanks .. gonna continue coding my script now

YOUR_PRICE = Your current published price.
REAL_PRICE = Lowest of external feeds
MEDIAN = current median price according to the blockchain.

I went with lowest because it errors on the safe side.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
conclusion:

MEDIAN = median over all other feeds .. aka. median as announced by the wallet's asset status
YOUR_PRICE = my price according to the external feeds
REAL_PRICE = (price of top) bid

thanks .. gonna continue coding my script now

Offline bytemaster

if  REAL_PRICE < MEDIAN and YOUR_PRICE > MEDIAN publish price
if  you haven't published a price in the past 20 minutes
   if  REAL_PRICE > MEDIAN  and  YOUR_PRICE < MEDIAN and abs( YOUR_PRICE - REAL_PRICE ) / REAL_PRICE  > 0.005 publish price
Over here ... what is the REAL_PRICE? is it (ASK+BID)/2
in alt's script this seems to be the median of all feeds .. doesn't feel right because that is the same value as MEDIAN .. isn't it?

I am not so sure it is implemented correctly in alt's script .. could someone shed some light over here and elaborate the above conditions ELI5?

IMHO:

MEDIAN = median over all other feeds .. aka. median as announced by the wallet's asset status
YOUR_PRICE = my price according to the external feeds
REAL_PRICE = (aks+bid)/2

The feed price I would use is the BID price and not look at the ASK at all.    We don't want shorts selling above bids and using the average would give shorts an advantage.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
if  REAL_PRICE < MEDIAN and YOUR_PRICE > MEDIAN publish price
if  you haven't published a price in the past 20 minutes
   if  REAL_PRICE > MEDIAN  and  YOUR_PRICE < MEDIAN and abs( YOUR_PRICE - REAL_PRICE ) / REAL_PRICE  > 0.005 publish price
Over here ... what is the REAL_PRICE? is it (ASK+BID)/2
in alt's script this seems to be the median of all feeds .. doesn't feel right because that is the same value as MEDIAN .. isn't it?

I am not so sure it is implemented correctly in alt's script .. could someone shed some light over here and elaborate the above conditions ELI5?

IMHO:

MEDIAN = median over all other feeds .. aka. median as announced by the wallet's asset status
YOUR_PRICE = my price according to the external feeds
REAL_PRICE = (aks+bid)/2
« Last Edit: September 26, 2014, 06:15:51 pm by xeroc »

Offline mf-tzo

  • Hero Member
  • *****
  • Posts: 1725
    • View Profile

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
In the meantime:
http://coins.die-schuhs.de/feed-stats.txt

updates every 60 minutes


exert:
Code: [Select]
+-------+--------------+--------------+--------------+
| asset | mean         | std          | median       |
+-------+--------------+--------------+--------------+
| GLD   | 0.0000270644 | 0.0000008777 | 0.0000270010 |
| BTC   | 0.0000789535 | 0.0000061072 | 0.0000815500 |
| SLV   | 0.0018470976 | 0.0000921094 | 0.0018818273 |
| LTC   | 0.0071947760 | 0.0003331745 | 0.0073400000 |
| PTS   | 0.0116354766 | 0.0005481988 | 0.0119000000 |
| GBP   | 0.0200669214 | 0.0007995986 | 0.0203000000 |
| EUR   | 0.0257811551 | 0.0011566114 | 0.0262000000 |
| CHF   | 0.0309064409 | 0.0011705949 | 0.0313000000 |
| AUD   | 0.0370756933 | 0.0013665439 | 0.0377000000 |
| CAD   | 0.0363075220 | 0.0013889951 | 0.0368000000 |
| SGD   | 0.0415377541 | 0.0015537817 | 0.0420000000 |
| NZD   | 0.0410527425 | 0.0016140570 | 0.0419000000 |
| USD   | 0.0328552978 | 0.0020171120 | 0.0328000000 |
| TRY   | 0.0735809697 | 0.0027610574 | 0.0747000000 |
| PPC   | 0.0291100338 | 0.0029922361 | 0.0305000000 |
| SEK   | 0.2355237872 | 0.0091941246 | 0.2390000000 |
| HKD   | 0.2538920723 | 0.0096765011 | 0.2570000000 |
| CNY   | 0.2021336492 | 0.0110680912 | 0.2039750000 |
| MXN   | 0.4366923106 | 0.0166829060 | 0.4430000000 |
| RUB   | 1.2651815951 | 0.0489347657 | 1.2800000000 |
| JPY   | 3.5583942107 | 0.1247830890 | 3.6100000000 |
+-------+--------------+--------------+--------------+
+-----------------------------+-----+----------+---------------------------------+
| delegate                    | top | numFeeds | asset                           |
+-----------------------------+-----+----------+---------------------------------+
| cny.bts500                  | 1   | 3        | BTC,  0.00008155 (med  +0.000%) |
|                             |     |          | CNY,  0.20625000 (med  +1.115%) |
|                             |     |          | USD,  0.03362023 (med  +2.501%) |
| bts.coin                    | 2   | 3        | BTC,  0.00007569 (med  -7.186%) |
|                             |     |          | CNY,  0.21500000 (med  +5.405%) |
|                             |     |          | USD,  0.03360000 (med  +2.439%) |
| delegate.bitsuperlab        | 3   | 3        | BTC,  0.00008268 (med  +1.391%) |
|                             |     |          | CNY,  0.20497000 (med  +0.488%) |
|                             |     |          | USD,  0.03343200 (med  +1.927%) |
| google.helloworld           | 4   | 2        | CNY,  0.20420000 (med  +0.110%) |
|                             |     |          | USD,  0.03200000 (med  -2.439%) |
| bimin.coin                  | 5   | 3        | BTC,  0.00007569 (med  -7.186%) |
|                             |     |          | CNY,  0.21500000 (med  +5.405%) |
|                             |     |          | USD,  0.03360000 (med  +2.439%) |
| usd.bts500                  | 6   | 3        | BTC,  0.00008155 (med  +0.000%) |

Offline mf-tzo

  • Hero Member
  • *****
  • Posts: 1725
    • View Profile
Quote
If you define what do you mean by "delegate to do his job properly" I could give better answer.
About the price feeds - they are visible on www.bitsharesblocks.com and as far as I know more statistics will be implemented very soon.

Well...I have no idea what do his job properly should mean..I would assume that it means that they don't miss blocks  but also that they produce price feeds which are fair according to the daily market? I can see now both of this information.

Maybe a good idea, but obviously not a priority is to create videos showing how to trade, how shorting works, what are the obligations of the delegates, what the shareholders should check to see if the delegates do their job etc etc... I know that all these have been extensively discussed in the forum and in the wiki but videos for many lazy people and people who don't speak very good English, or for people who are more visual are much better.

Of course I understand that these videos may not be priority but they have to be made at some point. From my point of view, I trust a couple of delegates in here to do the right thing so I vote them but I am pretty sure that my stake doesn't make much difference anyway.. But if all the small shareholders think like me and do not really know why they vote who they vote, this will not be good imho.. 

Offline maqifrnswa

  • Hero Member
  • *****
  • Posts: 661
    • View Profile
Once BitSharesX gains critical mass this shouldn't be an issue.  We will be the market.

is this true? I'd hope so, but for now the system is feed dependent no matter how large the system gets. We'd need more on/off ramps where bitUSD is accepted for 1 USD in order for the feeds to be replaced by arb bots . Maybe that's what is meant by critical mass, but even then all the market risk is being assumed by the on/off ramps.
« Last Edit: September 26, 2014, 04:34:32 pm by maqifrnswa »
maintains an Ubuntu PPA: https://launchpad.net/~showard314/+archive/ubuntu/bitshares [15% delegate] wallet_account_set_approval maqifrnswa true [50% delegate] wallet_account_set_approval delegate1.maqifrnswa true

Offline Riverhead

Once BitSharesX gains critical mass this shouldn't be an issue.  We will be the market.

Offline bytemaster

Also.. the scripts will need to add premiums to certain exchanges based upon risks in that exchange.

Claiming that the BTC price was the weighted average of Gox and Bitstamp is foolish... there exists a "Gox discount" that should be added to their feed before it can be incorporated...  and that premium changes over time. 

Price feeds are not trivial and ultimately need to come from an internal market rather than an external one.

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline GaltReport

You could always put a configuration to the script that assigns weight on each exchange's feed.
Each delegate might want to tweak the weights depending on his "believes"/policies or whatever.

So, you could have one script with some delegate configurable settings.  Sounds interesting.

I just think the energy spent monitoring and chastising delegates may not be well spent.  Maybe better to just provide the script with some configurable settings and release it under github like the client itself.
« Last Edit: September 26, 2014, 03:34:53 pm by GaltReport »

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
Quote
www.bitsharesblocks.com is a good start. I'm not sure what is available through client GUI.

I am aware of that. I found it very nice but it doen't tell me anything about who I should vote or unvote and why... Or does it?

If you define what do you mean by "delegate to do his job properly" I could give better answer.
About the price feeds - they are visible on www.bitsharesblocks.com and as far as I know more statistics will be implemented very soon.

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
Actually I think it may be beneficial to discount all feeds by 0.995 to give the market makers some breathing room and provide a buffer against down trends.
maybe  you should change this  rule at the wallet? discount the short wall price to 0.995*median price
because we'll disable feed price in the future right?

I would rather the delegates tweak this as necessary than introduce code changes with arbitrary numbers in it.
I have update the script with the discount

Offline mf-tzo

  • Hero Member
  • *****
  • Posts: 1725
    • View Profile
Quote
www.bitsharesblocks.com is a good start. I'm not sure what is available through client GUI.

I am aware of that. I found it very nice but it doen't tell me anything about who I should vote or unvote and why... Or does it?

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
You could always put a configuration to the script that assigns weight on each exchange's feed.
Each delegate might want to tweak the weights depending on his "believes"/policies or whatever.

Offline ripplexiaoshan

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 2300
    • View Profile
  • BitShares: jademont
It seems most of the delegates are using the auto script from the Bitsuperlab, because frequent updating is hard to be maintained by manually doing it. However it means most of the price feeds will be the same, then what's the point of publishing price feeds by delegates? Why we don't just integrate one price feed in wallet?

Because the consensus logic needs the feed.... because single source is too much trust in one individual... because the plan is for delegates to have increasing variety of feed publishing policies.

What you said is so true, but the result is indeed no difference between using auto script and integrating it in wallet, if most of the delegates use the script.  Somewhere must be wrong, but I can't tell. I am afraid that price feeds for pegging is  only a treat to the symptom, not the underlying problem. Sorry I can't give you any constructive suggestion except for my worries.
BTS committee member:jademont

Offline GaltReport

It seems most of the delegates are using the auto script from the Bitsuperlab, because frequent updating is hard to be maintained by manually doing it. However it means most of the price feeds will be the same, then what's the point of publishing price feeds by delegates? Why we don't just integrate one price feed in wallet?

Because the consensus logic needs the feed.... because single source is too much trust in one individual... because the plan is for delegates to have increasing variety of feed publishing policies.

I understand BM's comments but I must say I am sympathetic to either having the feed built-in or at least having the official dev team take over the price-feed script. I think many of the delegates did not expect and are not prepared to maintain a price-feed script.  If for no other reason than ensuring some sort of consistent approach and quality control.  There doesn't seem to be any QC on the price feed that delegates provide and many are apparently not providing any.


I
« Last Edit: September 26, 2014, 03:23:09 pm by GaltReport »

Offline bytemaster

How can I check which delegate is doing his job properly and who isn't?
How do I check what feed every delegate publishes?

Basically in simple terms and assuming GUI and windows how can I check the delegates?

I hope BitShares Blocks can gather feed publishing statistics for all delegates including which feeds and frequency of update.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
How can I check which delegate is doing his job properly and who isn't?
How do I check what feed every delegate publishes?

Basically in simple terms and assuming GUI and windows how can I check the delegates?

www.bitsharesblocks.com is a good start. I'm not sure what is available through client GUI.

Offline mf-tzo

  • Hero Member
  • *****
  • Posts: 1725
    • View Profile
How can I check which delegate is doing his job properly and who isn't?
How do I check what feed every delegate publishes?

Basically in simple terms and assuming GUI and windows how can I check the delegates?

Offline bytemaster

It seems most of the delegates are using the auto script from the Bitsuperlab, because frequent updating is hard to be maintained by manually doing it. However it means most of the price feeds will be the same, then what's the point of publishing price feeds by delegates? Why we don't just integrate one price feed in wallet?

Because the consensus logic needs the feed.... because single source is too much trust in one individual... because the plan is for delegates to have increasing variety of feed publishing policies. 
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline ripplexiaoshan

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 2300
    • View Profile
  • BitShares: jademont
It seems most of the delegates are using the auto script from the Bitsuperlab, because frequent updating is hard to be maintained by manually doing it. However it means most of the price feeds will be the same, then what's the point of publishing price feeds by delegates? Why we don't just integrate one price feed in wallet?
BTS committee member:jademont

Offline bytemaster

Actually I think it may be beneficial to discount all feeds by 0.995 to give the market makers some breathing room and provide a buffer against down trends.
maybe  you should change this  rule at the wallet? discount the short wall price to 0.995*median price
because we'll disable feed price in the future right?

I would rather the delegates tweak this as necessary than introduce code changes with arbitrary numbers in it.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
I have add the LICENCE file, it's GPL

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
https://github.com/xeroc/pytshares/blob/master/LICENSE

MIT is fine too?

Yours is OK. I'm not sure for alt's . Can it be used/modified freely ?
it's free, GPL is ok

来自我的 HUAWEI P7-L00 上的 Tapatalk

I'm not sure it is enough for you to state it in the forum.
You should include the licence reference with the sources.
However I'm no lawyer and I might be wrong...

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
https://github.com/xeroc/pytshares/blob/master/LICENSE

MIT is fine too?

Yours is OK. I'm not sure for alt's . Can it be used/modified freely ?
it's free, GPL is ok

来自我的 HUAWEI P7-L00 上的 Tapatalk



Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc

Offline emski

  • Hero Member
  • *****
  • Posts: 1282
    • View Profile
    • http://lnkd.in/nPbhxG
If you don't mind ... can I borrow these lines from you ?! :-)

Or better publish appropriate license for that. GPL is fine.

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
never mind

来自我的 HUAWEI P7-L00 上的 Tapatalk


Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
If you don't mind ... can I borrow these lines from you ?! :-)


Ggozzo

  • Guest
Where is the script, and is it easy to implement?

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
Actually I think it may be beneficial to discount all feeds by 0.995 to give the market makers some breathing room and provide a buffer against down trends.
maybe  you should change this  rule at the wallet? discount the short wall price to 0.995*median price
because we'll disable feed price in the future right?

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
I have update the script with this rule, delegate should change the parameter "change_min" to 0.5

When attempting to write a market maker the slow movement of the feed can be difficult.

I would recommend the following:

if  REAL_PRICE < MEDIAN and YOUR_PRICE > MEDIAN publish price
if  you haven't published a price in the past 20 minutes
   if  REAL_PRICE > MEDIAN  and  YOUR_PRICE < MEDIAN and abs( YOUR_PRICE - REAL_PRICE ) / REAL_PRICE  > 0.005 publish price

The goal is to force the price down rapidly and allow it to creep up slowly.

By publishing prices more often it helps market makers maintain the peg and minimizes opportunity for shorts to sell USD below the peg that the market makers then have to absorb. 

If we can get updates flowing smoothly then we can gradually reduce the spread in the market maker bots. 

*note: all prices in USD per BTSX

When the price is rising don't publish more often than every 20 minutes...  I also reduced the publishing load if you are already above the median when the price is rising... republishing your price will not move the median so don't bother.
« Last Edit: September 26, 2014, 12:51:48 am by alt »

Offline Riverhead

Is real price last fill on BitsharesX?

Offline bytemaster

Actually I think it may be beneficial to discount all feeds by 0.995 to give the market makers some breathing room and provide a buffer against down trends.   
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

The goal is to force the price down rapidly and allow it to creep up slowly.

If in future one bitAsset >Asset  (bitUSD>USD)
we would recommended to do the opposite, right?

When BitAsset >> real asset there will be no shorts so the feed will be meaningless.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline liondani

  • Hero Member
  • *****
  • Posts: 3737
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani
The goal is to force the price down rapidly and allow it to creep up slowly.

If in future one bitAsset >Asset  (bitUSD>USD)
we would recommended to do the opposite, right?

Offline amencon

  • Sr. Member
  • ****
  • Posts: 227
    • View Profile
Sounds simple enough, thanks for the direction.

Offline bytemaster

When attempting to write a market maker the slow movement of the feed can be difficult.

I would recommend the following:

if  REAL_PRICE < MEDIAN and YOUR_PRICE > MEDIAN publish price
if  you haven't published a price in the past 20 minutes
   if  REAL_PRICE > MEDIAN  and  YOUR_PRICE < MEDIAN and abs( YOUR_PRICE - REAL_PRICE ) / REAL_PRICE  > 0.005 publish price

The goal is to force the price down rapidly and allow it to creep up slowly.

By publishing prices more often it helps market makers maintain the peg and minimizes opportunity for shorts to sell USD below the peg that the market makers then have to absorb. 

If we can get updates flowing smoothly then we can gradually reduce the spread in the market maker bots. 

*note: all prices in USD per BTSX

When the price is rising don't publish more often than every 20 minutes...  I also reduced the publishing load if you are already above the median when the price is rising... republishing your price will not move the median so don't bother.

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
Wanted to pimp my script anyway .. gonna do what I can tomorrow evening and over the weekend .. thanks for giving a direction!

Offline bytemaster

When attempting to write a market maker the slow movement of the feed can be difficult.

I would recommend the following:

if  REAL_PRICE < MEDIAN and YOUR_PRICE > MEDIAN publish price
if  REAL_PRICE > MEDIAN  and  abs( YOUR_PRICE - REAL_PRICE ) / REAL_PRICE  > 0.005 publish price

The goal is to force the price down rapidly and allow it to creep up slowly.

By publishing prices more often it helps market makers maintain the peg and minimizes opportunity for shorts to sell USD below the peg that the market makers then have to absorb. 

If we can get updates flowing smoothly then we can gradually reduce the spread in the market maker bots. 

*note: all prices in USD per BTSX
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.