当前位置:首页 期刊杂志

机器学习融合ARIMA模型的离岸人民币汇率预测

时间:2024-06-19

周 亮

(湖南财政经济学院学报编辑部,湖南长沙410205)

一、引言

国际经贸和投资活动的广泛开展虽然对一国的经济增长具有一定的促进作用,但其也会给国家和企业带来较大的汇率风险,尤其是随着全球经济的放缓,一些国家的货币如阿根廷比索、俄罗斯卢布等出现了大幅贬值。2016年人民币正式纳入SDR货币篮子,大大提高了人民币对外关注度,外汇市场中的人民币投资者数量增加,人民币在跨境贸易中的使用量也相应增加。到目前为止,包括欧盟和俄罗斯在内的60多个国家和地区已将人民币纳入其外汇储备资产。截至2018年底,人民币储备占世界外汇储备总额的比率为1.89%,超过澳元和加元,创IMF自2016年10月报告人民币储备资产以来的最高水平。国际结算中人民币的地位越来越重要,美元/人民币汇率的波动也成为投资者关注的焦点。

全球人民币兑换交易的近80%发生在离岸市场,而香港是全球最大的人民币离岸市场,占了总数的48.8%。作为人民币国际化进程中的“测试领域”,香港离岸人民币市场的发展对在岸人民币的发展具有重大影响。人民币国际化使得离岸人民币汇率在很大程度上由市场决定,但离岸汇率风险会加剧在岸汇率的波动,对中国金融市场产生严重干扰,甚至影响中国外贸企业的利润。因此,搞好离岸人民币汇率的预测研究,不仅有利于国家和外贸企业加强管理和规避外汇风险,同时也是对外汇市场理论的有力补充。考虑到机器学习方法在自然语言处理、图像识别等领域取得了非常好的效果,且逐渐在金融投资领域显示出了较好的预测效果,本文拟采用机器学习融合ARIMA模型对离岸人民币汇率进行预测分析。

二、文献综述

汇率序列的预测方法大致分为购买力平价理论、汇率决定因素的结构性方程以及汇率自身历史数据的时间序列分析三种(熊志斌,2011)[1]。由于购买力平价理论需要满足一价定律的自由贸易前提假设,而我国加入WTO的时间较短,且市场没有完全开放,因此,基于购买力平价的汇率预测方法在预测人民币汇率时并不完全适用(徐立本和罗士勋,2005)[2]。大量文献采用结构方程或时间序列方法对汇率进行了预测。

(一)基于结构方程的汇率预测

基于结构方程的汇率预测方法主要是从经济和金融等基本面寻找影响汇率的决定因素。Meese和Rogoff(1983)[3]曾认为随机游走预测总是胜过各种模型,但其后的大量研究证明了结构方程的有效性。Cheung等(2005)[4]发现,利用基于基本面因素的结构模型对汇率序列进行预测优于随机游走模型。Molodtsova和Papell(2009)[5]发现,基于泰勒规则基本原理的模型优于美元汇率的随机游走模型。Corte等(2012)[6]的研究表明,周期性外部失衡的测度可用于汇率预测,并且这些模型都胜过随机游走基准。Cheung等(2017)[7]考虑了不同模型的汇率预测效果,发现在不同时期模型的预测绩效会有所差异。Ponomareva等(2019)[8]发现,采用主成分分析方法提取基本面因素的共同项并建立结构方程,可以对汇率进行有效预测。学者们建立结构方程、预测汇率走势所使用的经济变量主要有:利率差异(Froot&Thaler,1990;夏斌斌,2008)[9,10]、价格或通胀差异(Rogoff,1996)[11]、货币或产出差异(Molodtsova&Papell,2009;周亮,2017)[5,12]、生产率差异(Cheung et al.,2005;张艳艳,2015)[4,13]、商品价格 (Chen&Rogoff,2003;周杰琦,2009)[14,15]。

(二)基于汇率数据的时间序列分析

由于汇率序列具有金融时间序列的基本特征,如尖峰厚尾、存在一定的自相关性等,很多学者采用时间序列分析方法对汇率数据进行预测,包括GARCH模型、ARIMA模型等。戴晓枫和肖庆宪(2005)[16]利用ARIMA模型和EGARCH模型对人民币/美元的日汇率值进行了预测,发现EGARCH模型更适合描述人民币/美元汇率的变动趋势。许少强和李亚敏(2007)[17]利用ARMA模型对欧元、日元汇率进行了预测,发现ARMA模型可以对汇率序列进行较好的拟合。郭琨和汪寿阳(2008)[18]利用周期-ARMA模型和多变量的CAR模型对人民币汇率进行了短期预测,发现这两种模型都能对原始数据进行很好的拟合,周期-ARMA模型的预测结果更平稳。宋博和陈万义(2017)[19]采用HP滤波法对汇率数据进行分解,再利用ARMA-GARCH模型对人民币汇率进行预测,取得了不错的效果。

随着机器学习模型在自然语言处理、图像识别等领域的广泛应用,很多学者将机器学习模型应用到汇率预测中。熊志斌(2011)[1]利用人工神经网络结合ARMA模型对人民币汇率序列进行了预测。蒋传进和宋福根(2010)[20]建立了NARX-ARMA汇率混合预测模型,发现相比于其他汇率预测模型,NARXARMA混合模型具有更好的预测效果。李佳等(2019)[21]采用深度学习方法GRU神经网络对欧元汇率进行了预测,发现GRU神经网络比传统机器学习方法和经典深度学习方法更能精准预测汇率。

本文拟采用HP滤波方法将离岸人民币汇率序列分解为线性的趋势项和非线性的周期项,并利用ARIMA模型和机器学习模型对趋势项和周期项进行拟合,再将两者的结果进行融合,以实现对汇率序列的准确预测。相比于前人的研究,本文的创新之处在于:一是除了常用的神经网络模型,本文还将随机森林纳入分析范畴,详细比较了多个神经网络模型及随机森林预测汇率序列时效果的差异;二是通过对神经网络参数进行稳健性检验,发现在对金融时间序列进行预测时,简单机器学习模型的有效性反而更强,这主要是因为金融时间序列噪声较多,复杂模型容易过拟合,从而导致预测效果变差。

三、研究设计

(一)神经网络

人工神经网络(ANN)是一种模仿生物神经网络的结构和功能的数学/计算模型,可以拟合各种函数,是金融和计算机科学等领域应用最为广泛的一种机器学习方法,主要用于分类问题的研究。现在已有越来越多的文献将其应用于回归分析,并显示出良好的应用效果。常见的神经网络包括输入层、隐藏层和输出层三层,每层的基本单元称为神经元,是模仿人类大脑工作原理,只有在信号超过某个阈值才处理它的节点。神经元之间采用前馈和误差反向传播的方式进行训练,输入层的节点数量是由样本量决定的,通过控制隐藏层的节点数量及各节点的激活函数,可以提升模型的预测效果。图1是常见的神经网络结构,一般来说,当隐藏层神经元数(即节点数)越多、层数越多时,神经网络就越复杂,也就是说能拟合出更复杂的函数,但同时也可能导致模型过拟合。

图1 人工神经网络结构图

在人工神经网络的集合中,基于隐藏层的数量和数据流有几种变体,其中一种就是递归神经网络(RNN),即神经元之间的连接可以形成一个循环。与前馈网络不同,RNN可以使用内部存储器进行处理。RNN的特征在于隐藏层之间的连接按时间传播以便序列学习,不仅将当前输入到网络的数据作为其输入,而且还将它们长期以来的经历作为输入。

图2 RNN网络结构图

图2 是典型的RNN结构图,可以看出,RNN是一类神经元之间存在连接并形成有向循环的网络。RNN使用的信息更为全面,其在时间序列预测、语音识别等方面得到了广泛应用。

Elman神经网络是Elman于1990年针对语音处理问题提出来的,是一种典型的局部回归网络,也是相对简单的循环神经网络。Elman神经网络除了常见的输入层、隐藏层和输出层之外,隐藏层的输入与输出之间还有一个承接层,该模块存储了隐藏层的输入信号,再作为输入变量影响隐藏层的下期输入。Elman神经网络的具体结构如图3所示。

图3 Elman神经网络结构图

Elman神经网络的传导公式如下:

其中,w1、w2、w3分别表示承接层到隐藏层、输入层到隐藏层、隐藏层到输出层之间的连接权重,u为输入向量,x和xc分别为隐藏层和承接层的输出向量,f1(·)为隐藏层的激励函数,f2(·)为输出层的激励函数。Elman网络虽然属于一种循环神经网络,但其模型结构较为简单,在实践中得到了广泛应用,也是RNN网络的基本构成元素。本文将利用ANN、RNN和Elman三种神经网络对汇率时间序列进行分析,激活函数则采用常见的sigmod函数。

(二)随机森林

随机森林是一种集成学习方法,它的基本单元是决策树,每棵决策树都是一个分类器。随机森林只关注树的集成学习,在树的集成(森林)产生之后,该模型使用投票的方法来组合预测结果,并将投票次数最多的类别指定为最终的输出。随机森林可以处理海量数据,而大数据中所谓的“维数灾难”常常会导致其他模型失败。同时,随机森林对大多数学习任务的误差率几乎与其他方法处于同等水平,并且具有更少的过度拟合倾向。无论是在竞赛还是实际应用过程中,随机森林都受到很多人的重视。因此,本文除了采用三种神经网络对时间序列进行预测外,还增加随机森林方法,即采用四种机器学习方法对汇率序列进行分析。标准的随机森林分析流程如图4所示。

图4 随机森林流程图

(三)ARIMA模型

自回归滑动平均模型(ARMA模型)是研究时间序列的重要方法,它由自回归模型(简称AR模型)和滑动平均模型(简称MA模型)构成。标准的ARMA(p,q)模型的表达式如式(4)所示:

其中,Yt-i为自回归项,εt-i为移动平均项。ARMA模型要求时间序列是平稳的,但现实中金融时间序列往往是不平稳的,故需将原始时间序列进行差分转化为平稳序列,再进行ARMA建模。相对于原始序列,模型变为 ARIMA(p,d,q)的形式,其中的 d 是差分的次数。

ARIMA模型在研究线性较强的序列时拟合效果较好,故本文除了采用四种机器学习模型外,还利用ARIMA模型对汇率序列进行预测。由于ARIMA模型在线性数据上表现较好,而机器学习模型在非线性序列上表现较好,故本文首先采用HP滤波方法将汇率序列分解为线性的趋势项和非线性的周期项,再利用ARIMA模型和机器学习模型分别对趋势项和周期项进行预测,最后将两个预测结果加总,以提升模型的预测效果。

(四)预测效果检验指标

本文选择 RMSE、MAE、MAPE、Theil-U、DAR 五个指标衡量机器学习、ARIMA及两者融合模型的预测效果。其中,RMSE、MAE、MAPE、Theil-U 衡量的是跟踪误差,计算公式如式(5)至式(8)所示。式中的yˆi和yi分别表示预测值和真实值,指标数值越小,说明预测效果越好。DAR是方向准确率(Direction Accuracy Rate),即预测值正负方向与真实值正负方向相同的比率,计算公式如式(9)所示,该数值越大,说明预测效果越好。利用这五个指标,本文可以更准确地判断各模型的优劣。

(五)样本选取及说明

离岸人民币是指在中国境外经营的人民币业务,香港是目前最大的离岸人民币市场,新加坡于2011年开始也建立了人民币离岸市场。相比于在岸人民币汇率,离岸人民币受到的国内货币政策影响更小,市场化程度更高,因此,本文选择离岸人民币汇率(CNH)作为分析对象。本文选取2012年5月至2019年9月离岸人民币汇率的所有日数据作为分析对象,包括2 093个样本。图5给出了样本区间内的汇率走势,可以看出,人民币自2012年5月起逐渐升值,最高达到6.019 4(2014年1月),之后开始缓慢的贬值之旅。在2016年底阶段性见顶之后,2017年离岸人民币走出了一段升值行情,但自2018年年初人民币又开始缓慢贬值,目前离岸人民币汇率已经跌破7,达到7.14。总之,在该时间区间内,离岸人民币汇率有涨有跌,经历了一段完整的上涨行情(2014年1月至2016年12月)和一段完整的下跌行情(2017年1月至2018年2月),也包含着很多的上涨和下跌小周期,因此,样本周期能够反映时间序列各方面的特征,也有利于各种模型的充分比较。

图5 离岸人民币走势

四、实证结果分析

(一)单一模型的预测效果分析

为了检验模型的预测能力,本文将数据分为样本内和样本外两部分,样本内包括1 693个样本(2012年5月1日至2018年4月16日),样本外包括400个样本(时间区间为2018年4月17日至2019年9月30日)。本文首先采用单一模型对样本内数据进行建模,然后利用样本外数据进行滚动预测和分析。其中,ARIMA模型采用SIC和AIC准则确定具体的模型形式,单一模型采用的是ARIMA(1,1,1)形式。神经网络和随机森林模型均采用前20个数据作为输入样本(后文的稳健性检验将对输入样本的数量进行分析),即有:

式中,ext为离岸人民币汇率序列,man(ex)和min(ex)分别为汇率序列的最大值和最小值。中性化后的数据范围在0~1之间,便于人工智能模型的建模,在最后的预测效果分析中我们采用逆处理将预测数据转化为与汇率原始序列相同的量纲。

表1报告了采用单一模型对汇率序列进行预测的样本外预测误差。可以看出,就所有机器学习模型而言,ARIMA模型表现优异,其 RMSE、MAE、MAPE、Theil-U指数均低于其他四个机器学习模型,而方向预测准确率DAR指标却高于其他机器学习模型。在四个机器学习模型中,表现最好的是简单的ANN网络,其预测误差仅高于ARIMA,而随机森林(rf)和循环神经网络(RNN)表现一般,表现最差的是Elman循环网络,其RMSE达到0.284 3,远高于其他模型,DAR也仅为0.563 8,说明其对汇率涨跌预测的准确率仅为50%多。

表1 单一模型预测误差

图6绘出了五个单一模型的预测曲线,其中,实线exchange是汇率的原始序列。可以看出,ARIMA模型预测曲线与汇率曲线极为贴近,ANN模型预测曲线也表现较好,其仅在2019年8月以后表现稍差,而rf模型预测曲线同样是在前期表现较好,但在2019年8月以后表现较差,RNN和Elman模型的预测曲线则一直表现较差。综合来看,采用机器学习模型单独对汇率序列进行预测的效果并不好,这是因为机器学习模型主要是利用非线性建模的方法对序列进行分析,但汇率原始序列中包含了很多线性因素,因此,机器学习模型的拟合效果反而不如经典的线性模型。

图6 单一模型的预测曲线

(二)融合模型的预测效果分析

1.趋势序列和周期序列的预测效果。由前文的分析可知,机器学习模型在预测非线性模型时较为有效,而ARIMA模型在预测线性模型时较为有效。因此,本文采用HP滤波方法将离岸人民币汇率序列分解为趋势序列和周期序列,趋势序列的线性特征较为明显,而周期序列的非线性特征较为明显。图7绘出了HP滤波分解后趋势序列和周期序列的走势,可以看出,相对于原始汇率序列,趋势序列的走势更为平滑,而周期序列的波动极为剧烈。

由于趋势序列的走势更线性化,而周期序列走势的非线性更强,因此,本文利用ARIMA模型对趋势序列进行分析,利用机器学习模型对周期序列进行分析。本文同样选取1 693个样本作为样本内数据建立模型,选取400个数据作为样本外数据对预测效果进行检验。表2报告了预测效果,可以看出,ARIMA模型在预测趋势序列时的效果尤为突出,其RMSE仅为0.000 4,Theil-U指数接近于0,DAR达到0.986 7,相比于表1的汇率原始序列预测,模型的精度有了很大的提升。机器学习模型的预测效果也有了大幅改进,RNN模型的RMSE由0.095 2降至0.020 7,Elman模型的RMSE更是从0.284 3降至0.019 7,ANN和rf模型的预测效果也有了大幅提升。但是,由于机器学习模型预测的是波动极大的周期序列,从图7来看,序列方向变动极不明确,因此,除了Elman模型外,其他模型的DAR并没有明显改进。综合来看,采用HP滤波法将汇率序列区分为趋势序列和周期序列,并利用ARIMA和机器学习模型进行预测,都能取得优于利用原始序列直接进行预测的效果。

图7 汇率序列HP滤波趋势(上)及周期(下)

本文进一步验证了ARIMA模型对线性序列以及机器学习模型对非线性序列的预测效果,表3报告了模型的反向预测效果,即利用ARIMA模型对非线性的周期序列进行拟合,利用机器学习模型对线性的趋势序列进行拟合。可以看出,ARIMA对周期序列的拟合结果非常差,其RMSE高达0.354 5,远高于对原始序列拟合的0.028 8以及对趋势序列拟合的0.000 4,其他各误差项的结果也说明了预测效果的低效性。机器学习模型对趋势序列的拟合结果相对于原始序列来说略好(Elman除外),但相对于周期序列的拟合效果来说则表现明显要差(ANN除外)。表2和表3的对比结果充分验证了ARIMA模型在预测线性序列上的有效性,以及机器学习模型在预测非线性序列上的有效性。

表2 趋势序列(ARIMA)和周期序列(机器学习)的预测误差

表3 趋势序列(机器学习)和周期序列(ARIMA)的反向预测误差

2.融合模型的预测效果。本文将ARIMA模型对趋势序列的预测结果与机器学习模型对周期序列的预测结果进行整合,实现对离岸人民币汇率序列的预测。表4报告了融合模型的预测结果,可以看出,相对于表1的结果来说,所有融合模型的预测效果均有了大幅提升。效果最好的是ARIMA+rf模型,其RMSE仅为 0.019 3,Theil-U指数仅为 0.001 4,而DAR高达0.821 8。其次是ARIMA+Elman模型,其RMSE、Theil-U 指数、DAR 分别达到 0.019 6、0.001 4、0.819 1。ARIMA+RNN和ARIMA+ANN的预测效果也不错,相对于表1的模型,其预测效果有了一定的改善。图8的融合模型预测曲线显示,四个融合模型的预测曲线与汇率曲线紧紧贴合在一起,除了极个别的数据点之外,曲线极为相似,说明模型取得了优异的预测效果。综合来看,采用HP滤波法分离汇率序列的趋势项和周期项,并利用ARIMA和机器学习模型分别进行拟合,可以实现对离岸人民币汇率水平的准确预测。

表4 融合模型的预测误差

图8 融合模型的预测曲线

(三)稳健性检验

1.输入层单元数。由于神经网络模型的参数较多,且模型效果受参数的影响较大,而随机森林模型受参数的影响较小,因此,本文对神经网络的参数进行稳健性检验,主要包括对输入层单元数、隐藏层神经元数及隐藏层层数的检验。鉴于Elman网络在融合模型预测中表现最好,这里仅列出Elman网络的检验结果,其他两个网络的结果与之类似。输入层单元数相当于预测模型的自变量,前面的研究采用的是前20个汇率数据,这里分别将单元数设定为5、10、20、30、40、50,即分别采用前 5、10、20、30、40、50个汇率数据作为模型的自变量,以检验输入层单元数对模型预测结果的影响。

表5 输入层单元数的稳健性检验结果

表5报告了ARIMA+Elman融合模型的预测结果,可以看出,输入层单元数变大并没有使模型的预测效果改善,反而有所恶化。相比较而言,当输入层单元数为20时,模型的预测效果最佳。但总体来看,无论采用哪种输入层单元数,模型的预测效果仍优于表1中的单一模型预测,说明输入层单元数对模型整体预测效果的影响不是很大,前文的研究结论是稳健的。

2.隐藏层神经元数。隐藏层神经元数量对于神经网络的表现有着较为重要的作用,隐藏层神经元越多,模型就越复杂,但拟合出更复杂的模型,也很有可能因过拟合而使样本外绩效表现变差。为了检验隐藏层神经元数对模型预测效果的作用,本文分别选择 1、2、5、10、15、20、30、40 个神经元数进行分析,表6报告了不同神经元数的样本外预测效果。可以看出,神经元数量的增加并不会提升神经网络的预测效果,在所有8个模型中,只有1个隐藏层神经元的神经网络表现最好,表现最差的是有5个隐藏层神经元的网络。但总体而言,无论选择多少个隐藏层神经元个数,模型都能实现对汇率序列很好的预测。相比于表1中的单一预测模型,表6中的所有模型都拟合得更好,说明隐藏层神经元个数虽然对神经网络的表现有一定的影响,但并不影响本文的研究结论。

表6 隐藏层神经元数的稳健性检验结果

3.隐藏层层数。与隐藏层神经元数量一样,隐藏层层数同样会影响神经网络的表现。隐藏层层数越多,神经网络就越复杂,拟合出的模型也越复杂,这同样会产生过拟合问题,从而导致样本外绩效较差。本文构造了三个双隐藏层神经网络,分别为“10+5”“5+1”“10+1”。“10+5”指的是第一个隐藏层包含 10个神经元,第二个隐藏层包含5个神经元,其他两个模型依此类推。作为对比,本文将原来包含10个神经元的单隐藏层Elman网络的结果也列示出来。从表7中可以看出,相比于单层网络,双层网络并不能提升模型的预测效果,但相比于表1的单一模型预测效果有了很大的提升。综合来看,由于本文的汇率预测序列数据量不大,选用简单的单层网络效果更佳,而即使选择了较复杂的网络结构,也能得到较好的预测效果,说明本文的研究结论是稳健的。

表7 双隐藏层神经网络的稳健性检验结果

五、研究结论与启示

本文利用人工神经网络(ANN)、循环神经网络(RNN)、Elman神经网络、随机森林四种机器学习模型以及ARIMA时间序列预测模型,对2012年5月至2019年9月离岸人民币汇率进行了预测,并选择RMSE、MAE、MAPE、Theil-U、DAR 五个指标衡量模型的预测效果。从单一模型的预测效果来看,ARIMA模型表现最好,其次是简单的ANN模型,RNN、Elman和随机森林则表现一般。采用HP滤波法将汇率序列区分为趋势序列和周期序列,并利用ARIMA和机器学习模型对趋势序列和周期序列进行预测的结果显示,无论采用哪种机器学习模型,模型的预测绩效都得到了显著改善。对神经网络多项参数的稳健性检验显示,选用简单的网络效果更佳,而较复杂的RNN网络以及更多的隐藏层神经元个数和隐藏层层数并不能提升网络的预测绩效。

对汇率进行准确预测不仅可以帮助企业规避外汇风险,而且对于丰富金融时间序列预测理论也具有重要的参考价值。一是金融时间序列往往包含较多的噪声,如果直接采用某种单一模型对其进行预测效果并不很好,而采用HP滤波等降噪方法将金融序列分解为趋势项和周期项,并将线性模型与非线性模型结合起来就能取得较好的预测效果。二是随机森林的预测效果较为稳健,这主要得益于其集成学习方法的属性,使过拟合倾向降低。由于不同的神经网络选择会导致预测结果发生较大的变化,因此,针对不同问题选择合适的机器学习模型是提高预测效果的一个重要出发点。三是相比于语音处理、图像识别等领域成千上万个输入单元,金融时间序列的输入变量较少,在金融领域,简单的神经网络或机器学习模型就能取得较好的效果。深度学习虽然能够将样本内数据拟合得很好,但由于金融时间序列存在噪声过多等特点,故样本内的过拟合反而会使样本外的绩效表现变差。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!