用Python检测比特币的历史价格,它还有值得投资的空间吗?

  

前言

以前老有同事或朋友一直在抱怨,说十年前要买几枚比特币现在都发财了。还有那种说买显卡去挖币的,总之好像是升值了很多吧。由于小编我是一个不懂这些的人。往往也就跟风买点基金,赚也赚不了多少,亏也亏不了多少!那今天听到他们谈论这个,我就用Python探索一下它的历史价格看看。

在这篇文章中,我们将学习如何连接到ExchangeAPI,以便检索比特币和其他加密货币的历史价格。然后,我们将看到如何用Python来绘制比特币的价格。matplotlib。最后,我们将计算比特币移动平均线,并将其与比特币历史价格一起绘制。

使用Python从交易所提取比特币价格

我总是喜欢在开始我的文章的一些背景,主题涵盖在这篇文章。然而,比特币和加密货币并不需要太多的介绍,因为每个人都听说过它们。因此,我们可以直接跳到代码。

代码相当简单,首先,我们从交易所检索历史价格。我在用Kucoin,一种密码交换,它不需要有一个帐户来检索加密货币价格数据。

Kucoin的所有API文档都可以在下面找到。如前所述,我们不需要有一个帐户的类型的分析,我们将在这篇文章。

我们从创建返回比特币历史价格的API url开始编码,并定义我们的参数。在本例中,我们将使用BTC-USDT对检索比特币价格。我们要收回最近400天的每日价格。

注意:为了便于参考,我在文章末尾添加了完整的代码,并设置了适当的Python格式。

import requests
from datetime import datetime
from time import time
import pandas as pd
import matplotlib.pyplot as plt
 
base_url = "https://api.kucoin.com"
coin_pair = "BTC-USDT" #BTC-USDT
frequency = "1day" #1hour 4hour 1min
#get timestamp date of today in seconds
now_is = int(time())
days = 400
           #sec  min  hour days
days_delta = 60 * 60 * 24 * days
start_At = now_is - days_delta
#print(now_is)
price_url = f"/api/v1/market/candles?type={frequency}&symbol={coin_pair}&startAt={start_At}&endAt={now_is}"

接下来,我们向KucoinAPI端点发出请求,该端点将在Python字典中返回所有请求的比特币价格数据。

price_dict = {}
 
prices = requests.get(base_url+price_url).json()
print(prices)

正如你在下面看到的,价格现在是一本包含比特币历史价格的字典。键内

数据

我们有一份名单。列表中的每个元素都是给定一天的价格。因此,我们需要循环遍历这个列表中的每个元素,并提取日期和价格。

使用Python从交易所提取比特币价格

我们将提取的数据存储在一个名为

价格表

。需要注意的是,我们需要将日期从时间戳转换为可读格式(即13-10-2020年)。为此,我们使用

Datetime.fromtimestamp

功能。

然后,我们希望将数据转换为pandas数据。熊猫让我们非常容易地用Python和matplotlib绘制比特币的价格:

for item in prices['data']:
 #convert date from timestamp to Y M D
 date_converted = datetime.fromtimestamp(int(item[0])).strftime("%Y-%m-%d")
 price_dict[date_converted] = item[2]
 
priceDF = pd.DataFrame(price_dict,index=["price"]).T
#Convert prices into a float
priceDF['price'] = priceDF['price'].astype(float)
 
#convert dates to datetime from object
priceDF.index = pd.to_datetime(priceDF.index)
 
#reverse dates
priceDF = priceDF.iloc[::-1]
print(priceDF)

计算比特币移动平均数

接下来,我们计算200天和50天的比特币移动平均值。移动平均线是衡量比特币当前价格与过去趋势相比表现如何的非常有用的指标。 完整代码点这里获取

移动平均线是在技术分析。为了了解更多关于移动平均线的知识,大家可以找相应文档学习

要使用Python计算比特币移动平均值,我们只需按照下面的代码来计算。然后,我们使用matplotlib绘制移动平均值和比特币价格。

#moving_average 200 days(
priceDF['200MA'] = priceDF['price'].rolling(200).mean()
priceDF['52MA'] = priceDF['price'].rolling(52).mean()
 
priceDF
 
#plot
 
fig, ax = plt.subplots()
ax.plot(priceDF[['price','200MA','52MA']])
# Rotate and align the tick labels so they look better.
fig.autofmt_xdate()
ax.legend(['price','200MA','52MA'])
# Use a more precise date string for the x axis locations in the toolbar.
 
plt.show()

结语

在过去几天里,比特币价格大幅下跌,目前交易低于52天移动平均线,即将突破200移动平均线。这是一个很好的迹象,表明比特币和密码显然处于看跌市场。

请注意,该分析不是很准确的数据,目的是演示Python的一些技巧,不应用于作出投资决定。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>