[摘 要] 應用支持向量機方法對股票市場趨勢性變動進行預測是金融市場行為研究領域里一個重要的研究課題。技術指標是證券投資分析的有效工具。收盤價和成交量是作為基礎指標,它們能組合成許多復雜的技術指標。本文采用日收盤價和日成交量作為輸入向量,根據不同的日期的日收盤價和日成交額選取9組輸入向量,根據指標的對比,找出預測精度最高的試驗組。實驗結果現實日收盤價和日成交額在預測股價方面有3天的有效性。
[關鍵詞] 支持向量機 時間有效性 技術指標 短期預測
證券市場具有高收益與高風險并存的特性,關于證券市場分析與預測的研究一直為人們所關注。但是由于影響市場的因素眾多,而且它們之間的相互作用是非線性和時變的,因此建立完整的動力方程來描述其內部相互作用因素或狀態變量之間的關系是非常困難的,也是證券分析研究領域的熱點之一。如果將股票價格序列看作系統的輸出,則可以緩解無法建立市場動力方程的遺憾。作為系統的輸出,價格序列畢竟是影響市場各因素相互作用的結果,因此,價格序列必定承載著關于系統狀態變量的信息。
眾多股市分析方法的應用效果都難如人意。常用的預測方法有時間序列法、灰色模型法、證券投資分析方法、專家評估法等。隨著非線性科學的發展,人們提出了神經網絡方法,通過綜合系統的不確定性和工程經驗,來解決復雜的設計問題。神經網絡方法存在最終解過于依賴初值,存在過學習的現象,訓練過程中存在局部極小問題,且收斂速度慢,網絡的隱節點難以確定等問題。
支持向量機 (Support Vector Machine,簡稱SVM)方法基于統計學習理論,由Vapnik等人在90年代中期提出。支持向量機目前已成為機器學習界的熱點,成功應用于分類和回歸問題。當前,SVM已經在模式識別領域取得了很好的應用效果,廣泛應用于文本識別、語音識別、人臉識別。近年來,人們發展了回歸型支持向量機,它可以按任意精度逼近非線性函數,具有全局極小值點和收斂速度快的優點。與神經網絡方法相比有顯著的優越性,且在非線性時間預測方面取得很好的效果。
最近的研究指出股票市場受宏觀經濟形勢、行業周期、公司財務等多方面因素影響,股票市場是一個復雜多變的系統。很多的因素影響著股票價格,在一定時間宏觀經濟變量和股市技術指標被證明對股票價格走勢有一定的預測作用。比如:市場容量和信心被證明在預測期貨交易價格的作用。
股價和成交額作為基礎性技術指標,許多復雜的技術指標都是根據它們轉換而來。本文以日收盤價和日成交價作為研究對象,根據輸入變量時間長短不同,設計9組方案。通過SVM建模,進行9組對比試驗,將試驗結果指標化,找到預測精度最高的那組試驗。根據精度最高的試驗組,確定收盤價、成交額在影響未來股價方面的最佳時刻。該時間點可以反映股價波動的短期周期性
支持向量機理論
支持向量機
支持向量機廣泛應用于函數回歸,模式識別以及密度估計等問題中,與傳統的神經網絡不同,SVM應用的是結構風險最小化原則,而不是經驗風險最小化原則,即SVM尋求的是一般誤差上界的最小化而不是單純訓練誤差的最小化,由于SVM 具有模型的自動選擇(參數,基函數的位置等),可以將訓練轉變為二次規劃問題(有全局最優解)以及對于小樣本良好的學習能力等特性\"引起了越來越多研究者的興趣。SVM在回歸(Support vector regression, SVM)尤其是股票價格等非線性時間序列預測中的應用近年來頗受人們的關注。
SVMs回歸函數的形式如下:
式中是一個高維的特征空間(feature space)中的函數,系數b是一個常數。 和b通過將下式最小化來求解。
其中第一項是經驗風險,第二項是正則化的風險,是全部的風險。參數C稱為正則化參數,調整它的大小可使上述兩種風險取得折衷。函數稱為損失函數。損失函數有多種形式,常用的損失函數是不敏感損失函數,即
式中稱為管道大小,它反映函數逼近的精確程度。參數C和 都是使用者定義的自由參數。
為求解和b,引入正松弛變量將公式()轉換為最小化的原規劃問題。
St.
最后,對上面的約束條件引入拉格朗日乘子,可以得出方程(2)中的決策函數:
St.
公式(8)中,是拉格朗日乘數。它們滿足如下公式:
公式(12)中是核函數。核函數的值等于兩個向量在特征空間的內積。常用的多項式核函數的表達式為:
對于核函數我們選擇高斯徑向核函數:。高斯核函數是普遍使用的核函數,因為它對應的特征空間是無窮維的,有限的數據 樣本在該特征空間中肯定是線性可分的。
實際預測過程中使用SVMs回歸方法對經過預處理過的樣本數據進行訓練,計算出支持向量xi,參數。將它們代入(1)式,再代入經過預處理的測試集樣本,就可以計算出映射到[-1,1]區間的預測值,把這個結果作逆映射到原來的區間就得出了所求的預測值。
實證研究
試驗設計
圖1 SVM 預測流程圖
數據處理:
預測過程要經過選擇研究樣本,選取數據;數據預處理;設定模型參數;輸入訓練數據,生成模型;預測輸出預測值;計算評價指標并對結果進行分析等過程。整個過程見圖1。
對象選擇:
本文以深證綜指作為研究對象。指數短期波動期間,研究收盤價和成交量在指數預測中的時間有效性。收集日收盤價、日成交額、漲跌比率作為研究數據。訓練數據集總共有120組數據(2009.07.03到2009.10.25),預測數據集共有55組數據(2009.10.28到2010.03.23)
表1 股價數據集
Xij表示輸入向量,Yij表示輸出值。Xij表示第i(1~9)個方案,第j天的輸入向量。Yij值是第i個方案第j天的漲跌比率。ai表示第i天的收盤價,vi表示第i天的成交量。
數據預處理:
數據預處理中采用的辦法是轉換數據的尺度,將全部數據線性映射到[-1,1]的區間內。之所以這樣做,輸入變量不同其數值的大小也不同,只有將它們都映射到相同的區間內,才有利于衡量它們對因變量的影響。經過這樣處理以后,需要在數據后處理時把[-1,1]上的數據逆映射到原來的區間之內。線性轉換公式如下:
參數的選擇:
SVM回歸預測的參數選擇面臨二個問題:一是決定核函數的類型,二是選擇合適的自由參數c、g、p。通常如果函數是光滑的,高斯核函數有優良的逼近效果。在對數據沒有更多的附加信息。因此,本實驗中采用了高斯核函數。公式如下:
不同的輸入向量,對c、g、p的取值會產生不同的影響。在輸入變量確定的前提下,所有的方案都使用gridregression.py尋找回歸最優參數。所有方案的參數確定標準一樣,避免不同的參數選擇過程對預測結果產生影響。這樣各個方案的預測結果只受有輸入向量的影響。通過將預測結果對比,找出最佳的輸入向量。
評價指標:
預測結果采用2個指標。第一個指標v1是平均絕對差。第二個指標v2是方向一致性指標。其中v1是對預測值偏離實際值的一種度量,它的值越小表示預測的結果越準確。v2則能衡量出預測價格方向的正確比率,它的值則是越大越好。指標的計算公式如下:
其中是實際值,是預測值。
實驗結果分析
下圖2可以明顯看出方案7、8的預測結果都為負值,方案9的預測結果都為正值。在實際情況中連續漲(跌)10日是極其少見的。更何況是連續漲(跌)55天在實現情況下不可能的。方案7、8、9更能體現是在股價中期預測,本文研究的是股價短期波動。所以剔除方案7、8、9。
圖2 實際值與方案7、8、9的預測值
圖3 實際值與方案1、2、3、4、5、6的預測值
表4顯示:方案3的v1值(0.524015)最小,說明方案3的預測精度最高。同時方案3的v2值(0.537)最大,說明方案3預測股價漲跌方向的能力是最強的。方案3是以提前3天的收盤價、成交額作為輸入向量x3j(aj-1,vj-1,aj-2,vj-2 aj-3,vj-3)。試驗結果顯示當天的收盤價、成交額對預測未來3天的股價有一定的指導意義。當天收盤價、成交額在預測第4、5、6、7、8、9天股價方面就失去有效性,甚至對預測結果產生負面影響。
結論
從技術分析的角度分析,試驗證明通過分析提前3天的收盤價,成交額可以有效預測當前的股價。該結論反映股價的短期波動周期為3天。方案1、2、4、5、6的預測結果跟跟方案3的預測結果相差不是很大,說明股價的短期波動周期不是很明顯。在實現生活中股價的影響因素是多方面的比如:宏觀經濟、行業周期、企業的經營水平等等。從不同的角度分析股價的波動的時間有效性是不一樣的。股價的周期有一個季度、一年、4年、8年、10年等等。技術分析在預測價格短期波動是比較有效地方法。以后的研究重點:
(1)研究不同影響股價的因素如:宏觀因素、行業周期、企業財務狀況等對股價影響的時間有效性。綜合中期、長期指標,再對各個指標時間周期進行組合分析。
(2)日開盤價、日最高價、日最低價等技術指標對股價也有一定的影響作用。分析它們在股價預測中的時間有效性。
盡管試驗結果取得一定的成效,但還有很多可以改進的地方。研究不用指標的時間有效性,并對各個周期進行組合分析,能對股票市場投資有很好的指導意義。
參考文獻:
[1]胡蓉:多輸出支持向量回歸及其在股指預測中的應用,計算機技術與發展[J],2007,10
[2]呂淑萍 趙詠梅:基于小波神經網絡的時間序列預測方法及應用[J]. 哈爾濱工程大學學報,2004, 25(2):180-182
[3]高瑋:基于進化神經網絡的股市預測研究[J] 計算機科學.2004,31(B09): 191-l93
[4]Vapnik V. The nature of statistic learning theory. New York:Springer;1995
[5]Matilla-Garcia,G.,Arguellu,C.(2005).A hybrid approach based on neural networks and genetic algorithm to the study of protability in the Spanish stock market. Applied Economics Letter, 12,303-308
[6]Black,A.J.,Mcmillan,D.G. Non-linear predictability of value and growth stocks and economic activity.Journal of Business Finance and Accounting, (2004).31,439–474
[7]Zhang Xue-gong(張學工). Introduction to Statistical Learning Theory and Support Vector Machines(關于統計學習理論與支持向量機)[J]. Acta Automatica Sinica(自動化學報), 2000,26(1):37-47
[8]Liu Jiang-hua(劉江華), Cheng Jun-shi (陳佳品). Support Vector Machine Training Algorithm Review (支持向量機訓練算法綜述)[J]. Information and Control (信息與控制), 2002,31(1):45-50
[9]Cao Li-juan, Tay Francis E H. Financial Forecasting Using Support Vector Machines [J]. Neural Comquting Applications, 2001, 10(2): 184-192
[10]Tay Francis E H, Cao Lin-juan. ε-Descending Support Vector Machines for Financial Time Series Forecasting [J]. Nwural Processing Letters, 2002, 15(2): 179-195
[11]Deng-Yiv Chiu,Ping-Jie Chen, Dynamically exploring internal mechanism of stock market by fuzzy-based support vector machines with high dimension input space and genetic algorithm. Expert Systems with Applications 36, 1240–1248, 2009