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

0 Members and 1 Guest are viewing this topic.

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.