李章曉, 宋 微, 田 野
(1.徽商職業(yè)學(xué)院 會(huì)計(jì)系,安徽 合肥 230022; 2.安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230601)
外匯交易市場(chǎng)是世界上最大的金融市場(chǎng)之一.對(duì)匯率的預(yù)測(cè)可以為投資者提供有效的決策參考,從而能夠增加收益并減小風(fēng)險(xiǎn)[1].然而,匯率時(shí)刻受到經(jīng)濟(jì)、政治、社會(huì)、國(guó)際局勢(shì)等多種因素的綜合影響,因此外匯預(yù)測(cè)與投資組合優(yōu)化是一個(gè)非常重要且極具挑戰(zhàn)性的研究課題[2].
隨著計(jì)算機(jī)與人工智能技術(shù)的發(fā)展,許多機(jī)器學(xué)習(xí)模型被用于外匯預(yù)測(cè)任務(wù)中.例如,Galeshchuk[3]利用前饋神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)了3個(gè)外匯產(chǎn)品的每日及每月匯率;Liu等[4]采用支持向量機(jī)預(yù)測(cè)了4個(gè)外匯產(chǎn)品的每日匯率;而Kuan等[5]比較了前饋神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)在匯率預(yù)測(cè)上的性能.為了增強(qiáng)學(xué)習(xí)模型在外匯預(yù)測(cè)任務(wù)中的精度,一些進(jìn)化算法被用于提升學(xué)習(xí)模型的性能.例如,馬驪等[6]利用人工魚群算法來(lái)優(yōu)化支持向量機(jī)的超參數(shù)以預(yù)測(cè)人民幣對(duì)九種貨幣的匯率;Inthachot等[7]采用遺傳算法來(lái)選取最佳的金融指標(biāo)作為神經(jīng)網(wǎng)絡(luò)的輸入;而Dinh等[8]利用多目標(biāo)進(jìn)化算法建立了一個(gè)集成模型來(lái)預(yù)測(cè)4個(gè)外匯產(chǎn)品的匯率.
另一方面,進(jìn)化算法在投資組合優(yōu)化中也表現(xiàn)出了較好的應(yīng)用潛力.例如,Skolpadungket等[9]利用多目標(biāo)遺傳算法來(lái)進(jìn)行投資組合優(yōu)化,Branke等[10]利用一種新型的多目標(biāo)進(jìn)化算法來(lái)優(yōu)化一個(gè)具有許多約束的投資組合模型.李章曉等[11]將帶決策者偏好的多目標(biāo)遺傳算法用于投資組合優(yōu)化中,并獲得了指定區(qū)域的最優(yōu)投資組合.
盡管機(jī)器學(xué)習(xí)和進(jìn)化計(jì)算技術(shù)已被成功地用于外匯預(yù)測(cè)和投資組合優(yōu)化中,但大部分現(xiàn)有工作只采用了較早的機(jī)器學(xué)習(xí)模型與進(jìn)化算法.為了提升外匯預(yù)測(cè)的精度與投資組合優(yōu)化的效果,筆者采用近些年來(lái)提出的深度學(xué)習(xí)模型和新型進(jìn)化算法分別用于外匯預(yù)測(cè)和投資組合優(yōu)化.另外,為了更接近真實(shí)的外匯交易市場(chǎng),筆者建立了一個(gè)雙目標(biāo)的投資組合模型,其中允許買空與賣空,并考慮了點(diǎn)差對(duì)收益的影響.
圖1 本文方法的流程Fig.2 Procedure of the proposed approach
本文方法的流程如圖1所示.首先,利用循環(huán)神經(jīng)網(wǎng)絡(luò)GRU[12]對(duì)每個(gè)外匯產(chǎn)品建立匯率預(yù)測(cè)模型,并預(yù)測(cè)外匯產(chǎn)品的價(jià)格和計(jì)算相應(yīng)的期望收益率.接著,基于多個(gè)外匯產(chǎn)品的期望收益率與投資組合模型,利用多目標(biāo)進(jìn)化算法ARMOEA[13]來(lái)搜索出最優(yōu)的投資組合.為了證實(shí)本文方法的性能,在4個(gè)外匯產(chǎn)品EUR/CHF、EUR/GBP、GBP/USD和USD/CAD的真實(shí)歷史數(shù)據(jù)上進(jìn)行回測(cè).實(shí)驗(yàn)結(jié)果表明,本文方法能夠?qū)崿F(xiàn)在外匯交易市場(chǎng)中的盈利.
循環(huán)神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的兩個(gè)主要技術(shù)[14].由于循環(huán)神經(jīng)網(wǎng)絡(luò)具有記憶歷史輸入的能力,它常被用于具有序列輸入的機(jī)器學(xué)習(xí)任務(wù)中,例如語(yǔ)音識(shí)別[15]和文本產(chǎn)生[16].在序列預(yù)測(cè)任務(wù)中,循環(huán)神經(jīng)網(wǎng)絡(luò)較之傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)的最大優(yōu)點(diǎn)在于前者的輸入僅為序列中當(dāng)前時(shí)刻的特征,而傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的輸入需要為前k個(gè)時(shí)刻的所有特征,且k通常難以確定.
傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)的一個(gè)缺點(diǎn)是它只能記憶短期的歷史輸入[17].為了解決這一問(wèn)題,LSTM[18]加入了特殊的記憶單元(隱層)來(lái)顯式記錄歷史信息,它被證實(shí)可以記錄較長(zhǎng)的歷史輸入,并因此成為目前最為流行的循環(huán)神經(jīng)網(wǎng)絡(luò).筆者將采用與LSTM類似的循環(huán)神經(jīng)網(wǎng)絡(luò)GRU[12]來(lái)構(gòu)建匯率預(yù)測(cè)模型.GRU與LSTM有著類似的記憶功能,但前者具有更為簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu)(LSTM有4個(gè)隱層而GRU有3個(gè)隱層),且被證實(shí)在一些任務(wù)上具有更快的收斂速度[19].
多目標(biāo)進(jìn)化算法已成功應(yīng)用于許多科研和工程領(lǐng)域,例如數(shù)據(jù)挖掘[20]和無(wú)人機(jī)任務(wù)規(guī)劃[21].利用進(jìn)化算法來(lái)求解多目標(biāo)優(yōu)化問(wèn)題的優(yōu)勢(shì)在于它無(wú)需知道待優(yōu)化函數(shù)的具體表達(dá)形式,且待優(yōu)化函數(shù)可以是多峰、不可導(dǎo)甚至是離散的.傳統(tǒng)方法(如二次規(guī)劃)無(wú)法求解一些具有非凸搜索空間的投資組合模型,但多目標(biāo)進(jìn)化算法仍然能求解它們[10].
自VEGA[22]于1985年被提出以來(lái),已有數(shù)以百計(jì)的進(jìn)化算法被成功用于求解各類多目標(biāo)優(yōu)化問(wèn)題.筆者將采用一個(gè)最近被提出的多目標(biāo)進(jìn)化算法AR-MOEA[13]來(lái)優(yōu)化本文中的投資組合模型.AR-MOEA利用遺傳算子產(chǎn)生子代,并利用基于指標(biāo)的選擇算子來(lái)更新種群.該算法的特點(diǎn)在于它可以在進(jìn)化過(guò)程中不斷更新用于計(jì)算指標(biāo)的參考點(diǎn)集,從而使得種群可以擁有更好的收斂性與分布性.實(shí)驗(yàn)結(jié)果證實(shí),AR-MOEA在不同測(cè)試問(wèn)題上能夠取得比其他多目標(biāo)進(jìn)化算法更加穩(wěn)定的結(jié)果[13].
筆者采用GRU對(duì)每個(gè)外匯產(chǎn)品建立匯率預(yù)測(cè)模型.該模型的輸入xt為第t個(gè)小時(shí)內(nèi)每分鐘的匯率,即
xt=(xt,1,xt,2,…,xt,60)T.
(1)
其中,xt,i為第t小時(shí)第i分鐘的收盤價(jià).該模型的輸出yt+1為第t+1個(gè)小時(shí)最后一分鐘的收盤價(jià),即
yt+1=xt+1,60.
(2)
此外,為了便于模型訓(xùn)練,所有的輸入和輸出數(shù)據(jù)在訓(xùn)練之前將會(huì)被標(biāo)準(zhǔn)化,即減去所有數(shù)據(jù)的均值并除以所有數(shù)據(jù)的標(biāo)準(zhǔn)差.
總而言之,該模型利用前一小時(shí)內(nèi)每分鐘的匯率信息來(lái)預(yù)測(cè)一小時(shí)后的匯率,因此,該外匯產(chǎn)品的期望收益率p可以由下式得到:
(3)
顯然,當(dāng)p>0時(shí),期望收益率為正,應(yīng)該執(zhí)行買空操作;反之期望收益率為負(fù),應(yīng)該執(zhí)行賣空操作.值得一提的是,由于點(diǎn)差(即同一時(shí)刻買入價(jià)格高于賣出價(jià)格)的存在,當(dāng)期望收益率p小于點(diǎn)差時(shí),不應(yīng)執(zhí)行任何買空或賣空操作.
根據(jù)Markowitz的投資組合理論[23],基本的投資組合優(yōu)化問(wèn)題是一個(gè)雙目標(biāo)的優(yōu)化問(wèn)題,即最大化期望收益率與最小化風(fēng)險(xiǎn),其中最重要的參數(shù)即每個(gè)外匯產(chǎn)品的期望收益率.在本文方法中,該期望收益率由2.1節(jié)建立的GRU模型預(yù)測(cè)得到.
大部分現(xiàn)有工作中的投資組合模型為[10]:
(4)
式中:目標(biāo)f1為總期望收益率;目標(biāo)f2為風(fēng)險(xiǎn);w為每個(gè)外匯產(chǎn)品上的投資權(quán)重;e為單位向量;p為所有外匯產(chǎn)品的期望收益率向量;c為所有外匯產(chǎn)品的期望收益率的協(xié)方差矩陣.
為了接近真實(shí)的外匯交易市場(chǎng),筆者所建立的投資組合模型允許買空與賣空,并考慮了點(diǎn)差對(duì)收益的影響.具體來(lái)說(shuō),本文中的投資組合模型為:
(5)
式中:θ為多個(gè)外匯產(chǎn)品的點(diǎn)差向量.通過(guò)比較公式(4)與(5)可知,本文中的期望收益率減去了點(diǎn)差部分,同時(shí)放寬了每個(gè)外匯產(chǎn)品上的投資權(quán)重的限制.在公式(4)中,wTe=1要求必須進(jìn)行投資;而公式(5)中 |w|Te≤1則不強(qiáng)制進(jìn)行投資,這在期望收益率小于點(diǎn)差時(shí)是必要的.在公式(4)中,0≤wi≤1只允許買空,而公式(5)中-1≤wi≤1既允許買空,又允許賣空.
由匯率預(yù)測(cè)模型獲得期望收益率后,便可以根據(jù)公式(5)計(jì)算總期望收益率.另一方面,由于本文方法基于外匯產(chǎn)品價(jià)格的實(shí)時(shí)單步預(yù)測(cè),故無(wú)法得到未來(lái)期望收益率序列以計(jì)算風(fēng)險(xiǎn).因此,筆者利用所有外匯產(chǎn)品前100 h的歷史收益率的協(xié)方差矩陣來(lái)計(jì)算風(fēng)險(xiǎn).最后,利用AR-MOEA求解公式(5)中的雙目標(biāo)優(yōu)化問(wèn)題得到一組投資組合方案,并選取期望收益率最大的10%的投資組合方案的均值作為最終的投資組合方案.
為了驗(yàn)證本文方法的效果,本節(jié)將在4個(gè)外匯產(chǎn)品的真實(shí)歷史數(shù)據(jù)上進(jìn)行回測(cè),即EUR/CHF(歐元兌瑞士法郎)、EUR/GBP(歐元兌英鎊)、GBP/USD(英鎊兌美元)和USD/CAD(美元兌加元).如圖2所示,實(shí)驗(yàn)選取每個(gè)外匯產(chǎn)品連續(xù)8 760 h共525 600 min的收盤價(jià),其中前8 000 h的數(shù)據(jù)用作訓(xùn)練集、后760 h的數(shù)據(jù)用作測(cè)試集.另一方面,GRU和AR-MOEA的參數(shù)設(shè)置見(jiàn)表1.
本文方法在4個(gè)外匯產(chǎn)品的測(cè)試集上的均方誤差(MSE)和預(yù)測(cè)結(jié)果見(jiàn)圖3.從圖中可以看出,本文模型預(yù)測(cè)的價(jià)格曲線大致與真實(shí)的價(jià)格曲線相同,且模型的均方誤差在1×10-6附近,最小值能夠達(dá)到6×10-7.因此,筆者采用的基于GRU的預(yù)測(cè)模型可以較為準(zhǔn)確地預(yù)測(cè)各個(gè)外匯產(chǎn)品的價(jià)格.
圖2 4個(gè)外匯產(chǎn)品的歷史數(shù)據(jù)Fig.2 Historical data of four instruments
表1 GRU和AR-MOEA的參數(shù)設(shè)置Tab.1 Parameter settings of GRU and AR-MOEA
為了更直觀地展示本文方法的預(yù)測(cè)性能,圖4給出了本文方法在4個(gè)外匯產(chǎn)品的測(cè)試集上的累積收益率.其中每個(gè)外匯產(chǎn)品的點(diǎn)差均設(shè)置為1×10-4.從圖4中可以看出,本文方法最終在所有外匯產(chǎn)品上均能盈利.其中在EUR/CHF上的收益率最高,達(dá)到了2.75%,即年化收益率約為31.70%.注意實(shí)際交易會(huì)受到點(diǎn)差波動(dòng)、市場(chǎng)關(guān)閉、手續(xù)費(fèi)等影響,因此實(shí)際收益率會(huì)比上述理論值低.總而言之,筆者提供了一種有效的匯率預(yù)測(cè)模型.
圖3 4個(gè)外匯產(chǎn)品上的預(yù)測(cè)結(jié)果Fig.3 Forecasting results on four instruments
圖4 4個(gè)外匯產(chǎn)品上的收益率Fig.4 Yields on four instruments
圖5給出了由AR-MOEA得到的投資組合對(duì)應(yīng)的累積收益率,其中每個(gè)外匯產(chǎn)品的點(diǎn)差同樣設(shè)置為1×10-4.注意每個(gè)小時(shí)均需要運(yùn)行一次算法來(lái)搜索出當(dāng)前時(shí)刻的最優(yōu)投資組合.通過(guò)比較圖4和圖5可以看出,單個(gè)外匯產(chǎn)品的收益率隨著時(shí)間有所波動(dòng),但由AR-MOEA得到的投資組合在大部分時(shí)間段均能盈利.更重要的是,投資組合的最終收益率為4.55%,遠(yuǎn)高于單個(gè)外匯產(chǎn)品的最高收益率2.75%.以上實(shí)驗(yàn)結(jié)果可以證實(shí)本文的投資組合模型的有效性.
圖5 AR-MOEA得到的投資組合的收益率Fig.5 Yield of the portfolio obtained by AR-MOEA
為了更好地預(yù)測(cè)外匯產(chǎn)品的價(jià)格并提供最佳的投資組合,筆者利用循環(huán)神經(jīng)網(wǎng)絡(luò)GRU與多目標(biāo)進(jìn)化算法AR-MOEA分別用于外匯預(yù)測(cè)與投資組合優(yōu)化任務(wù).筆者首先基于每個(gè)外匯產(chǎn)品的歷史價(jià)格利用GRU來(lái)預(yù)測(cè)其期望收益率,然后基于得到的期望收益率建立投資組合模型,并利用AR-MOEA得到最優(yōu)的投資組合方案.在4個(gè)外匯產(chǎn)品的回測(cè)上表明,本文方法可以較好地預(yù)測(cè)外匯產(chǎn)品的價(jià)格,同時(shí)投資組合模型可以得到比單一外匯產(chǎn)品更高的收益率.