LST:比特币突破8000美元,我们找到了用DL预测虚拟货币价格的方法

选自GitHub

作者:DavidSheehan

机器之心编译

截至11月22日,比特币的价格再创历史新高,在惊讶于虚拟货币「不可战胜」的同时,我们或许能可以从这一波热潮中学到些什么。本文中,博士毕业于伦敦大学学院的DavidSheehan为我们介绍了使用Keras基于LSTM预测比特币价格走势的详细方法。在测试中,这个机器学习预测法似乎有着不错的准确度。

如果要列出2017年最为荒谬的三样事物,则一定是指尖陀螺、人工智能,当然,还有加密虚拟货币。以上是玩笑话,实际上我对虚拟货币的原理印象深刻,而且非常看好这种颠覆性技术的长期前景。我试图通过深度学习、机器学习或者说人工智能成功预测虚拟货币的价格。

我认为把深度学习和虚拟货币结合起来是非常独特的想法,但是在写本文时,我发现了一些类似的内容。这篇文章只关注比特币,但是我还想讨论一下以太币。

我们打算使用LSTM模型,一种非常适合时序数据的深度学习模型。如果你希望真正了解理论或概念,那么推荐阅读:

LSTM入门必读:从基础知识到工作方式详解

Bitstamp平台比特币突破40000美元:Bitstamp平台比特币突破40000美元,现报39944美元,涨幅达13.04%,行情波动较大,请做好风险控制。[2021/1/8 16:41:36]

深度|LSTM和递归网络基础教程

教程|基于Keras的LSTM多变量时间序列预测

教程|如何判断LSTM模型中的过拟合与欠拟合

深度|从任务到可视化,如何理解LSTM网络中的神经元

干货|图解LSTM神经网络架构及其11种变体

完整代码地址:https://github.com/dashee87/blogScripts/blob/master/Jupyter/2017-11-20-predicting-cryptocurrency-prices-with-deep-learning.ipynb

数据

在构建模型之前,我们需要先获取一些数据。Kaggle上的数据集非常详细地记录了近几年的比特币价格。在这个时间长度中,噪声可能盖住了信号,因此我们需要选择单日价格数据。问题在于我们可能没有充足的数据。在深度学习中,没有模型可以克服数据严重缺乏的问题。我同样不想使用静态文件,因为未来使用新数据更新模型时,这种做法会复杂化更新流程。于是,我们计划从网站和API中抓取数据。

比特币闪电网络节点数达12873个:据1ML数据,当前比特币闪电网络节点数达12873个,过去30天内增加3.64%;通道数量为35417个,过去30天内下降2.7%;网络容量达到922.25个BTC,过去30天下降4%。[2020/5/27]

我们将在一个模型中使用多种虚拟货币,因此从同一个数据源抓取数据或许是一个不错的主意。我们将使用coinmarketcap.com。现在,我们只需要考虑比特币和以太币,但是使用这种方法添加最新火起来的山寨币就很难了。在输入数据之前,我们必须加载一些Python包,这样会容易一些。

importpandasaspd

importtime

importseabornassns

importmatplotlib.pyplotasplt

importdatetime

importnumpyasnp

Billions项目组convertthedatestringtothecorrectdateformat

bitcoin_market_info=bitcoin_market_info.assign(Date=pd.to_datetime(bitcoin_market_info))

声音 | Bitmex CEO:Bitmex比特币期货交易量超过2万亿美元:加密交易所Bitmex首席执行官Arthur Hayes表示,自2016年推出以来,该交易所比特币期货(XBT)总交易量已超过2万亿美元。在对此公告的回应中,Crypto Twitter用户表达了不同看法,一些人表达了诚挚的祝贺,还有一些人则指责这些数据源于市场操纵和虚假交易量报告。(U.today)[2020/2/3]

Billions项目组converttoint

bitcoin_market_info=bitcoin_market_info.astype('int64')

Billions项目组importtherelevantKerasmodules

fromkeras.modelsimportSequential

fromkeras.layersimportActivation,Dense

fromkeras.layersimportLSTM

fromkeras.layersimportDropout

行情 | 比特币期货收于8000美元之下:CME比特币期货BTC 7月合约收报7920美元,跌幅约1.2%,上周累跌6%;CBOE比特币期货XBT 6月合约收报7922.5美元,跌幅约1.1%,上周累跌约5.9%。[2019/6/12]

defbuild_model(inputs,output_size,neurons,activ_func="linear",

dropout=0.25,loss="mae",optimizer="adam"):

model=Sequential()

model.add(LSTM(neurons,input_shape=(inputs.shape,inputs.shape)))

model.add(Dropout(dropout))

model.add(Dense(units=output_size))

model.add(Activation(activ_func))

model.compile(loss=loss,optimizer=optimizer)

美图公司十周年年会最高奖项为比特币:据了解,美图公司在今日举办十周年年会,该年会的最高奖项是数枚比特币。[2018/2/2]

returnmodel

那么,build_model函数构建了一个模型,名为model,该模型添加了一个LSTM层和全连接层。该层的形态已经调整以适合输入。该函数还包括更通用的神经网络特征,如dropout和激活函数。现在,我们只需指定LSTM层中神经元的数量和训练数据。

Billions项目组initialisemodelarchitecture

eth_model=build_model(LSTM_training_inputs,output_size=1,neurons=20)

Billions项目组trainmodelondata

Billions项目组eth_preds=np.loadtxt('eth_preds.txt')

--------------------------------------------------------------------------

Epoch50/50

6s-loss:0.0625

我们刚才构建了一个LSTM模型来预测明天的以太币收盘价。现在我们来看一下效果如何。首先检查训练集性能。代码下面的数字代表50次训练迭代后该模型在训练集上的平均绝对误差。我们可以看到模型输出就是每日收盘价。

我们不应对它的准确率感到惊讶。该模型可以检测误差来源并进行调整。事实上,获取趋近于零的训练误差并不难。我们只需要数百个神经元和数千个训练epoch。我们应该对它在测试集上的性能更感兴趣,因为测试集中是模型未见过的全新数据。

注意单点预测具备误导性,而我们的LSTM模型似乎可以在未见过的测试集上实现良好的性能。最显著的缺点是单点预测无法检测出当以太币突然上涨时必然会下跌。事实上,它一直都是失败的,只不过在这些波动点更加明显而已。预测价格一般更接近一天后的实际价格。我们还可以构建一个适用于比特币的类似的LSTM模型,测试集预测结果见下图。

如前所述,单点预测具有一定误导性。我们现在构建一个LSTM模型来预测接下来5天的虚拟货币价格。

从视觉效果上来看,预测结果没有其单点预测更加鲜明。但是,我很高兴,该模型返回了一些细微的行为;它不仅仅预测价格在一个方向的移动轨迹。因此,该模型还有很多优化空间。

现在回到单点预测,我们的深度机器人工神经模型看起来还不错,但是随机游走模型看起来也还行。与随机游走模型类似,LSTM模型对随机种子的选择很敏感。那么,如果我们想对比这两种模型,就需要把每个模型运行多次来评估模型误差。误差可以作为测试集中真实和预测收盘价的绝对差。

或许AI完全值得这些炒作!这些图显示了在进行25次不同的初始化之后,每个模型在测试集上的误差。LSTM模型对比特币和以太币价格的预测误差分别是0.04和0.05,完胜相应的随机游走模型。

只是为了打败随机游走模型的话也太low了。对比LSTM模型和更合适的时序模型岂不是更加有趣!另外,我确定很难再提升我们的LSTM模型了。可能虚拟货币价格变化没有规律吧,可能没有一个模型可以把信号和噪声分离开。以后的文章中可能会讨论这些话题。

幸运的是,你已经察觉到我对使用深度学习预测虚拟货币价格变化的怀疑态度。原因在于我们忽略了最优的框架:人类智能。很明显,预测虚拟货币价格的完美模型是:

我确定他们最终最终会找到深度学习的使用案例的。同时,你可以下载完整的Python代码构建自己的模型。

原文链接:https://dashee87.github.io/deep%20learning/python/predicting-cryptocurrency-prices-with-deep-learning/

本文为机器之心编译,转载请联系本公众号获得授权。

------------------------------------------------

加入机器之心:hr@jiqizhixin.com

投稿或寻求报道:content@jiqizhixin.com

广告&商务合作:bd@jiqizhixin.com

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

火必下载区块链:hashgraph:区块链技术的最新竞争者

E安全3月28日讯作为比特币等加密货币的底层技术,区块链目前正面临着巨大的竞争压力。利用比特币、以太币这类加密货币,众多个人与企业正努力配合区块链底层技术以解决自身实际问题,但这套庞大的生态系统.

[0:15ms0-0:532ms