如何使用 Python 提高比特币的回报率

陀螺财经_区块链研究实验室
2021-05-04 13:48

交叉指标

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

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

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

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

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

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

CPrice对应于收盘价值

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

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

先决条件

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

Pandas

NumPy

Yfinance

Plotly(这个您可以自主选择安装与否)

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

pip install yfinancepip install plotly

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

数据管道和建模

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

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

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

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

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

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

第一步:导入所需软件包

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

# Raw Packageimport numpy as npimport pandas as pd#Data Sourceimport yfinance as yf#Data vizimport plotly.graph_objs as go

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

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

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

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

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

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

股票代码(1)

开始日期+结束日期或期间(2)

间隔(3)

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

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

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

快速查找可能的时间间隔

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

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

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

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

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

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

这是您必须获得的输出:

每隔90分钟输出一次市场

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

部署我们的算法

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

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

马(5)

马(20)

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

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

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

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

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

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

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

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

带有买卖信号的预期输出

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

# Raw Packageimport numpy as npimport pandas as pd#Data Sourceimport yfinance as yf#Data vizimport plotly.graph_objs as go#Importing market datadata = yf.download(tickers='BTC-USD',period = '8d', interval = '90m')#Adding Moving average calculated fielddata['MA5'] = data['Close'].rolling(5).mean()data['MA20'] = data['Close'].rolling(20).mean()#declare figurefig = go.Figure()#Candlestickfig.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 graphfig.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-Axesfig.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")        ])    ))#Showfig.show()

结论

所以交易并不都完美,有时我们往往会滞后于进入或离开市场,但在 比特币 稳定的时期,探索实时抵抗和支持水平的概念非常有趣,黄金交叉策略已成为提高我们利润的有用策略。

经过简短的计算并使用我的个人经纪人的手续费,我们将在一周内获得7,1%的回报,而同期的比特币稳定在1,7%左右。

免责声明:本文版权归原作者所有,不代表MyToken观点和立场;如有关于内容、版权等问题,请与我们联系。

芝商所推出的“微型比特币期货”对加密市场有何影响?

Odaily星球日报
2021-05-04 13:05
如果“微型比特币期货合约”发展顺利的话,未来很可能会给芝商所带来更大回报,同时也会给整个加密货币期货市场带来巨大冲击。...
应用内查看全文

为什么越来越多机构投资者开始押注ETH?

考拉财经
2021-05-04 13:00
以太坊作为机构级投资、价值储存和国库储备资产,已经赢得了一个与比特币并驾齐驱的地位。
应用内查看全文

行情分析丨比特币迎来回调, 以太坊还能继续向上吗?

区块链骑士
2021-05-04 12:53
等待比特币反弹,继续看多其他标的。...
应用内查看全文

eBay和PayPal释放加密货币利好信号,考虑支持加密货币支付及推出稳定币

PANews
2021-05-04 12:35
PANews 5月4日消息,电商巨头eBay首席执行官 Jamie Lannone在接受CNBC采访时表示,正考虑把加密货币作为用户支付的新选项.。他还表示,eBay正在探索进入NFT领域的方式。与此
应用内查看全文

HashKey 曹一新:分析以太坊 MEV 市场机制设计现状及趋势

链闻_HashKey Research
2021-05-04 12:06
如何设计激励相容的 MEV 市场机制,为以太坊的整体经济效用带来裨益?
应用内查看全文

昔日“非主流资产”再度俘获巨头芳心,eBay考虑拥抱加密货币和NFT

考拉财经
2021-05-04 12:00
财联社(上海,编辑 吴斌)讯,一向争议巨大的加密货币和NFT再度俘获巨头芳心,eBay周一表示,公司对未来接受加密货币作为一种支付方式的可能性持开放态度,同时也在考虑进入非同质化代币(NFT)领域。
应用内查看全文

机构为何看好波卡;平行链功能已接入Kusama,只欠东风

鸵鸟区块链
2021-05-04 11:39
机构为何看好波卡;平行链功能已接入Kusama,只欠东风
应用内查看全文

标准普尔上线比特币及以太坊指数

PANews
2021-05-04 11:11
PANews 5月4日消息,据官方消息,标准普尔已于周一上线首批三种加密指数产品,包括比特币指数(SPBTC)、以太坊指数(SPETH)及两者组合的指数(SPCMC)。三个指数均使用了合作伙伴Lukk
应用内查看全文

PayPal 稳定币,是否会成为下一个 Libra?

陀螺财经_比推BitpushNews
2021-05-04 11:05
PayPal 正在与第三方进行磋商,合作推出其稳定币>>>
应用内查看全文

三分钟弄明白什么是Layer2,侧链,Rollups

考拉财经
2021-05-04 11:00
Layer2以太坊1.0在DeFi生态系统中找到了杀手级应用。但是,随着采用率的提高,基础架构层的可扩展性,强大以及经济可行性对以太坊和基于它的dApp的长期成功都变得至关重要。
应用内查看全文

头部DeFi协议4月收入达到2.52亿美元,其中UniSwap为1.366亿美元

博链财经
2021-05-04 10:22
Compound、SushiSwap和Aave的协议分别产生4608万美元、3523万美元和2472万美元。
应用内查看全文

加密货币、DEX、NFT、DAO 和 AI 等技术基元创造的新世界:金钱将不再耗费人们的注意力

鸵鸟区块链
2021-05-04 10:15
我有兴趣创造这样一个世界,在这个世界里,金融财富的积累不再是普通人关心的问题,一个富足非凡的世界。
应用内查看全文

以太坊续刷历史新高!暴涨背后的真相是什么?

陀螺财经_比推BitpushNews
2021-05-04 10:06
今日,以太坊突破3300美元,再创历史新高。
应用内查看全文

NBA 达拉斯独行侠队老板、亿万富豪马克·库班:为什么说加密资产是有价值的

链闻_链闻独家
2021-05-04 09:49
NBA 达拉斯独行侠队老板、亿万富豪马克·库班谈比特币、以太坊及 DeFi 价值。
应用内查看全文

Maker 基金会将开发基金归还社区控制

陀螺财经_MakerDAO
2021-05-04 08:51
Maker 基金会将开发基金的 84000 枚 MKR 归还 MakerDAO。
应用内查看全文

Chainlink 2.0 白皮书问题出在哪?

比推 Bitpush News
2021-05-04 08:45
在 Chainlink 2.0 中,对于如何解决:“受信任的预言机”可以将不正确的数据信息输入区块链的问题,其 "解决方案 "是让另一组“更受信任”的预言机负责惩罚违规者。...
应用内查看全文

【2021-05-04】爆仓统计

MyToken
2021-05-04 08:10
应用内查看全文

以太坊暴涨背后的真相是什么?

比推 Bitpush News
2021-05-04 08:03
今日,以太坊突破3300美元,再创历史新高。...
应用内查看全文

晚间必读5篇 | 各 Rollup 解决方案的权衡研究

金色荐读
2021-05-03 22:02
晚间推荐阅读:1.Diem要做美元稳定币?还是CBDC替身?2.各 Rollup 解决方案的权衡研究3.Polkadot上用于构建DApp的前5个智能合约平台(开发人员指南)...
应用内查看全文

最近大热的Truebit到底解决了什么问题?

考拉财经
2021-05-03 21:50
原文标题:《 Truebit: the marketplace for verifiable computation 》 原文作者: Sina Habibian 
应用内查看全文
点击加载更多