如何用Python自动获取NVTS和MVRV指标并提醒

我在用好币圈这五大指数,助你抄底与逃顶这篇文章中介绍过两个重要的比特币估值指标:

一个是NVTS

NVTS=总市值/链上交易量的90天移动均线(美元、非交易平台成量)

一般认为,NVTS > 100 , 比特币价格被高估;NVTS< 50 , 比特币价格被低估;NVTS 处于 50 和 100 之间时,比特币价格处在合理区间范围内。

目前在网页1网站2可以查询比特币的实时 NVTS。

另一个是MVRV:

MVRV = Market Cap(流通市值) / Realised Cap(已实现市值)

一般认为,当 MVRV<1 时,比特币价格被严重低估;1< MVRA < 2 时,比特币价格被部分低估;MVRV 处在2-3 区间说明存在过热现象,3-4 区间则可以认为存在巨大泡沫。

目前在网页1网站2可以查看实时比特币 MVRV 指数。


怎么用Python来获取这两个数据呢?

说实话,查找了很多方法,要么相对复杂,要么不好引用,经历了几天的折磨之后,终于发现一个超级简单的方法,在这里要感谢https://coinmetrics.io/这个网站,发现他们直接把这两个指标的数据(不只是图表)用一个在线文档表示出来,真是太人性了。具体数据网址如下:

NVTS:https://coinmetrics.io/newdata/split/btc_NVTAdj90.txt

MVRV:https://coinmetrics.io/newdata/split/btc_CapMVRVCur.txt

那只要用Python来读取这个在线文档就可以了,具体就是request.get(),把上面两个网址放进去就可以取得数据,接下来对数据稍微处理下就好了。

url ='https://coinmetrics.io/newdata/split/btc_NVTAdj90.txt' # 太人性化了,直接给出数据

res = requests.get(url)

print(res.text)

我们可以看下这个数据的规律

2010-10-15

2020-04-20

154.64392478103125

144.6818918330995

。。。

65.83057059735678

发现第一行是第一条数据的日期,第二行是最新一天的日期

接下来就是每天的指标值。

我们用list = (res.text).split()把上面得到的结果(字符串转化)为列表,

然后获取列表的长度lengh =len(list)

最后输出第二个数据(当天的日期)和最后一条数据(当天的指标值)print(list[1],list[lengh-1])

如下今天的NVTS值2020-04-20   65.83057059735678

想要实现提醒,直接加个条件就行了,比如NVTS< 50 , 比特币价格被低估,赶紧买买买。

NVTS > 100 , 比特币价格被高估,赶紧卖卖卖就行了。

MVRV获取的方式类似。

推荐阅读更多精彩内容