使用python-bitshares 生成抵押排行榜

in python-bitshares •  7 years ago 

在昨天的帖子中,我们使用python-bitshares中Asset类的feeds属性生成了bitCNY的喂价列表。可是朋友问我,喂价列表有什么用啊?况且在微信公众号不是可以查喂价信息吗?

抵押排行榜

想想也是啊,对于我们小玩家而言,知道了喂价知道了自己的爆仓价,这就足够了,至于喂价列表,是大人物们才需要关注和关心的问题。如果说我们小人物还需要知道点啥,我想那一定是抵押排行榜了。因为即使喂价还没低到你的爆仓价,但如若你在抵押排行榜中比较靠前,嗯,你还是有被清算的风险。如果知道了抵押排行榜,我们就可以让自己排的靠后一些,让大户们在前边抵挡😀

原本在bitshares区块链浏览器中,是可以看到抵押排行榜的,不过现在我却找不到了。不知道是去掉了,还是说我没找对地方,不管了, 自己用python-bitshares 弄一个吧。

Python 代码

我们可以使用python-bitshares中的Asset类实现这个功能。

具体方法是使用Asset类的get_call_orders方法

简单的示例代码如下:

from bitshares import BitShares
from bitshares.asset import Asset
from prettytable import PrettyTable

node = "wss://bitshares-api.wancloud.io/ws"
limit = 20

bitshares = BitShares(node=node)
asset=Asset(asset="CNY", bitshares_instance=bitshares)
call_orders = asset.get_call_orders(limit=limit)

t = PrettyTable(["Borrower", "Collateral", "Debt", "Call_price", "Ratio"])
t.padding_width = 1
t.align["Borrower"] = "l"
t.align["Collateral"] = "r"
t.align["Debt"] = "r"

for item in call_orders:
        ratio = "{:.3f}".format(item['ratio'])
        t.add_row([
                str(item['account']['name']),
                str(item['collateral']),
                str(item['debt']),
                str(item['call_price'].invert()),
                ratio
        ])
print(t)

执行效果

运行效果如下:


拍拍我的小心脏,还好我不在名单里。

继续完善

我们已经获得了抵押排行榜,但是略有不足,比如我想看前二十名一共抵押出来多少CNY,上边是没有显示的。当然了, 我们可以调出计算器逐项累加,但是那不是傻吗?

于是我对代码进行了一些修改,让其显示累加CNY,效果如下:

前二十名才抵押出来200多万啊,为了安全起见,至少猫在5000W以后我会比较放心。

封面图源:https://pixabay.com

参考文档

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

HAPPY NEW YEAR TO EVERYONE 2018

如果需要实时调节的抵押率的话,那账户里就需要预留足够的bts。如果账户里面已经打算留下一笔bts那为啥不直接把抵押率设置的高一些就好了?
我觉得比较有用的是实时监控,然后如果快爆仓了留给发个提醒,或者直接调用交易所提现

  ·  7 years ago (edited)

想問個笨問題 :p

看了這麼多篇相關的內容,今天終想來試試看。

$ sudo apt-get install libffi-dev libssl-dev python-dev python-dev3
$ pip3 install bitshares

但出現的是這個:

sudo: apt-get: command not found

為何?

(反正我是code白癡,如果這問題實在太笨,無法簡單回答,那就算了,我再自己研究看看 XD)

额,你用的啥系统?

OS10.13
(你問的是這個嗎?

我用的是 Ubuntu 16.04
apt-get这些是linux一些发行版下的指令
苹果的系统俺不懂

好,我再來google看看 😎

Wow,, amazing post,,!!!

Happy New Year..
Can you help me grow in steemit...
Thanks @cutetanya

学习 现在200万未来估计会打破 1亿。