鐘 琳,顏七笙
(東華理工大學理學院,330013,南昌)
股票投資常常伴隨風險的發生,如何為金融投資者構建精度高且速度快的股市預測模型則有著積極的應用價值以及意義。
早期的股票預測主要是以傳統時間序列、隱馬爾科夫[1]模型等方法為主。其中ARMA模型[2]是時間序列中應用較為廣泛的線性模型,何永沛[3]提出一種ARMA模型參數估計的改進算法,取得了較好的預測效果;孟坤[4]等運用ARMA模型對上證綜合指數股票價格進行預測,結果表明ARMA模型較適合于進行短期預測。
然而傳統的股票預測模型不能很好地解決非線性問題,學者們則提出了具有更好性能的支持向量機(Support Vector Machine, SVM)[5]、決策樹[6]、人工神經網絡等預測方法。郝知遠[7]基于收益最大化,提出了一種遺傳參數尋優的SVM算法,取得了較好的股價預測效果;Xiong[8]等人在傳統的神經網絡算法的基礎上提出了LSTM算法,在對股票的實時預測與分析上取得了進一步的效果。
除此之外,組合模型預測方法也逐漸應用于股價的預測[9]。宋剛[10]等為提高股價預測精度,增強預測模型參數的可解釋性,提出了自適應粒子群優化的長短期記憶的PSO-LSTM股價模型。綦方中[11]等則構建了一種基于PCA-IFOA-BP的股價預測模型,相比BP、PCA-BP和PCA-FOA-BP,預測精度更高。
極限學習機(ELM)是以前饋神經網絡為基礎構建的一類機器學習方法,廣泛應用于各類預測問題[12]。相比傳統的BP神經網絡,ELM算法中的權值和閾值可隨機生成,且不需在算法運行時調節,學習和達到穩定狀態的速度快,極大地縮減了訓練的時間,因其最優解是唯一的,故泛化性能也較好。
由于組合模型有著較高的預測精度以及ELM模型有著一定的優點,故本文采用粒子群優化極限學習機模型,對中國石油股票價格進行預測。并對PSO-ELM模型進行橫向和縱向比較,相比ELM、PSO-BP、DE-ELM模型,判斷各模型的優劣性,并將PSO-ELM進行短期、中期、長期預測,分析不同時期的預測效果。
本文選取中國石油股票價格2010年11月1日至2021年1月29日共2 493條股票日交易數據作為實驗樣本,以收盤價、最高價、最低價、開盤價、成交金額5個影響因素為輸入變量,次日收盤價為輸出變量。各模型實驗均將前2 218條樣本數據作為訓練集,后275條樣本數據作為測試集。部分數據如表1所示。

表1 中國石油股票價格樣本數據
1.2.1 極限學習機 極限學習機算法中輸入層與隱藏層間的權值及隱藏層的閾值可隨機生成,且無需在訓練時調節,只需確定隱藏層神經元個數,即可獲得唯一最佳解,與傳統的BP神經網絡算法相比,其學習速度快,泛化性能好,從而被廣泛應用于回歸與分類。若訓練樣本R={(xj,tj)|j=1,2,…,m;xj∈Rn,tj∈Rm}則極限學習機的算法可表示為:
(1)
其中ωi=[ω1i,ω2i,…,ωni]T為輸入層與隱藏層的權值,βi=[β1i,β2i,…,βmi]T為隱藏層到輸出層的權值,g(·)為隱藏層激活函數,bi為隱藏層閾值,xj為輸入值,tj為輸出值,L為隱藏層節點數,N為樣本數量。
式(1)可化簡為
(2)
其中H為隱藏層輸出矩陣,T為樣本輸出,β為輸出層權值。
將訓練集代入式(1),計算隱藏層輸出矩陣,即
(3)
通過式(2)和式(3)計算輸出層權值β,即
(4)
式中H+是H的Moore-Penrose廣義逆。
將測試集代入式(3)計算隱藏層輸出矩陣H′,結合式(2)和式(4),計算出測試集輸出值,即
(5)
1.2.2 粒子群算法 粒子群算法(PSO)是群體智能優化中的一類算法,其在可行解空間里,初始化的粒子通過尋找個體極值Pbest和群體極值Gbest來更新個體速度和位置,粒子位置的更新伴隨著適應度值的更新,通過比較更新前后粒子的適應度值,更新個體極值Pbest和群體極值Gbest的位置,依次下去,直到搜尋到最優解。
粒子速度和位置的更新公式如下
(6)
(7)

PSO具體的算法步驟如下。
1)粒子初始化及參數設置。在D維空間生成N個粒子群,初始化各粒子的速度和位置,其中第i個粒子的位置和速度分別為
xi=(xi1,xi2,…,xiD),1≤i≤N
vi=(vi1,vi2,…,viD),1≤i≤N
(8)
同時設置ω、c1,c2以及最大尋優次數等參數。
2)計算適應度函數值。通過適應度函數計算每個粒子的適應值。
3)將當前各粒子適應度與歷史最優位置的粒子適應度相比,選擇適應度更高(低)的位置并將其作為新的歷史最優位置;同理將當前各粒子適應度與群體最優位置的適應度相比,并將所選位置作為群體最優位置。
4)更新粒子速度和位置。
5)更新適應度函數值、個體極值、群體極值。
6)判斷算法是否符合算法結束條件。如符合,輸出最優解和粒子;如不符合,則重回步驟3)~5)。
由于極限學習機的連接權值和閾值是隨機產生的,在模型的訓練過程中具有一定的不確定性,故針對中國石油股票價格預測問題,建立PSO-ELM股票價格預測模型,將粒子搜尋的最優解作為ELM權值和閾值的最優值,并在最優權值和閾值的基礎上構建ELM預測模型。
具體建模過程如下。
1)歸一化處理中國石油股票價格樣本數據集,并將其分為訓練集和測試集。
2)將訓練集輸入ELM模型中,得到ELM預測結果。
3)初始化PSO參數,各粒子表示ELM的權值與閾值,將ELM訓練集的均方誤差設為粒子群的適應度函數。
4)計算粒子當前最優位置pi的個體極值Pbest和全局最優位置pg的群體極值Gbest,以及第k個粒子位置pk對應的適應度gk:若gkPbest,則Pi=Pk,Pbest=gk,否則當前最優位置與個體極值不變;若gkGbest,則Pg=Pk,Gbest=gk,否則全局最優位置與群體極值不變。
5)根據式(6)、式(7)更新粒子速度和位置。
6)判斷是否達到最大迭代次數。若滿足,則算法繼續;若不滿足,則重復步驟4)~5)。
7)將最優粒子作為ELM的權值和閾值,將測試集輸入ELM中,得到預測結果。
PSO-ELM算法流程如圖1。

圖1 PSO-ELM算法流程圖
為更好地評價模型預測效果,選擇平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)、均方根誤差(RMSE)以及擬合優度決定系數(R2)作為評價標準,各評價公式如下
(9)
(10)
(11)
(12)

在MATLAB R2021a的環境下,基于中國石油股票價格數據,對PSO-ELM預測模型的精度進行測試,并對其預測效果進行分析。其中ELM輸入神經元個數為5,隱藏神經元個數為5,輸出神經元個數為1,隱藏層神經元激活函數選用sigmoid函數。部分PSO參數設置如下:種群大小設為20,最大迭代次數k為300,學習因子c1=c2=2,慣性權重ω按式(13)計算
(13)
其中ws=0.9,we=0.4,T,k分別為迭代次數和最大迭代次數。PSO-ELM預測結果如圖2、圖3所示。
由圖2、圖3可知,PSO-ELM模型的擬合優度決定系數為R2=0.974 81,預測值與實際值較為符合,其價格走勢相同,適應度函數值收斂較快,均方根誤差RMSE=0.12 738較小,預測效果較好。

圖2 測試集日收盤價格預測結果(PSO-ELM)

圖3 PSO-ELM適應度曲線
為進一步比較模型的預測效果,選取ELM,PSO-BP,DE-ELM模型作為參照比較分析,其中PSO-BP模型將BP訓練集的均方誤差作為適應度函數,DE-ELM的種群也設為20,最大迭代次數為300,各模型其余的參數均依照PSO-ELM的方法設置,模型的預測對比圖如圖4~圖9所示。

圖4 測試集日收盤價格預測結果(ELM)

圖5 ELM誤差曲線

圖6 測試集日收盤價格預測結果(PSO-BP)

圖7 PSO-BP適應度曲線

圖8 測試集日收盤價格預測(DE-ELM)

圖9 DE-ELM適應度曲線
由以上各個模型的預測結果及其適應度曲線可以看出,ELM、PSO-BP、DE-ELM模型預測效果也較好,但相比PSO-ELM模型,各模型的預測曲線沒有PSO-ELM模型吻合,從均方誤差RMSE和擬合優度決定系數R2來看,PSO-ELM模型在4個模型中均為最優。此外,PSO-ELM和PSO-BP的適應度曲線較DE-ELM來說收斂較快,其在迭代次數不到100時就達到穩定,而DE-ELM在迭代約275次后逐步穩定,速度較慢。
為更為直觀地比較預測效果,各模型的評價指標值如表2所示。

表2 各模型評價指標對比值
從各模型的均方誤差RMSE來說,PSO-ELM模型相比沒有經過參數尋優的ELM模型降低了1.84%,相比PSO-BP、DE-ELM分別也降低了1.07%、0.97%,可見通過粒子群算法對極限學習機的參數尋優有一定的效果,以及相比BP算法,ELM算法有一定的優越性,且粒子群算法較差分進化算法尋優效果更好;PSO-ELM模型的MAE、MAPE相比其他3個模型的值均較小,則說明PSO-ELM模型預測值誤差更小,并且有著更好的預測精度;從R2來看,PSO-ELM模型的擬合優度決定系數達0.974 3,相比其他模型分別提高了0.75%、0.08%、0.09%,說明PSO-ELM模型有著較高的擬合度,預測效果有所提高。
為了驗證PSO-ELM模型對不同時間長度的預測效果,選取中國石油股票價格樣本分別進行短期(2021.02.01—2021.02.05)、中期(2021.03.15—2021.03.19)、長期(2021.04.26—2021.04.30)預測。預測結果如表3~表5所示。
由表3~表5計算可知,短期、中期、長期的平均相對誤差分別為2.748 4×10-3、1.053 6×10-2、1.204 4×10-2,由此表明PSO-ELM模型適合短期預測,隨著時間長度的增加,平均相對誤差值也在增加,預測的精度在降低,因此,建議股票投資者盡量依據近期樣本來預測最近幾天的股價漲跌,從而提高股票價格的預測精度,依據預測的股價走勢來做出決策,以此避免產生較大的投資風險和損失。

表3 真實值與預測值對比(短期)

表4 真實值與預測值對比(中期)

表5 真實值與預測值對比(長期)
本文為提高股票價格預測的精度,基于中國石油股票價格數據,提出了粒子群優化極限學習機的PSO-ELM模型,該模型通過粒子群位置和速度的更新逐步搜索最優適應度值,同時將粒子群中搜索到的最優解作為ELM的權值和閾值,再對測試集進行預測。通過對PSO-ELM模型橫向比較,也即與ELM、PSO-BP、DE-ELM模型的預測效果對比,結果表明PSO-ELM模型擬合效果較好,預測精度較高。
除此之外,再對PSO-ELM模型進行縱向比較。通過選取不同時間長度的股票價格,分為短期、中期、長期進行預測,結果表明短期預測的平均相對誤差小于中期和長期的。因此,PSO-ELM模型較適合于對短期股價進行預測,同時也建議股票投資者盡量依據近期樣本來預測最近幾天的股價漲跌,從而提高股票價格的預測精度,避免產生較大的投資風險和損失。