徐成賢,陳 靜,王 昭
(1.杭州師范大學 國際服務工程學院,杭州 310012;2.西安交通大學 a.經(jīng)濟與金融學院;b.理學院,西安 710049)
在布雷頓森林體系崩潰后,隨著浮動匯率制度的實施以及外匯管制的放松,匯率的變動頻率越來越快,對匯率變化的預測已成為金融監(jiān)管當局、投資者和金融分析專業(yè)人士普遍關心的一個焦點。匯率影響因素的多元化使得匯率變化行為更加復雜,呈現(xiàn)出非線性的特點,這些特點加大了匯率預測的難度。
支持向量機(Support Vector Machine,SVM)是Vapnik等人[1][2]于1995年提出的數(shù)據(jù)挖掘的一個新方法,并已成功地應用于金融時間序列的預測預報[3~5]。SVM的特點是能夠同時最小化經(jīng)驗誤差與最大化分離間隔,且訓練預測模型的過程是求解一個具有唯一最優(yōu)解的二次約束最優(yōu)化問題,這使得該方法的復雜程度僅取決于所要求解的精度以及訓練樣本的數(shù)量,而與輸入空間的維數(shù)無關,避免了維數(shù)災難這一難題。多項式光滑[6]與不等權重[7]則是提高SVM求解和預測效果的兩個有效措施。基于以上研究,本文擬首先給出不等權重支持向量機(USVM)及其多項式光滑處理;然后應用此不等權重支持向量機給出對美元/人民幣、歐元/人民幣、日元/人民幣匯率變動作預測的多變量預測模型;接著將不等權重支持向量機方法應用于訓練樣本集的子集來確定預測模型(減少訓練樣本的數(shù)量),再用遺傳算法對預測模型作全局優(yōu)選,由此形成將兩者組合的遺傳不等權重支持向量機方法(GAUSVM);最后就(GAUSVM)方法的預測效果進行實證分析。
給定樣本數(shù)據(jù)集T={(x(i),y(i)),i=1,2,…,l}∈X×Y其中x(i)∈X?Rn為輸入向量,y(i)∈Y={-1,1}。支持向量機在對數(shù)據(jù)集T按y(i)的取值分類時需確定分類超平面g(x)=sign(wTΦ(x)+γ),它可通過求解下面的約束最優(yōu)化問題確定
由(2)對任意的輸入x∈X可確定相應的y=g(x)的值,并由此值作出預測。
問題(1)對所有數(shù)據(jù)點的誤差ξi都賦予了相同的權重C。對于具有時間特征的金融時間序列,對不同時間點的誤差ξi都賦予相同的權重未必是一個合適的選擇??紤]到近期的數(shù)據(jù)所提供的信息對模型的影響一般要大于早期數(shù)據(jù)所提供的信息,采用遞增的權重可能會更合適,由此可得用于金融時間序列預測的不等權重的支持向量機模型
其中,Ci>0,為一單調(diào)增的權重序列。Tay和Cao在文[3]中給出了Ci的一個取法
其中a>0是控制權重遞增速率的參數(shù)。
再考慮問題(3)的求解,由問題(3)的約束條件,可以得出可行的ξi可以表示為
其中(α)+=max{α,0}。將(5)代入(3)的目標函數(shù)中,可將約束優(yōu)化問題(3)轉化成等價的無約束優(yōu)化問題
這是一個凸二次優(yōu)化問題,但由于w*唯一,而γ*不唯一,可對問題作進一步的修改
這是一個嚴格凸二次最優(yōu)化問題,最優(yōu)解(w*,γ*)唯一。但由于目標函數(shù)中(α)+=max{α,0}不可微,這是一個不可微最優(yōu)化問題。我們用文[1]給出的連續(xù)可微的分段多項式來近似函數(shù) (α)+=max{α,0}
得連續(xù)可微的無約束最優(yōu)化問題
函數(shù)(8)在區(qū)間 (-1/k,1/k)外同函數(shù) (α)+=max{α,0}取值相同,而在區(qū)間 (-1/k,1/k)內(nèi)對 (α)+=max{α,0}的近似精度為
對無約束最優(yōu)化問題(9)可利用BFGS這一有效的無約束優(yōu)化算法求解。
在利用SVM確定最優(yōu)分類超平面時,一個顯著的特征是只有少數(shù)被稱為支持向量的樣本數(shù)據(jù)起決定性的作用。相對于給定的訓練樣本,大量的非支持向量樣本數(shù)據(jù)對分類超平面的確定幾乎不起作用??紤]到這一特征,我們在對給定數(shù)據(jù)集應用不等權重支持向量機確定分類超平面時,將隨機選用數(shù)據(jù)集中的部分數(shù)據(jù)(子集)來確定分類超平面,并用遺傳算法在這些分類超平面中搜索最優(yōu)的分類超平面,稱由此形成的算法為遺傳不等權重支持向量機算法(GAUSVM)。這一則可以減少訓練樣本點的數(shù)量,降低問題(9)的復雜度,提高算法對其求解的效率,另一方面通過遺傳算法對預測模型作全局優(yōu)化搜索,可以確定盡可能好的預測模型。為方便對GAUSVM的敘述,首先給訓練樣本數(shù)據(jù)集T中的?個樣本數(shù)據(jù){(x(i),y(i)),i=1,…l}按某種次序編號,遺傳算法中的一個個體對應T的一個子集。設初始種群中每個個體所對應的子集包含樣本數(shù)據(jù)的數(shù)量為M,每代種群的規(guī)模為N,種群最大進化次數(shù)為K,則算法GAUSVM的主要步驟如下:
步驟1隨機生成N個個體形成初始種群
每個個體由隨機生成的二元值向量η=(η1,…ηl)確定,其中每一分量ηi的取值或為0或為1,且所有分量之和等于M。如果ηi=1,表示對應的樣本點(x(i),y(i))入選該個體對應的子集,如果ηi=0,表示對應的樣本點沒有入選該個體對應的子集。每個向量η對應數(shù)據(jù)集T的一個包含M個數(shù)據(jù)點的子集。對每個個體應用上節(jié)的不等權重支持向量機得到一個預測模型,應用這個預測模型于檢測數(shù)據(jù)集得到這個預測模型的預測正確率,記為這個個體的適應度。
步驟2 交叉運算(均勻交叉)
從種群中隨機選取兩組(每組兩個)個體,在每組再選擇適應度高的個體作為父代進行交叉運算產(chǎn)生子代。交叉過程采用均勻交叉:若兩父代的η在某位都為1,則子代節(jié)點在該位也為1;若兩父代在某位都為0,則子代節(jié)點在該位也為0;若兩父代在某位一個為0,一個為1,那么子代在該位為0或者為1的概率均為50%。
步驟3變異(固定的變異概率q,取p為小于或等于q?的最大整數(shù))
步驟4進化
對子代應用不等權重支持向量機確定一個預測模型,并計算其適應度。將其加入種群,并將種群中適應度最差的一個個體刪去。
步驟5 停機檢驗
若新產(chǎn)生的子代個體的適應度函數(shù)達到精度要求,或者產(chǎn)生子代的進化次數(shù)超過允許的最大進化次數(shù)K時,停機,選取當時種群中適應度最高的個體作為需要的最優(yōu)解,產(chǎn)生預測模型。否則轉步驟2進入新一輪的遺傳①經(jīng)過交叉變異進化后的每個子代個體,其所對應的子集包含的數(shù)據(jù)數(shù)量有可能不再等于預先指定的數(shù)量M。。
下面我們將應用前述的遺傳不等權重支持向量機方法就美元/人民幣(U/C)、歐元/人民幣(E/C)、日元/人民幣(J/C)匯率變動的預測作實證檢驗分析。一般情況下,匯率變動受兩國的經(jīng)濟乃至世界經(jīng)濟發(fā)展狀況的影響,考慮到數(shù)據(jù)的獲取可能,我們分別選擇道氏中國600指數(shù)(DJCBN600)、道氏中國88指數(shù)(DJC-88)、道氏中國海外50指數(shù)(DJCOS50)、道氏中國市場指數(shù)(DJCMT)、道氏上海指數(shù)(DJSH)、道氏深圳指數(shù)(DJSZ)、道氏美國指數(shù)(DJUS)、標準普爾500指數(shù)(SP500)、納斯達克綜合指數(shù)(NASDAQ)、法國CAC40指數(shù)(CAC)、德國DAX指數(shù)(DAX)以及日經(jīng)225指數(shù)(NIKKEI)作為中國、美國、歐元區(qū)及日本經(jīng)濟發(fā)展狀況的指標,并選取2008-12-10至2009-7-13期間這些指數(shù)連同上述3種匯率的日收盤價作為對遺傳不等權重支持向量機方法進行實證分析與檢測的數(shù)據(jù)。由于這些數(shù)據(jù)分屬不同國家,對這些數(shù)據(jù)作預處理后,共有125組有效數(shù)據(jù)。
對于匯率變動方向預測,下面以美元/人民幣匯率為例建立預測模型,對于歐元/人民幣及日元/人民幣匯率可用同樣的方法建立預測模型。首先記美元/人民幣第i日的匯率為,道瓊斯中國指數(shù)第i日的指數(shù)為對其余各指數(shù)都用類似的符號表示。對匯率及各指數(shù)數(shù)據(jù)按
計算匯率第i日的變動方向與對數(shù)收益,及各指數(shù)第i日的對數(shù)收益。由此形成用上述遺傳不等權重支持向量機方法對美元/人民幣匯率變動作預測進行實證分析檢測的樣本集T={(x(i),y(i)),i=1,2,…,?},其中 ?=124。
這里p為待定的滯后階數(shù),它將在下節(jié)實證分析時根據(jù)預測效果確定p的取值。
在實證分析時,樣本集124組數(shù)據(jù)中的前100組將用作訓練集,用于用遺傳不等權重支持向量機等方法確定預測模型
后面余下的24組數(shù)據(jù)用作檢測集,用于檢測所確定模型的預測精度。考慮到人工神經(jīng)網(wǎng)絡模型在匯率預測中已被成功應用,本文選擇采用BP算法的單隱層前向人工神經(jīng)網(wǎng)絡模型(ANN),一般的支持向量機方法(SVM),不等權重支持向量機方法(USVM)與遺傳不等權重支持向量機算法(GAUSVM)就三種匯率變動的預測效果作比較。
首先選擇確定各模型中的參數(shù)值。對于遺傳算法中的參數(shù),種群的規(guī)模取為N=50,每個子集(個體)包含數(shù)據(jù)點的數(shù)量為M=15,固定變異概率q=10%,允許最大進化次數(shù)K=250;分段光滑多項式(2-8)中的k=10,單隱層前向人工神經(jīng)網(wǎng)絡模型(ANN)隱層內(nèi)的結點數(shù)取為d=6。支持向量機模型中的映射Φ取為恒等映射,即Φ(x)=x,模型中的參數(shù)C,變權重系數(shù)公式(4)中的調(diào)節(jié)參數(shù)a,及式(14)中的滯后階數(shù)p,則須經(jīng)實證分析比較后選定。表1分別給出了對美元/人民幣、歐元/人民幣、日元/人民幣日匯率變動進行實證比較分析后選定的這幾個參數(shù)的值。
表2給出了各支持向量機方法及神經(jīng)網(wǎng)絡模型在檢測集(樣本外)數(shù)據(jù)及訓練集(樣本內(nèi))數(shù)據(jù)上對各人民幣匯率未來一天變動方向的預測正確率。
表1 預測匯率變動的各SVM模型的最優(yōu)參數(shù)值
表2 各SVM模型及ANN模型對匯率變動的預測結果
表2可以得出下述結論:(1)各支持向量機方法在檢測集和訓練集上的預測效果均要好于ANN模型的預測效果,證實了同時實現(xiàn)最小化經(jīng)驗誤差與最大化分離間隔的支持向量機方法在匯率變動預測方面的優(yōu)越性;(2)USVM方法在檢測集上的預測效果要優(yōu)于SVM方法(僅在E/C上較SVM稍差),一定程度上證實了近期數(shù)據(jù)對未來變化的影響較早期數(shù)據(jù)大的假設;(3)GAUSVM方法在檢測集上的預測效果明顯優(yōu)于其它兩個SVM方法,這表明通過把遺傳算法與USVM進行組合能夠有效地提高USVM的預測效果,加強其數(shù)據(jù)挖掘功能。
表3給出了三個支持向量機方法確定的預測模型相應的支持向量個數(shù)(支持向量與非支持向量之和為訓練集樣本點數(shù))。
表3 匯率預測的各SVM模型的支持向量個數(shù)
從表3可以看出,SVM與USVM模型對三種匯率所確定的預測模型支持向量的分布很不均勻,而GAUSVM方法由于利用遺傳算法對預測模型進行了全局優(yōu)選,因而由其得出的對三種匯率預測模型支持向量的分布比較均勻和集中。這一點在表2的對檢測集預測正確率的結果中有所體現(xiàn)。這些結果表明將遺傳算法與支持向量機方法結合對預測模型選優(yōu)可以有效地提高模型的預測效果。
本文在對一般支持向量機方法進行不等權重和多項式光滑改進的基礎上,將不等權重支持向量機與遺傳算法結合,給出了對預測模型進行選優(yōu)的遺傳不等權重支持向量機(GAUSVM)方法,并將該方法應用于三種人民幣匯率變動預測的實證分析和比較。將遺傳不等權重支持向量機方法與一般支持向量機方法(SVM)、不等權重支持向量機方法(USVM)及遺傳算法(ANN)對三種匯率變動的預測效果比較表明,有下述主要結論:(1)支持向量機方法在檢測集和訓練集上的預測效果均要好于ANN模型的預測效果。(2)由于GAUSVM方法利用遺傳算法對預測模型進行了全局優(yōu)選,因而由其得出的對三種匯率預測模型的支持向量的分布比較均勻和集中。(3)USVM方法在檢測集上的預測效果要優(yōu)于SVM方法(僅在E/C上較SVM稍差),一定程度上證實了近期數(shù)據(jù)對未來變化的影響較早期數(shù)據(jù)大的假設。(4)GAUSVM方法在檢測集上的預測效果明顯優(yōu)于其它兩個SVM方法,這表明通過利用遺傳算法對預測模型選優(yōu)能夠有效地提高USVM的預測效果,加強其數(shù)據(jù)挖掘的功能。
[1] Vapnik V N.Statistical Learning Theory[M].New York:Wiley,1998.
[2] Vapnik V N,An Overview of Statistical Learning Theory[J].IEEE Transactions of Neural Networks,1990,(10).
[3] Cao L J,Support Vector Machines Experts for Time Series Forecasting[J].Neurocomputing,2003,(51).
[4] Huang W,Nakamori Y,Wang S Y.Forecasting Stock Market Movement Direction with Support Vector Machine[J].Computers and Operations Research,2005,(32).
[5] Schebesch K B,Stecking R.Support Vector Machines for Classifying and Describing Credit Applicants:Detecting Typical and Critical Regions[J].Journal of the Operational Research Society,2005,(56).
[6] 袁玉波,嚴杰,徐成賢.多項式光滑的支撐向量機[J].計算機學報,2005,(1).
[7] Tay F E H,Cao L J.Descending Support Vector Machines for Financial Time Series Forecasting[J].Neural Prosessing Letter,2002,(15).
[8] 鄧乃楊,田英杰,數(shù)據(jù)挖掘中的新方法--支持向量機[M].北京:科學出版社,2004.