鄧方舟
(北京聯(lián)合大學應用文理學院,北京 100070)
基于遺傳算法的投資組合在金融領域中的應用
鄧方舟
(北京聯(lián)合大學應用文理學院,北京 100070)
遺傳算法是一種模擬自然界生物進化的搜索算法,經(jīng)典遺傳算法采用的都是固定參數(shù),這是對性能的一種局限和束縛。為解決這些問題,在算法中引入自適應遺傳算法(AGA),即交叉概率Pc和變異概率Pm能夠隨適應度自動改變。自適應遺傳算法在保持群體多樣性的同時,保證遺傳算法的收斂性。AGA由于改進了各遺傳算子的參數(shù),使算法能夠適應于種群進化各個階段的特征,使算法的優(yōu)化效率和解的質量得到提高。本文將遺傳算法和投資組合結合起來,提出了基于遺傳算法下的投資組合模型,并舉例驗證。
遺傳算法 投資組合 AGA算法模型 證券
用整數(shù)編碼,整數(shù)編碼是指個體的每個基因值用某一范圍內的一個整數(shù)來表示個體的編碼長度等于其決策變量的個數(shù)(因為這種編碼方法使用的是決策變量的真實值,所以也叫真值編碼方法),整數(shù)編碼是遺傳算法中在解決連續(xù)參數(shù)優(yōu)化問題時普遍使用的一種編碼方式,具有較高的精度。在表示連續(xù)漸變問題方面具有優(yōu)勢。應用于此實證則是,一個染色體中含有n個基因位,基因的個數(shù)代表該證券在投資組合中的投資股數(shù)。
在這里,我們分別計算w=0.1、w=0.3、w=0.5、w=0.7、w= 0.9五個不同風險厭惡系數(shù)下的最大適應值,這里采用式17作為目標函數(shù)。對于給定規(guī)模的群體P={a1,a2,...an},先計算個體ai的適應度值,隨后選擇用輪盤賭選擇法來計算適應度值f(ai),因為適應函數(shù)應為大于或等于零的值。所以,我們將eB作為適應函數(shù),e為整數(shù)對數(shù),B為式17的目標函數(shù)值。
表1
表2
表3
首先,基因的數(shù)值代表證券在投資組合中的投資單位數(shù)。然后,隨機產(chǎn)生0—1之間的數(shù)u,若此基因位于染色體第i個位置,那么此基因值表達式如下:
為了進行隨后的交叉運算,需為新的種群來選擇兩個染色體,即第一個父本和第二個父本地選擇,從區(qū)間[1,N]隨機選擇一個染色體的適應值f。
首先,隨機選擇一個染色體u,將這個染色體需要變異的基因為選擇出來,進行變異處理:
同樣進行可行化處理,通過選擇、交叉和變異產(chǎn)生新的染色體來代替原來的染色體,給定進化迭代數(shù)Q,進行Q次的選擇、交叉、變異操作,從而產(chǎn)生最優(yōu)解。
Step1輸入最大迭代次數(shù)Q和參數(shù)L;Step2從搜索空間中隨機產(chǎn)生L個染色體,并對其進行可行化判斷;Step3通過選擇、交叉、變異,更新染色體,并記錄最好的染色體;Step4計算每個染色體適應值,選擇下一代染色體;Step5重復Step3和Step4,共計Q次;Step6記錄最好的染色體,作為問題的最優(yōu)解。
分別以2010年3月31日到2012年3月31日8個季度的收益為例,每手股票價格以2012年3月31日的收盤價為準,設定投資者手中有200萬資金用于投資證券組合,這里,統(tǒng)一將交易費統(tǒng)一按0.005計算。種群規(guī)模設為30,進化代數(shù)為500。十五種股票的季收益。
每手股票價格及持有單位數(shù)(表1和表2)。計算結果(表3)。(單位:萬元)
我們可以看出:(1)可以對不同投資者的風險厭惡系數(shù)來確定不同的投資組合,用以實現(xiàn)讓收益盡可能大,風險盡可能小的特性。(2)隨著風險厭惡值的不斷增加,其需要承受的風險值則相應的減少,同樣的,投資者所得到的收益值也逐漸下降。