Python中怎么提高比特币的回报率

发布时间:2021-08-10 16:43:32 作者:Leah
来源:亿速云 阅读:162

这期内容当中小编将会给大家带来有关Python中怎么提高比特币的回报率,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

交叉指标

在金融背景下,黄金交叉和死亡交叉指标是一个衍生的的移动平均线,也被称为交叉指标。

例如移动平均线,这两个交叉指标中的任何一个将通过使用以下公式对特定时间段内的市场收盘价进行平均来计算。

Python中怎么提高比特币的回报率

在以上公式中,n对应于使用的周期数

该概念将包括组合两个移动平均值(短期和长期)以获得加密货币趋势。当短期移动均线超过或回顾长期移动均线时,将出现买入或卖出信号。

从数学上讲,如果您选择5个周期的短期移动平均线和20个周期的长期移动平均线,则我们将通过以下条件获得买入信号:

Python中怎么提高比特币的回报率

MA(5)和MA(20)分别等于:

Python中怎么提高比特币的回报率

Python中怎么提高比特币的回报率

CPrice对应于收盘价值

这些交叉指标是方程式的一部分,可帮助检测所研究的加密货币的全球趋势。这些CI(交叉指标)在全球范围内被多个交易者和基金广泛使用,以定义支撑,阻力位 ,  止损和目标并了解潜在趋势。

现在我们已经涵盖了一些背景知识,让我们开始测试,看看它们如何帮助预测市场。如果要以相同的速度编写代码,则需要事先安装一些配置和程序包。

先决条件

在开始之前,您需要在计算机上安装Python 3版本和以下软件包:

如果尚未安装这些软件包中的任何一个,则可以使用pip命令,如下所示。

pip install yfinance pip install plotly

一旦确保安装了以下软件包,我们就可以从我们的数据管道和数据模型开始。

数据管道和建模

现在,我们已经确认以上软件包已安装在我们的机器中,我们可以定义数据处理了。

数据模型将分为3个不同的步骤:

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区

  2. 我们将使用Yahoo Finance API查询实时加密货币的数据。

  3. 定义一个时间段,为我们的计算字段创建新列,然后每秒更新这些值。

  4. 实时绘制此图,并检查我们的信号是否准确。

Python中怎么提高比特币的回报率

现在我们可以开始编码了!(如果您已经有使用Python的经验,则可以跳到第二步。)

第一步:导入所需软件包

您将开始使用以下代码行导入以前安装的软件包:

# Raw Package import numpy as np import pandas as pd  #Data Source import yfinance as yf  #Data viz import plotly.graph_objs as go

上面的行是查询numpy,pandas,yfinance和要导入的图

第二步:获取实时市场数据

现在,所需的不同软件包已被上传。我们将以BTC-USD对为例,通过Yahoo Finance API设置导入,可以扩展加密货币选择的列表以及货币。

例如,如果您来自印度或加拿大,则可以使用INR或CAD;如果您来自印度或加拿大,则可以使用INR或CAD。两者都将正常运行,以及您是否需要Ripple或Ethereum数据。

第三步:回到我们的API结构

Yahoo Finance API将按此顺序需要三个强制性参数:

对于我们的情况,股票代码(参数1)将为BTC-USD对。此外,在此示例中,我们将选择最后7天作为时间段(参数2)。并设置一个间隔(参数3)的90分钟。

要调用数据,您将必须使用以下结构:

Python中怎么提高比特币的回报率

上面描述了获取我们感兴趣的数据的结构

快速查找可能的时间间隔

我想快速介绍一下您可以使用yahoo finance API设置的不同间隔。

下面详细列出了可能需要的间隔可能性:

Python中怎么提高比特币的回报率

上面列出了可以选择的不同间隔。

现在我们已经定义了三个参数,让我们执行查询并检查输出:

data = yf.download(tickers='BTC-USD',period = '8d', interval = '90m')

上面的行将向Yahoo Finance API请求BTC-USD。

这是您必须获得的输出:

Python中怎么提高比特币的回报率

每隔90分钟输出一次市场

现在,我们已经下载并存储了数据,我们可以继续并定义移动平均线,买卖信号。

部署我们的算法

现在,我们的实时数据已经下载并存储在名为“ data”的变量中。下一步包括计算我们的移动平均线并设置我们的买入和卖出信号。

我们将需要创建以下计算字段:

为此,我们将使用Python中包含的滚动函数来获取n个最新周期的平均值。关于MA(5),我们将在过去90分钟的最后5分钟内应用我们的策略。这意味着我们将计算最近7小时30分钟(5次乘以90分钟)的平均收盘价。

Python中怎么提高比特币的回报率

对于MA(20),我们将使用滚动功能,但我们将计算20个最近周期的平均值,而不是计算5个最近的90分钟周期。

因此,让我们在Python上进行编码:

#Moving average using Python Rolling function data['MA5'] = data['Close'].rolling(5).mean() data['MA20'] = data['Close'].rolling(20).mean()

上面的代码行使用Python滚动功能获取移动平均值

上面的代码一旦执行,将为您的数据框创建2个新列,如下所示:

Python中怎么提高比特币的回报率

现在您已经定义了波段,必须创建2个额外的列。

我们终于可以部署我们的策略并对其进行测试。在下图中,我将绿色标记为良好的预测,将黑色预测为错误的预测。

Python中怎么提高比特币的回报率

带有买卖信号的预期输出

现在您可以在家开发它了:

# Raw Package import numpy as np import pandas as pd #Data Source import yfinance as yf #Data viz import plotly.graph_objs as go  #Importing market data data = yf.download(tickers='BTC-USD',period = '8d', interval = '90m')  #Adding Moving average calculated field data['MA5'] = data['Close'].rolling(5).mean() data['MA20'] = data['Close'].rolling(20).mean()  #declare figure fig = go.Figure()  #Candlestick fig.add_trace(go.Candlestick(x=data.index,                 open=data['Open'],                 high=data['High'],                 low=data['Low'],                 close=data['Close'], name = 'market data'))  #Add Moving average on the graph fig.add_trace(go.Scatter(x=data.index, y= data['MA20'],line=dict(color='blue', width=1.5), name = 'Long Term MA')) fig.add_trace(go.Scatter(x=data.index, y= data['MA5'],line=dict(color='orange', width=1.5), name = 'Short Term MA'))  #Updating X axis and graph # X-Axes fig.update_xaxes(     rangeslider_visible=True,     rangeselector=dict(         buttons=list([             dict(count=3, label="3d", step="days", stepmode="backward"),             dict(count=5, label="5d", step="days", stepmode="backward"),             dict(count=7, label="WTD", step="days", stepmode="todate"),             dict(step="all")         ])     ) )  #Show fig.show()

上述就是小编为大家分享的Python中怎么提高比特币的回报率了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. 比特币的前景
  2. 比特币代码分析11 比特币存储机制

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:使用Flow和IPFS怎么创建NFT

下一篇:html5中怎么对document metadata进行操作

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》