翟靜 栗方 郭浩 梁娜 嚴(yán)洪軒
[摘 要]投資組合優(yōu)化問題是指為了同時獲得最大的整體回報和最小的整體風(fēng)險,選擇不同的資產(chǎn)進(jìn)行投資。目前,我國許多中小企業(yè)家在國際化投資中,找到一個最好的投資組合方案問題的復(fù)雜性往往隨著可供選擇資產(chǎn)數(shù)目的增多而變大,而且語言障礙也是一大難題。為了給出英語環(huán)境下大規(guī)模投資組合的最優(yōu)解,基于智能優(yōu)化算法提出了兩種考慮個別資產(chǎn)收益和風(fēng)險的資產(chǎn)預(yù)選方法。文章借助于粒子群優(yōu)化算法對資產(chǎn)進(jìn)行優(yōu)化選擇,并設(shè)計了4組不同設(shè)置的實驗。從4組實驗的數(shù)據(jù)可以得出,所提出的預(yù)選擇方法不但確保了優(yōu)化問題的準(zhǔn)確度,同時通過人工智能技術(shù)給投資者提供國際化投資組合建議。
[關(guān)鍵詞]粒子群優(yōu)化算法;預(yù)選機(jī)制;投資組合策略
[DOI]10.13939/j.cnki.zgsc.2020.02.032
1 投資組合優(yōu)化的前景
國際環(huán)境下的投資者需要分析若干個資產(chǎn)的相關(guān)英語文件,進(jìn)一步從一個龐大的可能性集中形成一個單一的投資組合方案,以便最大限度地提高回報和減少風(fēng)險。投資組合優(yōu)化算法可以輔助每一個投資者找到一個最適合的投資組合策略。正如“商業(yè)周刊”所述,對付風(fēng)險最好的武器就是用不相關(guān)或者負(fù)相關(guān)的資產(chǎn)[1],因為幾個這樣的資產(chǎn)合并在一起,組合后方案的總體風(fēng)險可能小于單一資產(chǎn)的風(fēng)險[2]。因此,找到一組最合適的投資組合方案獲得了投資者和學(xué)者的廣泛關(guān)注。在1952年出版的Markowitz的投資組合選擇理論使投資組合優(yōu)化得到了重大突破[3]。隨著可供選擇的資產(chǎn)數(shù)量大量增加,優(yōu)化問題的復(fù)雜程度和優(yōu)化的計算時間將會不可想象[4]。在本文中,筆者考慮了中國滬深股票市場近五年的日線數(shù)據(jù),使用最多的股票數(shù)量是1000只。為了實現(xiàn)大規(guī)模投資組合優(yōu)化,本文提出了兩種資產(chǎn)預(yù)選流程,使得要考慮的資產(chǎn)數(shù)目可以增加到幾千個或更多,本文把粒子群優(yōu)化算法(PSO)作為優(yōu)化工具,測試了預(yù)選過程的有效性。
2 使用MATLAB對股票數(shù)據(jù)進(jìn)行優(yōu)化
2.1 股票數(shù)據(jù)的獲取
本文選用中信證券客戶端下載股票數(shù)據(jù),此方法可以無限制批量下載股票的歷史數(shù)據(jù),生成的CSV文件可直接通過MATLAB函數(shù)導(dǎo)入,也便于后期的數(shù)據(jù)處理。
2.2 資產(chǎn)收益風(fēng)險的求解
2.2.1 對每個單個資產(chǎn)進(jìn)行收益風(fēng)險評估
在已知投資組合中各資產(chǎn)權(quán)重的情況下(在單個資產(chǎn)優(yōu)化過程中,每一個單個資產(chǎn)都被當(dāng)作是一個投資組合,故所有資產(chǎn)的權(quán)重全為1),在MATLAB中可以使用PORTSTATS( )函數(shù)計算投資組合的收益與風(fēng)險,為了測試這個函數(shù),本文隨機(jī)選取了10只滬深日線的股票進(jìn)行了繪制,繪制結(jié)果如圖1所示。
從圖中可以看出,資產(chǎn)A是最優(yōu)的單個資產(chǎn),其次是資產(chǎn)B、資產(chǎn)C。如果投資者想要從這十只股票中選取三只股票進(jìn)行投資,那么此方法下最優(yōu)的投資組合方案即為[資產(chǎn)A,資產(chǎn)B,資產(chǎn)C]。
2.2.2 對兩個資產(chǎn)進(jìn)行組合
本文第一節(jié)中提到,對付風(fēng)險最好的武器就是用不相關(guān)或者負(fù)相關(guān)的資產(chǎn),因為幾個這樣的資產(chǎn)合并在一起,組合后方案的總體風(fēng)險可能小于單一資產(chǎn)的投資組合風(fēng)險。如若已經(jīng)計算得出總體中所有股票的收益風(fēng)險值,MATLAB可以調(diào)用PORTSTATS( )函數(shù)來模擬組合后的收益與風(fēng)險值,此次的各資產(chǎn)權(quán)重不再設(shè)置為1,而是按照約束處理編碼方式進(jìn)行設(shè)置, 為了展示組合后的方案效果,從上述提到的十只單個股票中選擇了兩個負(fù)相關(guān)的資產(chǎn),并且標(biāo)記出了組合后的收益風(fēng)險值,結(jié)果如圖2所示。
從圖中不難發(fā)現(xiàn),資產(chǎn)B與資產(chǎn)C呈負(fù)相關(guān),當(dāng)這兩種資產(chǎn)組合后可以大幅度地提高資產(chǎn)價值,并降低組合后的資產(chǎn)風(fēng)險值。如果對所有的兩兩資產(chǎn)進(jìn)行組合評估,就能得到所有資產(chǎn)中最優(yōu)的投資組合方案。由于組合后的資產(chǎn)風(fēng)險隨著組合資產(chǎn)數(shù)量的增加而增加[5],故本文只考慮兩兩資產(chǎn)組合的情況。
3 基于預(yù)選方法的大規(guī)模投資組合優(yōu)化
資產(chǎn)選擇過程的方案是觀察到每項資產(chǎn)有自己的風(fēng)險值和回報值,這些風(fēng)險和回報值可以繪制出來,也可以接受非線性排序過程[6],同時過濾掉大量不良資產(chǎn)?;谶@些觀察,本文提出了兩種資產(chǎn)預(yù)選流程,具體如下。
資產(chǎn)預(yù)選流程M-1:很容易理解,好的單一資產(chǎn)(具有高回報和低風(fēng)險的股票)可能對最終優(yōu)化的投資組合方案具有貢獻(xiàn)。因此,在資產(chǎn)預(yù)選流程M-1中,根據(jù)單個資產(chǎn)的收益和風(fēng)險使用粒子群算法來選擇資產(chǎn)。在這個過程中,每個資產(chǎn)都會被看作是一個投資組合,并且這些資產(chǎn)在預(yù)選過程中會對其進(jìn)行價值排序。選擇基于分配給每個資產(chǎn)的價值等級,直到所選資產(chǎn)的數(shù)目達(dá)到預(yù)定義的(用戶定義的)數(shù)量。雖然M-1的概念很簡單,但是它對于減少不良資產(chǎn)是非常有效的,并且對最終的投資組合方案具有比較大的貢獻(xiàn)。
資產(chǎn)預(yù)選流程M-2:雖然資產(chǎn)預(yù)選流程M-1簡單有效,但是在需要高績效的投資組合方案時,僅考慮個別資產(chǎn)的風(fēng)險和回報是遠(yuǎn)遠(yuǎn)不夠的,因為兩個負(fù)相關(guān)的資產(chǎn)也有可能根據(jù)他們負(fù)相關(guān)的程度降低風(fēng)險,從而提高投資組合的總體價值。因此,在資產(chǎn)預(yù)選流程M-2中,考慮了單個資產(chǎn)和具有負(fù)相關(guān)屬性的資產(chǎn)對。圖2顯示了如何使用資產(chǎn)預(yù)選流程M-2選擇資產(chǎn)。假設(shè)希望從10項資產(chǎn)A-J中選擇3項資產(chǎn),所有的資產(chǎn)都會根據(jù)其回報值和風(fēng)險值進(jìn)行標(biāo)記。在10項資產(chǎn)中,假設(shè)只有B資產(chǎn)和C資產(chǎn)呈負(fù)相關(guān),由B資產(chǎn)和C資產(chǎn)可以得到一組投資組合,稱為BC,這一組合將會對最終的投資組合方案提供最大的貢獻(xiàn)。很明顯,BC點占資產(chǎn)C的主導(dǎo)地位。因此,資產(chǎn)A、B和C將被選為最佳的3個資產(chǎn)。
4 實驗與結(jié)果
4.1 實驗設(shè)置
為了測試所提出預(yù)選方法的可行性,本文下載了1000只中國滬深股票市場的1000天收盤價(從2014年7月7日起),并將其作為模擬歷史股票的數(shù)據(jù)。對于所提出算法進(jìn)行實驗,具體的實驗內(nèi)容和設(shè)置如下。
實驗E-1,不使用預(yù)選方法,對1000只股票進(jìn)行收益風(fēng)險計算,使用傳統(tǒng)辦法(冒泡排序法)選擇最有價值的3只股票。
實驗E-2,不使用預(yù)選方法,對1000只股票進(jìn)行收益風(fēng)險計算,使用粒子群優(yōu)化算法優(yōu)化出最有價值的3只股票。
實驗E-3,使用資產(chǎn)預(yù)選流程M-1從1000只股票中預(yù)選出100只最有價值的股票,再使用PSO算法從中選出3只最優(yōu)股票。
實驗E-4,使用資產(chǎn)預(yù)選流程M-1從1000只股票中預(yù)選出100只最有價值的股票,再使用資產(chǎn)預(yù)選流程M-2和PSO算法從100只股票中優(yōu)化出3只最優(yōu)股票。
4.2 實驗結(jié)果
4.2.1 實驗結(jié)果展示
實驗E-1、E-2結(jié)果如圖3所示,這兩個實驗的結(jié)果圖(收益風(fēng)險圖)相同,得到的三只最優(yōu)股票相同,但是運(yùn)算時間不同。實驗E-3、E-4的結(jié)果分別如圖4、圖5所示,實驗所得數(shù)據(jù)如表1所示。
4.2.2 實驗結(jié)果分析
通過對四組實驗的結(jié)果進(jìn)行分析,可以得出這樣一個結(jié)論。
對比實驗E-1和實驗E-2可知,粒子群優(yōu)化算法在計算速度方面有很大的提高,在確保準(zhǔn)確性的情況下,大大縮短了計算的時間,由此可見粒子群算法在處理大規(guī)模優(yōu)化問題的時候,能起到提高計算效率的功效。通過對實驗E-2與實驗E-3的實驗結(jié)果分析,可以證實資產(chǎn)預(yù)選流程M-1在資產(chǎn)預(yù)選時可以過濾掉大量不良資產(chǎn),從而減少優(yōu)化問題的維度,縮短優(yōu)化過程的時間。實驗E-4是在綜合了粒子群優(yōu)化算法和資產(chǎn)預(yù)選流程M-1后,對篩選出的優(yōu)良資產(chǎn)再次進(jìn)行優(yōu)化,此次試驗采用資產(chǎn)預(yù)選流程M-2對篩選后的100只優(yōu)良股票進(jìn)行負(fù)相關(guān)組合,對所有的兩兩股票進(jìn)行模擬組合投資,選出最優(yōu)的兩只股票作為最終投資組合方案供投資者選擇。
為了證明預(yù)選過程的有效性,圖3和圖4分別繪制了無(1000只股票)和有(100只股票)資產(chǎn)預(yù)選流程(M-1)的收益風(fēng)險圖。從這兩張圖中可以看出,在應(yīng)用預(yù)選方法M-1后,不良資產(chǎn)大幅度減少。預(yù)選過程去除了不良股票,并保留那些可能對投資組合有貢獻(xiàn)的股票。該方法不僅減少了計算的時間,而且提高了求解的質(zhì)量,更能提高算法的計算效率。
從圖4和圖5中還可以看出資產(chǎn)預(yù)選方法2(M-2)比資產(chǎn)預(yù)選方法1(M-1)的效果好,其原因是顯而易見的。M-2同時考慮單只股票(高回報、低風(fēng)險)和負(fù)相關(guān)對,而M-1只考慮單只股票。負(fù)相關(guān)對能進(jìn)一步提高投資組合方案的質(zhì)量。然而,當(dāng)精度要求不高時,M-1仍然有用,因為這種方法比M-2快,更能快速獲得有價值的股票。
綜合所有實驗的結(jié)果,使用預(yù)選方法的優(yōu)勢變得更加明顯。資產(chǎn)預(yù)選流程M-1簡單輕巧,能大幅度過濾掉不良資產(chǎn),計算時間少。資產(chǎn)預(yù)選流程M-2雖然在計算時間上花費(fèi)比較多,但是能找到最優(yōu)的股票負(fù)相關(guān)對,找到最好的投資組合方案。
5 結(jié)論
本文介紹了一種解決國際環(huán)境下的投資組合優(yōu)化問題的有效方法。提出了兩種不同的資產(chǎn)預(yù)選流程。實驗結(jié)果表明,由于資產(chǎn)預(yù)選程序,特別是資產(chǎn)預(yù)選流程M-2,即考慮單一資產(chǎn)和負(fù)相關(guān)對的選擇過程,產(chǎn)生的有效投資組合的質(zhì)量顯著提高。本文提出的優(yōu)化方法對投資者英語環(huán)境下國際化投資具有很強(qiáng)的輔助性。
參考文獻(xiàn):
[1]林春艷.多種環(huán)境下的證券投資組合優(yōu)化及其應(yīng)用[D].大連:大連理工大學(xué), 2004.
[2]丁曉東,肖琳燦,羅和治.帶邊際風(fēng)險控制的投資組合問題的半定規(guī)劃松弛[J]. 浙江工業(yè)大學(xué)學(xué)報,2017(1):68-72.
[3]李善民,徐沛.Markowitz投資組合理論模型應(yīng)用研究[J].經(jīng)濟(jì)科學(xué), 2000(1):42-51.
[4]徐金發(fā),黃亮華. 基于可變相關(guān)系數(shù)的投資組合研究[J].技術(shù)經(jīng)濟(jì)與管理研究,2004(5):60.
[5]郭曉霞.我國證券市場中資產(chǎn)數(shù)量與組合風(fēng)險關(guān)系的實證研究[D].保定:河北大學(xué), 2006.
[6]張兆印,耿學(xué)新.非線性數(shù)據(jù)快速排序算法的BASIC實現(xiàn)[J].黑龍江大學(xué)自然科學(xué)學(xué)報,1989(2):47-48.