区块链

暴涨暴跌,如何预测BTC价格?

BTC从10月初的不到2万,暴涨到12月7日的最高点12万,接着连续暴跌3天,现价不到9万(12月10日晚8点)。如果我们能够提前预知暴涨暴跌,人生该是多么的美好。

先上图:

黑色长线为BTC最近270天的实际走势,彩色短线为人工智能以5天为周期预测的走势(数据进行了标准化[-1,1])

在大趋势上的预测比较准确,在拐点处的预测不够准确;对下跌的预测比上涨的预测准确。

币价可以预测么?

这不是一个技术问题,而是一个哲学问题。正如,上帝真的存在么?笔者倾向于,币价的趋势是可以预测的。因为,历史总是相似的。

  • 比特币作为去中心化货币,难于被单一实体操控,在多方博弈的市场中各方博弈的手段总是历史相似的;
  • 比特币作为虚拟货币,价格更大程度上反应的是人类的心理预期,而人类的心理预期总是历史相似的;
  • 单一的人类行为和心理是随机的,但是群体行为和心理是有规律可循的
  • 我们在认可“历史总是相似的”这个大前提下,讨论如何预测币价。
Tensorflow带来的福音

Tensorflow是google于2015年开源的一个机器学习框架,google在自家的搜索、地图、翻译等产品上均使用了该框架。TensorFlow的出现大大降低了深度学习的门槛,只要稍微了解一些深度学习的常识,就能自己上手搭建一个可运行的分布式深度学习应用。打败李世石的阿尔法狗,就是一个深度学习应用。基于深度学习的价格预测应该会比跳大神更令人信服。

 

LSTM基于历史预测未来

LSTM全称Long Short-TermMemory长短期记忆神经网络,专门用于预测时间序列相关问题,主要用于语音识别、翻译、图片描述、价格预测等领域。LSTM改进了RNN(Recurrent Neural Networks)循环神经网络,对历史数据更加友好,解决了RNN层数过多时梯度消失的问题。人类是基于自己对已知历史的理解来推测未来的,人类不会将所有已知知识丢弃,然后用空白大脑进行思考,人类的思维具有连续性和持久性。LSTM就是模拟了人类大脑的这个思维过程。用LSTM进行价格预测应该是一个不错的选择。

 

数据来源

我们选择了BitCoinAverage作为我们的数据提供商,BitCoinAverage拥有全球运行时间最长的虚拟货币价格数据库。我们选取了从2010年7月至今(2017年12月10日),全球50多个交易平台的BTC历史数据,作为我们的数据来源。

 

开始训练

为了减小单一市场和短时间价格剧烈波动对币价趋势的影响,我们把所有交易平台的当日比特币均价作为当日比特币的价格。我们一共获取到2700多天比特币的价格。我们假设比特币当日价格是受当日之前30天比特币的价格影响的,我们可以把2700多天分解为2700多个训练组,每个训练组的输入为连续30天的比特币价格,输出为第31天的比特币价格。我们从中随机选择2400多组成为训练集,另外的270多组成为验证集。我们将训练集放入LSTM中进行训练。

 

结果验证

训练结束之后,我们用验证集验证训练结果。验证方式如下:放入1-30天的价格,预测出第31天的价格;放入2-30天的价格和第31天的预测价格,预测出第32天的价格;以此类推,直到预测出第35天价格;绘制出第31到35天的价格趋势。预测结果如图所示。

 

未来的改进

我们的预测模型还处于初级阶段,预计会在以下方面进行改进:

1. 将开盘价、收盘价、最高价、最低价纳入影响因子

2. 减小历史数据的时间间隔,按小时获取历史数据

3. 将按日预测改进为按小时预测

4. 将其他币种的价格波动纳入影响因子

5. 将实时新闻纳入影响因子

6. 增加LSTM的层数

7. 优化激活函数

8. 将序列模型改进为函数模型

 

如果你关心虚拟货币的价格,可以关注作者公众号emoneyhome,和作者一起探讨。

Contributor

本文由第三方作者撰写,观点仅代表作者本人,不代表区块链财经(Blockchain.hk)立场。

        
微博:@nextcoin    微信公众号:blockchains     QQ群号:338331006     QQ公众号:blockchain