雷锋网按:自从比特币的价格暴涨以来,关于数字货币的炒作一直不断。每天都有新的数字货币的信息,它们有的被证实是局,有些则会在几个月成为新的顶级货币。炒币人士通常会为了一个传言而买入卖出,自然,也会有人尝试用机器学习来对数字货币的价格变化进行分析,来找出影响数字货币价格变动的因素。近日在外媒Medium上,就有一位叫做ChalitaLertlumprasert的博主发表了如何用机器学习来预测数字货币价格变化的文章,雷锋网整理如下:
机器学习分析数字货币价格变化的原理
在经典的时间序列分析中,我们认为观察到的时间序列是模式和随机变量的组合。使用这种方法,我们可以根据历史数据预测未来的价值。这种方法在大多数情况下可行,但是如果这个时间序列更加随机化呢?如果一个时间序列主要是基于当前事件的推测,而不是具有一定的内在模式呢?嗯,你一定猜到了,低价数字货币就是这样。
那么,究竟是什么在推动数字货币的价格?对于数字货币的猜测?创新?法律问题?公众舆论?供给/需求的变化?比特币的流行程度?甚至,土豪心血来潮决定购买一百万个代币?OK,现在是让数据说话的时候了。
那么,影响加密价格的因素是?
Signature Bank:周一重新开放,业务没有受到限制或中断:金色财经报道,Signature Bank表示,周一重新开放,(业务)没有受到限制或中断。客户仍将由私人客户组提供服务。(金十)[2023/3/20 13:15:13]
因素1:许多人说,答案是比特币。区块链技术是首先由比特币实施的分散式数据库系统,被认为是极有可能改变现代商业模式的一种技术趋势。随着比特币备受关注,人们不断推出也基于区块链技术的替代数字货币。从某种意义说,比特币几乎是所有数字加密货币之母,其首先应用了这个行业的基本技术。这就是为什么我认为当比特币价格飙升时,所有其他数字货币都会随之上升,反之亦然。以下图表是比特币和以太坊的价格变化曲线。
正如你所见,这当中的对应关系看起来相当准确。但是,如果没有统计方法上的证明,我们不会急于下结论。稍后,我们将更多地讨论使用格兰杰因果检验来确定一个“协整关系对”。
因素2:很明显,法律因素或其他足以影响游戏规则的技术手段也在影响数字货币的价格。去年九月中国禁止数字货币的时候,所有数字货币价格迅速下降,一切都陷入混乱。为此,我们从PytrendsAPI获取重大事件的GoogleNews搜索频率数据。下面的图表中的红色曲线显示了当数字货币价格下降时,“数字货币”的搜索频率达到峰值。
DCG旗下加密矿企Foundry收购同行Compute North部分资产:11月23日消息,DCG旗下加密矿企Foundry将收购比特币矿企Compute North两处矿场,分别位于南达科他州北苏城和德克萨斯州大斯普林斯,电力供应总计17MW。作为交易的一部分,Foundry还将有权完全建设和运营ComputeNorth位于内布拉斯加州明登的设施,交易还包括矿工拥有的一系列矿机的权利,及其知识产权。
此前报道,Compute North已于9月向联邦法院申请第11章破产保护,Foundry近日在推特上发表声明称,独立于Genesis Lending运营,日常运营不受Genesis最近公告的影响。(CoinDesk)[2022/11/23 7:59:22]
很有意思吧?在本项目中,搜索的关键词由Google关键词工具选择,这个工具不仅让你知道关键词的流行程度,还提供了相关关键词的列表。通过所提供的列表和PytrendAPI,我们获得了七个不同的关键词的搜索频率数据。在稍后的章节中我将详细介绍这些术语。
因素3:公众的认知也是另一重要影响因素。购买越多,需求越多,数字货币价格就越高。要得到这些数据些难度,付费的TwitterAPI可以解决这个问题,但因为穷,我更希望把这笔钱花到其他地方。我选择的是redditmetrics.com,该网站可以统计Reddit所有子话题的历史订阅增长数据。下面则对Nem的子话题订阅增长与新的历史价格进行了比较。
数据:近24小时全网爆仓1.61亿美元:金色财经报道,据Coinglass数据,近24小时全网爆仓1.61亿美元,其中以太坊爆仓4352.38万美元,比特币爆仓2858.92万美元。[2022/10/11 10:30:56]
正如预期的那样,订阅的增长与价格趋势变化有着高度的重合。
以上展示只是为了让你对这一领域有一个初步的了解,并向你介绍我们正在试图解决的问题。在我的GitHub上可以看到一个完整的EDA,接下来,我将介绍一个预测硬币未来价格的模型的统计方法。
如何建立模型?
在本节中,我们将深入探讨方法论。这里仅仅是每一步的总结,如果你想对代码深入挖掘,请参阅我的GitHub库。
1确定协整关系对
我们通过CryptocompareAPI获得了12种主要数字货币的价格历史数据。在我们对时间序列做任何事情之前,我们必须确保时间序列是固定的。为了满足平稳性的要求,时间序列必须具有常数均值、常数方差和自相关常数。而在现实中,完美定态的时间序列是不存在的,但无需担心,我们有迪基-福勒检验!
扩展迪基-福勒检验是一个统计测试,可以测试一个自回归模型是否存在单位根。测试采用自回归模型,并通过不同的滞后值对信息因素进行优化。当中的零假设是时间序列可以用单位根表示。在统计学上,如果你的P值小于0.05,这意味着可以拒绝零假设。但是——再一次强调——对于特定问题,结果应该是可解释和有意义的。事实证明,设定0.05的门槛,所有12种硬币的历史价格都不会通过定态测试,在这种情况下,我们要对时间时间序列定态化和重新进行测试。
以太坊主网已完成第11次影子分叉:8月20日消息,据以太坊核心开发人员Tim Beiko在社交媒体上透露,以太坊主网已完成第11次影子分叉(mainnet-shadow-fork-11),也是迄今为止表现最好的影子分叉,目前已经有34/35个节点顺利通过合并(The Merge),而1/35尚未进行同步。Tim Beiko补充称,目前还发现了合并后会出现的两个问题,一个是Erigon在Goerli客户端产生了坏区块,另一个问题与Nethermind在与某些客户端交互时产生的区块有关,这两个问题都正在进行修复,开发团队将在后续影子分叉上测试这些问题。[2022/8/20 12:37:40]
差分化:这是用来对时间序列定态化的一种常用方法,可以消除趋势和季节性。在本项目中,我们对连续观测的差异进行了差分化。如果一个时间序列具有季节性因素,则滞后值应该是季节性的周期。在数字货币的例子中没有明显的季节性成分。下面的箱线图表明,以太坊在一天24小时内每小时的价格平均值相对恒定。其方差不同,但没有明显的模式。而在对时间序列进行了滞后差分后,所有的12种货币都通过了迪基-福勒检验。
格兰杰因果关系检验:这是一种统计假设检验,用于确定一个时间序列是否有助于预测另一个时间序列。在这里,我们用格兰杰因果关系检验来确某一数字货币的价格滞后值是否可以用于预测其他硬币的未来价值。
CreatorDAO完成2000万美元种子轮融资,a16z和Initialized Capital领投:8月9日消息,CreatorDAO完成2000万美元种子轮融资,a16z和Initialized Capital领投,Paris Hilton和音乐家The Chainsmokers等参投。据悉,CreatorDAO投资于创作者,以换取他们未来收入的一定比例,DAO结构允许众包投资决策,并奖励对DAO的贡献。(CoinDesk)[2022/8/10 12:13:57]
既然12个钱币的历史价格数据是定态的,我们构建了一个总的132组不同货币的数据对,每一个数据对都是某数字货币对应于其他数字货币的历史价格,用于进行格兰杰因果关系检验。检验的零假设是:每一个货币数据对中,后一种数据货币没有对前一种数据产生影响,在测试之后后我们初步发现,达世币H与比特币现金之间相关性最强,但进一步的研究结果表明,这种强烈的相关性是由于来自韩国交易的激增。考虑到这不是一个正常的交易,因为这不是一个正常的情况下,我们选择了XEM-IOT这一对相关性最强的货币对,在本项目中,我们将用IOT的历史来对XEM的价格进行预测。
2.特征选择
数据查询。以下是分析的数据及其来源:
CryptocompareAPI:XEM和IOT的历史价格,每小时;PytrendsAPI:GoogleNews对“Cryptocurrency”关键词的搜索频率;redditmetrics.com数据:对”Cyptocurrency”、“Mem”、“IOT”子话题订阅量的增长PytrendsAPI:对“Nemwalletdownload“、“Iotawalletdownload”,“Nemprice”,Iotaprice”,Bitcoinprice”,“GPUformining”等Google关键词的搜索频率——这些关键词基于Google关键词工具挖掘。YahooFinancialAPI:AMD、NVIDIA两大挖矿军火商的股票价格
ElasticNet回归、正则化:上述查询数据可能存在关联性,如在“Bitcoinprice”和“CryptoCurrency”可能包含类似Google搜索频率信息,谷歌搜索频率。使用类似的特性构建模型会造成冗余并影响预测结果。ElasticNet可将冗余预测系数缩小到零。
在本项目中,我们对上述13个特征变量用ElasticNet回归正则化,其中因变量为XEM的历史价格。经过算法处理后,最终剩下三个具有非零系数的预测因子。这些特性将用于构建最终模型。我同样也用也试着用13个特征建立了一个模型,与使用选定的3个特征建立的模型相比,性能差异并不显著。最终我选用了3个特征的模型。
3.建立模型
在本项目中,我们使用ARIMAX模型来预测XEM的未来价格。ARIMAX模型如同ARIMA模型通过自回归和移动平均值进行预测,但ARIMAX可包含其他外生变量,在此我们使用的是之前选择的3个外生变量。
数据预处理:我们之前已经提到了定态性和迪基-福勒检验的相关内容,在此不再展开。这些书在ElasticNet前已经标准化过了,我们只需进行差异化处理,并确保其通过了迪基-福勒检验。之后数据被清理并分成测试集和训练集。
ACF&PACF:数据已经确定,我们需要1)确定时间序列是自回归或是移动平均过程;2)确定我们需要在模型中使用自回归和移动平均过程的顺序。ACF可以回答第一个问题,也可以用于确定移动平均序列中的滞后阶数。下图为XEM历史价格的ACF和PACF。
正如我们所见,这是一个自回归过程,因为ACF没有截止值。PACF在滞后滞后有一个截止值,这将是我们用于ARIMAX模型的参数。
ARIMAX:使用AR1和3个外生变量。下图是与实际值比较的拟合值。
用拟合出的模型得出的XEM价格预测。下图是基于XEM样本对未来600步的预测值。
如我们预期,该模型在开始的表现更好,而随着时间的推移,预测误差也在不断增加。在1-100步内,预测的均方误差为0.039,而101-600步的均方误差为0.119。
总结
我们用IOT的历史价格以及对“NemPrice”的Google搜索量、“Nem”子条目的订阅量增长建立ARIMAX模型来预测NEX的数字货币价格。在100小时以内,预测结果是可以接受的,超过100小时后就不能看了。
这是我的第一个数据科学项目,还有很大的改进空间。如果使用付费的Twitter数据或者使用不同的机器学习模型可能会显著提高其性能,目前我会考虑提出一个能用于自动交易的交易信号算法,但摸摸我的钱包,我不禁流下了悲伤的泪水。
我希望你能像我喜欢写这篇文章一样喜欢这篇文章!如果你有任何想法,请留言让我知道。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。