首页 资讯 正文

回报率29% 大神通过情感分析创建一个比特币交易算法

金色财经 2019年04月30日 16:37

作者 | Marc Howard

编译 | Guoxi

出品 | 区块链大本营(blockchain_camp)


玩过股票的人都知道,股票市场的波动受各种因素的共同影响,有着很强的随机性,很难预测。而新兴的加密货币市场与股票市场有着很大的差别,更加难以预测。

由于传统方法行不通,国外网友 Marc Howard 另辟蹊径,通过分析大众对加密货币的情感来预测加密货币市场的波动。在 90 天的实验周期里这种方法获得了 29% 的投资回报率,他是怎么做到的?

让我们一起来看看。

我刚开始接触加密货币时,有一些问题困扰着我:

当时,我给自己定下了一个看起来遥不可及的目标,就是试图理解加密货币这个变化无常且看似无法预测的市场

当然了,我这并不是不自量力。加密货币市场充满了魅力,让许多交易员都沉醉其中。有许多交易员通过技术分析的手段试图揭开加密货币市场神秘的面纱,而有一些交易员则是耍小聪明,照搬股票市场上的基本分析理论。

然而结果并不乐观,没有哪种神奇的交易模型总能战胜市场这只“看不见的手”。从原理上来说,有太多的因素可能会造成加密货币市场的波动,这个市场有着很强的随机性,即使那些最好的基于人工智能的交易模型也不能保证连续获利

而我另辟蹊径,从另一个角度入手建立交易模型。这个交易模型非常简单,在这篇文章中我会以最明晰的方式展现我的思路

需要说明的是,我的交易模型还是一个正在开发中的半成品,虽然在模拟实验中它展现出了强大的预测能力,但它绝不是万无一失的,如果使用我的交易模型请自行承担风险。

战胜”看不见的手“的交易模型

根据我的设想,这个交易模型应该是比特币价格的相对一致性指标,我也在不断测试并修正这个交易模型。

在这次长达 90 天的模拟实验中,我“买入”了价值 10 万美元的比特币,通过交易模型做出的买入/卖出决策,最终的投资回报率高达 29%

不过,作为一次模拟实验,这里的利润中并没有扣除实际交易时需要付给加密货币交易所的手续费,这巨额的手续费让我急切地盼望去中心化加密货币交易所的普及。

交易模型的灵感来自于 Willy Woo 的工作,Willy 第一个提出使用谷歌趋势服务的数据来预测比特币价格的走向。我在他工作的基础上做出了一些改进,具体的方法如下。

首先,通过谷歌趋势服务查询最近 90 天里 “比特币兑换美元价格”和“购买比特币”的搜索趋势:

7 月 7 日到 10 月 4 日这 90 天时间里,“比特币兑换美元价格”和“购买比特币”的搜索趋势


其次,我注意到,当“比特币兑换美元价格”与“购买比特币”的搜索量比率低于 3:1 时(准确地说是后者与前者的比率大于 35% ),第二天的比特币收盘价格( close price )就会上涨

如果这个比率大于 3:1 时(准确地说是后者与前者的比率小于 35% ),比如说达到了 4:1 或 5:1 ,那么这就是一个要卖出的信号,因为第二天比特币收盘价格会下降

接下来,我对比特币前后两天收盘价价格差超过 80 美元的情况进行了进一步的测试,在这些测试中,搜索量的比率与价格波动表现出了极大的相关性。

这里的 80 美元是我人为给定的一个值,这个值在实验中取得了很不错的效果。实验期间的比特币价格以及交易模型给出的买入/卖出策略如下所示:

实验期间的比特币价格以及交易模型给出的买入/卖出策略截图

根据上图,可以看出:

交易模型结果的优化

按照上述的交易策略,在 90 天的实验周期内,理论上我的资产从 10 万美元增长到了 128,839 美元,几乎实现了 29% 的投资回报率。不过上面我也提到了,这并不是一个最优的模型,我还可以从几个方面做出优化。

“比率大于 35% ”和“差额大于 80 美元”这样的判别准则看起来十分随意,因为这只是我在有限的 90 天数据集中找出的规律。是否有其他的决策标准可以产生更好的买入/卖出决策?

当比特币价格水平维持在 6000 到 8000 美元时,这个交易模型可以给出很好的决策

在分析了过去一两年的交易信息后,我对交易模型做出了一些改进,我将决策规则细化并做成了表格,表格的纵轴为“购买比特币”与“比特币兑换美元价格”的搜索量比率,数值从 1:3 到 1:5 不等。

考虑到比特币价格波动较大,“ 80 美元”这个指标并不总能奏效,因此我将这个指标转换为差价与当日比特币价格的比值,并将其列在表格的横轴,在这种情况下,一个可能最优的交易模型就是,在同时满足“购买比特币”与“比特币兑换美元价格”的搜索量比率为 1:2.86(即 0.35 ) 且价格波动的比率为 0.014543229 时买入。

改进后的表格看起来这个样:

改进后交易模型的决策规则

后续规划

除此之外,这个交易模型还有很大的优化空间。

首先我想进行一些测试,通过研究过去的交易数据找到能够最大化利润的最佳指标,这需要对过去的价格和搜索量比率进行回归测试。

我的设想是不同的价格水平上存在着相同的最佳指标,Good Luck!