Теперь подсчет цены Золотого еще корректнее (учитывает объемы ордеров) и более устойчив к биржевым махинациям.
Во-первых, началась торговля на Bittrex, с чем всех нас и поздравляю.
Это крупная, международная биржа. Сразу же добавил данные оттуда в свой расчет.
Текущая цена GOLOS'а
Считаю, в корне не верно брать за текущую цену GOLOS'а значение последней продажи. И даже брать за основу максимальный BID не верно, т.к. там целую неделю могут висеть ордера на покупку 1 токена. Тем самым завышая цену токена на значительные процентов 20-30%.
Вот что придумал. Теперь за текущую цену на бирже берется не первая цена из стакана на покупку (BID), а цена из стакана, где суммарная покупка (включая предыдущие ордеры) равна хотя бы 0.1 BTC.
Визуально можно это наблюдать на странице http://steemul.ru/price/
Рассмотрим наглядный пример на скриншоте:
Как можно утверждать, что цена токена 8402 сатоши, если слив всего 0.1 BTC уронит цену почти на 30%.
Пока у нас нет больших объемов торгов (ах когда же наступит это блаженное время), надо делать скидку на объемы ордеров. Иначе можно легко манипулировать ценов и завышать её процентов на 30%.
Используя мой метод подсчета, реальная стоимость токена будет отличаться где-то на 10-30%. Что довольно существенно и отражает реальное положение дел, а не накрученную пустыми ордерами цену.
Ну и по старой схеме, после сбора суммарных показателей, в конце вычисляется средняя для всех бирж цена токена.
Удобство
Со страницы фида теперь удобно наблюдать за новыми ордерами на покупку. Видно солидную часть стакана:
http://steemul.ru/price/
Как говорил поэт - "Больше фидов, хороших и разных!"
На самом деле не вижу ничего страшного брать ставку по максимальному Bid - в любом случае он будет меньше Ask и при достаточных объёмах торгов вилка между Bid и Ask будет всё уже и уже.
К тому же в блокчейне все фиды усредняются как по делегатам, так и по времени. Так что нормально, если у разных делегатов цена будет немного отличаться в один конкретный момент - это всё усреднится правильным образом. На промежутке в неделю колебания цены из-за волатильности рынка всё равно гораздо существеннее, чем отличия между Ask и Bid в каждый конкретный момент.
Добавил в пост скриншот для примера. Я думаю нельзя использовать значение максимального BID-а, т.к. если все делегаты будут это делать 7 дней подряд, то цена GOLOS'а будет необоснованно завышена процентов на 30%.
30% это только при условии очень низкой ликвидности. На нормальном рынке 0.1 BTC ни должны сбивать цену на треть.
Если взять для примера тот же STEEM на биттрексе, то разница между первым Bid ордером и ордером, дающим 0.1 BTC объёма в стакане меньше 2%:
А если рынок не ликвидный, то о цене сложно говорить - можно вообще любую цифру рисовать. Я предполагаю, что GOLOS будут торговаться с нормальным объёмом. Если нет - фиды так или иначе всем придётся править.
Значит у меня получилось временное решение, пока нет объемов. Это меня тоже устраивает)
Я думаю это всех устраивает :)
При желании, максимальный BID можно поддерживать сколько угодно долго на 0.00000001 меньше ASK'а, тем самым завышая реальное положение дел. Меня это смущает.
Кстати, цена процентов на 15-20% отличается, если считать по моему методу. Довольно существенный процент "накрутки" пустыми ордерами получается. Причем это будет продолжаться всю неделю. Среднее значение не спасает.
Вообще идея весьма здравая, но я уже придумал абьюз - предположим, что все недоброжелатели выставляют ордера объемом менее 0.1 BTC с определенным шагом, а внизу болтается ордер по 10 сатоши, объемом 10 BTC, таким образом все делегаты, использующие твой фид начнут поставлять заниженный в 900 раз фид.
Понятно что такой вариант развития событий, тем более на всех 4 площадках маловероятен (хотя с текущими объемами довольно легко осуществим), кроме того такие фиды не смогут существенно повлиять на средневзвешенный недельный курс (и это влияние будет отложенным по времени) и скорее всего краткосрочным, т.к. косяк будет оперативно выявлен и исправлен.
P.S. в качестве фикса озвученного мной варианта развития событий предлагаю брать цену того бида, который в сумме с вышестоящими ордерами набрал заданный объем, например 0.1 BTC
Наоборот. Мой метод более устойчив ко всяческим абьюзам, я считаю.
Недоброжелатели целую неделю могут создавать максимально приближенную к ASK'у заявку на покупку 1 GOLOS'а и таким образом будут манипулировать ценой (завышая её процентов на 20-30%).
А вот целую неделю держать заявку на покупку Голосов на 0.1 btc не получится, денег не хватит.
Надо учитывать объемы, имхо.
UPD: все верно, именно так как я предложил=) думал, что в 3 столбце объем каждого ордера а не сумма с нарастающим))
Выходит 5 из 19 делегатов выдают неправильные прайс фиды?