(華南理工大學(xué) 廣東 廣州 510006)
證券市場具有高收益以及高風(fēng)險。投資者為了獲取高收益,以及承擔(dān)低風(fēng)險,將許多股票按一定的組合進行投資,正因如此,證券最優(yōu)投資組合問題是一個值得研究的問題。隨著時代的發(fā)展,傳統(tǒng)的定性分析方法因為偶然性太大,似乎已經(jīng)不再能滿足這個大數(shù)據(jù)時代的需求。人們急需一種準確的方法來分析證券組合?;谌斯ど窠?jīng)網(wǎng)絡(luò)的特點和優(yōu)點,它具有自學(xué)習(xí)、聯(lián)想存儲、快速求解最優(yōu)解的能力以及遺傳算法的全局優(yōu)化等功能。另外遺傳算法具有全局優(yōu)化的特點,使得很多學(xué)者將數(shù)據(jù)挖掘的方法運用在證券投資上,并且取得了很多成果。
本文主要從兩個方面來進行文獻綜述,分別是:BP神經(jīng)網(wǎng)絡(luò)在證券市場上的發(fā)展應(yīng)用;遺傳算法在證券市場上的發(fā)展應(yīng)用。經(jīng)過文獻梳理可知,BP神經(jīng)網(wǎng)絡(luò)在我國證券市場的研究已經(jīng)有較長時間,發(fā)展較為全面。楊楠(2016)從BP網(wǎng)絡(luò)、模糊神經(jīng)網(wǎng)絡(luò)、組合神經(jīng)網(wǎng)絡(luò)三個方面,探究總結(jié)了神經(jīng)網(wǎng)絡(luò)在證券市場預(yù)測中的應(yīng)用。張翱翔(2017)研究了國內(nèi)外基于BP神經(jīng)網(wǎng)絡(luò)的股指預(yù)測系統(tǒng),總結(jié)了股指預(yù)測系統(tǒng)在我國股票市場的預(yù)測能力。王晶(2018)還利用BP神經(jīng)網(wǎng)絡(luò)模型對中國股市進行了預(yù)測,以實際股票為例,對其股價未來走勢進行了預(yù)測。邢偉?。?019)應(yīng)用BP神經(jīng)網(wǎng)絡(luò)模型,進一步預(yù)測和模擬了我國上證指數(shù)的收盤價,將產(chǎn)出的預(yù)測值與實際股票價格進行比較,獲得了相關(guān)結(jié)論。關(guān)于遺傳算法在我國證券市場的研究也有大量文獻。李全亮(2012)研究了基于改進遺傳算法的動態(tài)投資組合優(yōu)化模型。李曉薇(2014)研究了遺傳算法在證券投資中的應(yīng)用,提出了一種新的投資組合模型——基于單位系統(tǒng)風(fēng)險的超額收益模型。戎容等(2016)采用基于遺傳算法的K-means算法對同一板塊股票進行聚類分析,剔除財務(wù)指標較差的一類中的股票。錢立煒(2017)研究了基于改進遺傳算法的證券投資組合。
實驗數(shù)據(jù):130只股票、31個因素變量的4個日期(2000-2003年)數(shù)據(jù)記錄,共528條數(shù)據(jù),數(shù)據(jù)已經(jīng)類型一致化和無量綱化處理。對于已給的實驗數(shù)據(jù),把“利潤總額”作為一個輸出變量,其余30個變量作為輸入變量,則非線性函數(shù)有30個輸入、1個輸出,共528條數(shù)據(jù)。本文隨機選取了428條數(shù)據(jù)作為訓(xùn)練樣本,剩下的100條數(shù)據(jù)作為測試樣本,用訓(xùn)練樣本進行神經(jīng)網(wǎng)絡(luò)建模,網(wǎng)絡(luò)訓(xùn)練好后預(yù)測100條測試樣本的非線性函數(shù)輸出。
本文通過實驗,對比選取了最優(yōu)的神經(jīng)網(wǎng)絡(luò)隱節(jié)點數(shù),確定BP神經(jīng)網(wǎng)絡(luò)的隱節(jié)點數(shù)為9。對于具體的實驗,本文利用運用MATLAB建立BP神經(jīng)網(wǎng)絡(luò)模型,設(shè)置9個隱層、30個輸入變量、1個輸出變量,通過神經(jīng)網(wǎng)絡(luò)建立30個變量到利潤指標的BP神經(jīng)網(wǎng)絡(luò)。本文隨機選取了428個訓(xùn)練樣本,由于每次神經(jīng)網(wǎng)絡(luò)訓(xùn)練所得結(jié)果不同,所以要選取最優(yōu)的訓(xùn)練結(jié)果。具體的選擇方法為:先運用選取的428條訓(xùn)練數(shù)據(jù)進行訓(xùn)練,建立神經(jīng)網(wǎng)絡(luò)模型,然后用該模型對剩下的100條測試樣本進行預(yù)測,計算預(yù)測誤差。將上述步驟重復(fù)50次,運行50次該BP神經(jīng)網(wǎng)絡(luò)程序,最終在50次的運行結(jié)果中選取BP神經(jīng)網(wǎng)絡(luò)預(yù)測誤差和總誤差(即errorsum)的最小值,此時為最優(yōu)的神經(jīng)網(wǎng)絡(luò)模型。具體的最優(yōu)結(jié)果顯示為:errorsum =0.5011。得出了最優(yōu)的神經(jīng)網(wǎng)絡(luò)模型之后,再對所有的528條樣本進行預(yù)測,得出預(yù)測的利潤輸出,最終得出此時所對應(yīng)的利潤最大的十組股票,結(jié)果在3.22節(jié)。
前面我們已經(jīng)通過BP神經(jīng)網(wǎng)絡(luò),選出了用于投資的10只最優(yōu)股票。現(xiàn)在要求確定性下的最優(yōu)投資組合。而遺傳算法所要解決的問題為:對這10只最優(yōu)股票,如何分配投資比例,使收益最大且成本最小。對于收益,我們用每股收益p來度量。成本指我們投資所要付出的資金代價,因此本文運用市盈率模型求得股票價格,具體公式如下:
上式中,p表示每股收益,y表示貼現(xiàn)率,b表示派息比率,表示凈資產(chǎn)收益率。
具體的,確定性下的遺傳算法設(shè)計如下:
(1)由上述BP神經(jīng)網(wǎng)絡(luò),已經(jīng)得出10只最優(yōu)股票,將它們作為投資對象。
(2)設(shè)第 只股票的每股收益為Pi,股價為Ci。
(3)設(shè)總投資額為T,設(shè)第i只股票的投入比例為xi,則
(4)適應(yīng)值函數(shù)定義為:
由上式可知,當(dāng)適應(yīng)值越大時,表示對應(yīng)解的股票收益越大,成本越小。
因此,確定性下的遺傳算法問題轉(zhuǎn)換為:線性約束下求函數(shù)最大值問題。假設(shè)投資總額T=1。則問題可以簡化為:
本文運用MATLAB中的輔助求解。由上節(jié)BP神經(jīng)網(wǎng)絡(luò)結(jié)果,已得10只最優(yōu)股票的凈資產(chǎn)收益率和每股收益。現(xiàn)假定:貼現(xiàn)率y=10%,派息比率b=50%,分別計算這10只股票的股票價格。結(jié)果如下表1所示。
表1 BP神經(jīng)網(wǎng)絡(luò)結(jié)果有關(guān)的數(shù)據(jù)
遺傳算法每次的運行結(jié)果也不同,因此要多次運行,選取最優(yōu)。本文運行了該確定性下的遺傳算法程序20次,選擇最大的適應(yīng)度y=0.7908所對應(yīng)的解,得出這10只股票的最優(yōu)投資占比,結(jié)果如下表2所示。
表2 確定性下的最優(yōu)投資占比
?
本文探討了確定性條件下的證券最優(yōu)投資組合模型的建立與結(jié)果,應(yīng)用神經(jīng)網(wǎng)絡(luò)和遺傳算法結(jié)合來進行建模。運用BP神經(jīng)網(wǎng)絡(luò)研究得出,確定性條件下的投資組合最優(yōu)的適應(yīng)度評價函數(shù),再運用遺傳算法優(yōu)化求得10支股票最優(yōu)投資組合,建立確定性條件下的最優(yōu)投資組合模型。最終得出以下幾點結(jié)論。
1.對于總的528條股票數(shù)據(jù)來說,BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測所得的利潤最大的前10只最優(yōu)股票為:1號、2號、3號、6號、8號、17號、19號、254號、278號、280號這10只股票。
2.由投資占比可得,確定性條件下的模型所算出的10只最優(yōu)股票投資占比十分集中,其中3號股票的投資占比為91%,其余9只股票的投資占比均低于1.1%。
3.總的來說,本文運用BP神經(jīng)網(wǎng)絡(luò)和遺傳算法相結(jié)合來建立模型,從而確定最優(yōu)的股票投資組合。該方法具有一定的經(jīng)濟意義,提供了一種新的投資組合確定方法。