雷锋网按:自从比特币的价格暴涨以来,关于数字货币的炒作一直不断。每天都有新的数字货币的信息,它们有的被证实是局,有些则会在几个月成为新的顶级货币。炒币人士通常会为了一个传言而买入卖出,自然,也会有人尝试用机器学习来对数字货币的价格变化进行分析,来找出影响数字货币价格变动的因素。近日在外媒Medium上,就有一位叫做ChalitaLertlumprasert的博主发表了如何用机器学习来预测数字货币价格变化的文章,雷锋网整理如下:
机器学习分析数字货币价格变化的原理
在经典的时间序列分析中,我们认为观察到的时间序列是模式和随机变量的组合。使用这种方法,我们可以根据历史数据预测未来的价值。这种方法在大多数情况下可行,但是如果这个时间序列更加随机化呢?如果一个时间序列主要是基于当前事件的推测,而不是具有一定的内在模式呢?嗯,你一定猜到了,低价数字货币就是这样。
那么,究竟是什么在推动数字货币的价格?对于数字货币的猜测?创新?法律问题?公众舆论?供给/需求的变化?比特币的流行程度?甚至,土豪心血来潮决定购买一百万个代币?OK,现在是让数据说话的时候了。
那么,影响加密价格的因素是?
OP跌破1.4美元,日内跌幅达7.28%:金色财经报道,行情显示,OP跌破1.4美元,现报1.374美元,日内跌幅达到7.28%,行情波动较大,请做好风险控制。[2023/5/31 11:50:51]
因素1:许多人说,答案是比特币。区块链技术是首先由比特币实施的分散式数据库系统,被认为是极有可能改变现代商业模式的一种技术趋势。随着比特币备受关注,人们不断推出也基于区块链技术的替代数字货币。从某种意义说,比特币几乎是所有数字加密货币之母,其首先应用了这个行业的基本技术。这就是为什么我认为当比特币价格飙升时,所有其他数字货币都会随之上升,反之亦然。以下图表是比特币和以太坊的价格变化曲线。
正如你所见,这当中的对应关系看起来相当准确。但是,如果没有统计方法上的证明,我们不会急于下结论。稍后,我们将更多地讨论使用格兰杰因果检验来确定一个“协整关系对”。
因素2:很明显,法律因素或其他足以影响游戏规则的技术手段也在影响数字货币的价格。去年九月中国禁止数字货币的时候,所有数字货币价格迅速下降,一切都陷入混乱。为此,我们从PytrendsAPI获取重大事件的GoogleNews搜索频率数据。下面的图表中的红色曲线显示了当数字货币价格下降时,“数字货币”的搜索频率达到峰值。
马斯克呼吁暂停至少六个月时间比GPT-4更强大的AI:金色财经报道,马斯克和1000多名人工智能专家及行业高管签署联名信,呼吁暂停至少六个月时间训练比 GPT-4 更强大的人工智能系统,这种暂停应该是公开的、可核查的,并包括所有的关键参与者。如果这种暂停不能迅速颁布,政府应该介入并制定一个暂停令。
信中写道:只有在我们确信它们的效果是积极的,风险是可控的情况下,才应该开发强大的人工智能系统。(utureoflife.org)[2023/3/29 13:32:41]
很有意思吧?在本项目中,搜索的关键词由Google关键词工具选择,这个工具不仅让你知道关键词的流行程度,还提供了相关关键词的列表。通过所提供的列表和PytrendAPI,我们获得了七个不同的关键词的搜索频率数据。在稍后的章节中我将详细介绍这些术语。
因素3:公众的认知也是另一重要影响因素。购买越多,需求越多,数字货币价格就越高。要得到这些数据些难度,付费的TwitterAPI可以解决这个问题,但因为穷,我更希望把这笔钱花到其他地方。我选择的是redditmetrics.com,该网站可以统计Reddit所有子话题的历史订阅增长数据。下面则对Nem的子话题订阅增长与新的历史价格进行了比较。
美国国会议员:SEC主席必须在国会作证并对其失败的加密监管作出解释:12月12日消息,美国国会议员Tom Emmer周日呼吁美国证券交易委员会(SEC)主席Gary Gensler在国会发表讲话,说明他监管加密货币的方法。Tom Emmer发推文称:“Gary Gensler必须在国会作证并回答有关其监管失败成本的问题。”Emmer表示,SEC未能从加密货币公司收集到所需的信息,这些信息本可以防止灾难发生,例如价值320亿美元的加密货币交易所FTX倒闭。Emmer称:“我们现在知道Gensler的加密信息收集工作是无效的。”
Emmer认为,美国证券交易委员会对其监管加密行业的方法一贯缺乏清晰度,他引用了3月份发给Gensler的一封信,信中询问了有关金融监管机构政策和程序的具体问题,而Gensler的回复回避了这些问题,Emmer称:“Gensler拒绝向国会提供信中要求的信息,这些信息将告知国会Gensler方法中的明显不一致,导致他错过了对Terra/Luna、Celsius、Voyager和FTX的有效监管。”(Decrypt)[2022/12/12 21:38:33]
正如预期的那样,订阅的增长与价格趋势变化有着高度的重合。
FTX提交破产申请后Coinbase交易量暴跌75%:金色财经报道,据加密市场分析平台Nomics数据显示,在FTX提交破产申请后,Coinbase的交易量暴跌了约75%,表明加密投资者或因市场日益动荡而对整个加密货币行业产生怀疑。瑞穗高级分析师丹·多列夫 (Dan Dolev) 表示,FTX提交破产申请之后,越来越多投资者开始重新评估是否要交易加密货币,这可能会损害像Coinbase这样的交易平台,此外Coinbase首席执行官Brian Armstrong在社交媒体上发文称,现在需要强调Coinbase和FTX并不一样。[2022/11/13 12:56:40]
以上展示只是为了让你对这一领域有一个初步的了解,并向你介绍我们正在试图解决的问题。在我的GitHub上可以看到一个完整的EDA,接下来,我将介绍一个预测硬币未来价格的模型的统计方法。
如何建立模型?
在本节中,我们将深入探讨方法论。这里仅仅是每一步的总结,如果你想对代码深入挖掘,请参阅我的GitHub库。
1确定协整关系对
我们通过CryptocompareAPI获得了12种主要数字货币的价格历史数据。在我们对时间序列做任何事情之前,我们必须确保时间序列是固定的。为了满足平稳性的要求,时间序列必须具有常数均值、常数方差和自相关常数。而在现实中,完美定态的时间序列是不存在的,但无需担心,我们有迪基-福勒检验!
Paradigm:BTC和ETH看跌期权的需求重新出现:11月8日消息,在FTX抛售中,比特币和以太坊因保护性需求而出现价格下滑,因为悲观情绪转变可能导致投资者担心FTX-Alameda可能出现类似Terra崩溃的情况。
场外加密衍生品技术平台Paradigm机构销售和交易主管Patrick Chu分析称:“在与 FTT 相关的负面消息传出后,我们看到了市场对下行保护的新需求。特别是短期看跌期权,市场已经对11 月底/12月底到期的比特币和以太坊看跌全球出现强烈需求。”( CoinDesk)[2022/11/8 12:32:30]
扩展迪基-福勒检验是一个统计测试,可以测试一个自回归模型是否存在单位根。测试采用自回归模型,并通过不同的滞后值对信息因素进行优化。当中的零假设是时间序列可以用单位根表示。在统计学上,如果你的P值小于0.05,这意味着可以拒绝零假设。但是——再一次强调——对于特定问题,结果应该是可解释和有意义的。事实证明,设定0.05的门槛,所有12种硬币的历史价格都不会通过定态测试,在这种情况下,我们要对时间时间序列定态化和重新进行测试。
差分化:这是用来对时间序列定态化的一种常用方法,可以消除趋势和季节性。在本项目中,我们对连续观测的差异进行了差分化。如果一个时间序列具有季节性因素,则滞后值应该是季节性的周期。在数字货币的例子中没有明显的季节性成分。下面的箱线图表明,以太坊在一天24小时内每小时的价格平均值相对恒定。其方差不同,但没有明显的模式。而在对时间序列进行了滞后差分后,所有的12种货币都通过了迪基-福勒检验。
格兰杰因果关系检验:这是一种统计假设检验,用于确定一个时间序列是否有助于预测另一个时间序列。在这里,我们用格兰杰因果关系检验来确某一数字货币的价格滞后值是否可以用于预测其他硬币的未来价值。
既然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数据或者使用不同的机器学习模型可能会显著提高其性能,目前我会考虑提出一个能用于自动交易的交易信号算法,但摸摸我的钱包,我不禁流下了悲伤的泪水。
我希望你能像我喜欢写这篇文章一样喜欢这篇文章!如果你有任何想法,请留言让我知道。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。