??? 摘 要:針對考慮最小交易量、交易費(fèi)用,以及單項(xiàng)目最大投資上限約束的多目標(biāo)投資組合模型,對目標(biāo)函數(shù)添加懲罰函數(shù)項(xiàng)來處理約束條件的方法。本文通過對交叉算子、變異算子的改進(jìn),設(shè)計(jì)了一種遺傳算法進(jìn)行求解。實(shí)驗(yàn)算例表明,該算法是有效的。
??? 關(guān)鍵詞:投資組合;多目標(biāo);遺傳算法;異常變異
?
??? 風(fēng)險(xiǎn)投資具有高風(fēng)險(xiǎn)、高收益、高增長潛力和高技術(shù)的特點(diǎn),如何增加風(fēng)險(xiǎn)投資的收益潛力,降低風(fēng)險(xiǎn),是極其重要的。
??? 在金融市場眾多可供投資的風(fēng)險(xiǎn)或無風(fēng)險(xiǎn)資產(chǎn)中(股票、債券、投資基金、權(quán)益產(chǎn)品、銀行存款等), 選擇適當(dāng)數(shù)量的資產(chǎn), 進(jìn)行合理的組合投資, 可以減小投資的風(fēng)險(xiǎn), 確保投資的收益。Markowitz[1]于1952年提出的均值-方差組合模型是在禁止融資和沒有無風(fēng)險(xiǎn)借貸的假設(shè)下,以個(gè)別股票收益率的均值和方差找出投資組合的有效前沿(Efficient Frontier),即一定收益率水平下方差最小的投資組合。這是一個(gè)二次規(guī)劃問題,利用傳統(tǒng)的優(yōu)化方法容易求解。
??? 最小交易量和交易費(fèi)用是投資組合中的重要因素,最小交易量是單筆交易中最小的交易數(shù)量,我國上海和深圳交易所的股票交易中,最小交易量為100股,近來投資組合優(yōu)化問題的研究中有些考慮了最小交易量[2-3]。? 交易費(fèi)用是指交易中所要支付的費(fèi)用。沒有交易費(fèi)的證券組合投資將導(dǎo)致證券市場的無序。我國為了規(guī)范證券市場,在交易中要征收個(gè)人所得稅、印花稅等費(fèi)用。參考文獻(xiàn)[4]、[5]也有考慮。參考文獻(xiàn)[6]中同時(shí)考慮了最小交易量和交易費(fèi)用,建立了一個(gè)改進(jìn)的多目標(biāo)投資組合優(yōu)化模型。該模型是一個(gè)帶有很強(qiáng)約束的混合整數(shù)二次規(guī)劃模型。針對這一模型,本文通過對目標(biāo)函數(shù)加入懲罰項(xiàng)的方法,使得約束條件降弱,對轉(zhuǎn)化后的模型,運(yùn)用一種改進(jìn)的整數(shù)編碼的遺傳算法進(jìn)行求解,數(shù)值實(shí)驗(yàn)表明,該算法是有效的。
1? 考慮最小交易量和交易費(fèi)用的投資組合模型
1.1 傳統(tǒng)的多目標(biāo)投資組合優(yōu)化模型
??? 設(shè)有N種不同的投資項(xiàng)目,xi,i=1,2…,N表示投資各個(gè)項(xiàng)目所占總投資金額的比重,μi表示投資項(xiàng)目i的期望收益率,分別表示投資項(xiàng)目i收益率的方差及與投資項(xiàng)目j收益率的協(xié)方差的無偏估計(jì):
??? ?????????????
??? 則投資組合的期望收益可表示為
??? 投資組合的風(fēng)險(xiǎn)表示為:
???
??? 對投資者來說,總是希望投資的期望收益盡可能的大,同時(shí)風(fēng)險(xiǎn)又盡可能的小,因此就得到了目標(biāo)函數(shù),即:
???
??? 令表示投資者對風(fēng)險(xiǎn)的厭惡指數(shù),則(1)式可轉(zhuǎn)化為:
??? ????
??? 當(dāng)λ=0表示投資者更關(guān)注收益,是收益最大化,并沒有考慮風(fēng)險(xiǎn);當(dāng)λ=1,表示投資者更關(guān)注風(fēng)險(xiǎn),而不考慮收益。再加上對投資總額的限制,可以得到傳統(tǒng)的多目標(biāo)投資組合優(yōu)化模型:
???
1.2 改進(jìn)的多目標(biāo)投資組合優(yōu)化模型[6]
??? 假設(shè)投資總金額為C,可允許的最小值和最大值為C0和C1,假設(shè)最小交易量為NB個(gè)基本單位,投資i的單位價(jià)格為Pi,則投資i的最小投資金額為ci=NB×pi。設(shè)一種投資組合k=(k1,k2,…,kN),則投資的總金額。設(shè)交易費(fèi)用為g(C),則投資組合的期望收益率為:
???
??? 設(shè)μi為投資i允許的最大投資金額,則可得到改進(jìn)的多目標(biāo)投資組合優(yōu)化模型:
???
這是一個(gè)混合整數(shù)的二次規(guī)劃問題,是NP完全問題,用傳統(tǒng)的優(yōu)化方法很難求解。根據(jù)優(yōu)化方法,在目標(biāo)函數(shù)中加入懲罰項(xiàng)來處理約束,如式(6),設(shè)M是一個(gè)大自然數(shù),則模型轉(zhuǎn)化為:
??? 當(dāng)投資組合不滿足式(6)時(shí),式(8)的目標(biāo)函數(shù)值將會(huì)很大,而投資組合就受到懲罰,從而達(dá)到與約束式(6)相同的約束作用。
2? 整數(shù)編碼的遺傳算法
2.1遺傳算法的改進(jìn)策略
2.1.1編碼策略
??? 傳統(tǒng)的遺傳算法是二進(jìn)制編碼,采用整數(shù)編碼的策略,每個(gè)染色體對應(yīng)一種投資組合,直接用整數(shù)向量k=(k1,k2,…kN)表示,每個(gè)ki的取值在之間,其中為下取整運(yùn)算。這樣得到的編碼可滿足式(7)。
2.1.2 交叉策略
??? 本算法采用單個(gè)染色體,單點(diǎn)交叉的策略,即任意兩個(gè)染色體的任意位的等位基因相互交叉。
2.1.3 變異策略
??? 本算法采用群體變異策略,即所有染色體,每個(gè)基因位都等概率地發(fā)生變異,變異算子如下:
???
??? 其中β為變異步長,取正整數(shù)。
2.1.4 異常變異策略
??? 為了防止算法早熟,采用了異常變異策略,當(dāng)交叉和變異進(jìn)行了D代之后,或者種群的適應(yīng)度聚度超過某一閾值α之后,整個(gè)群體發(fā)生無方向變異(最簡單的方法是重新初始化種群),受參考文獻(xiàn)[7]的啟發(fā),適應(yīng)度聚度如下:
???
表示交叉和變異t代時(shí)染色體i的適應(yīng)度(文中取為適應(yīng)值)。
2.2遺傳算法步驟
??? (1)參數(shù)設(shè)定:設(shè)定種群規(guī)模為N,進(jìn)化代數(shù)為H,異常變異發(fā)生代數(shù)為D,異常變異的適應(yīng)度聚度閾值為α。
??? (2)初始化種群:根據(jù)編碼策略初始化種群,記錄最優(yōu)值。
??? (3)交叉和變異:按照法則進(jìn)行交叉和變異,更新最優(yōu)值。
??? (4)異常變異:若交叉和變異代數(shù)等于D,或者適應(yīng)度聚度滿足S≥α,則轉(zhuǎn)到(2)。
??? (5)終止檢驗(yàn):若滿足進(jìn)化終止準(zhǔn)則,終止計(jì)算,輸出最優(yōu)值。
3? 仿真算例
??? 考慮如下的投資組合問題:有6種股票,表1給出了6種股票8個(gè)時(shí)間段的收益率,表2給出了6種股票的協(xié)方差,表3給出了6種股票的價(jià)格。
??? 假設(shè)股票的最小交易量NB=100,C0=1 000 000,C1=1 005 000,并令每種股票的最大交易金額μi=200 000,i=1,2…,N,交易費(fèi)用設(shè)為0.01C,分別取λ=0、0.2、0.4、0.6、0.8、1.0,閾值取α=0.8、0.85、0.9,種群規(guī)模為50,進(jìn)化代數(shù)為2 000,異常變異代數(shù)為50,變異步長為1,在Genuine Intel(R) CPU T2050 @1.60 GHz、1.05 GHz、1.00 GB內(nèi)存的計(jì)算機(jī)上用Matlab7.0編寫程序進(jìn)行計(jì)算,每次計(jì)算獨(dú)立運(yùn)行50次,取其平均值,結(jié)果如表4所示。
?
??? 由表4可以看出:
??? (1)該算法求解上述模型得到了很好的結(jié)果,計(jì)算時(shí)間不超過1min;
??? (2)對于取不同閾值得到的平均適應(yīng)值與最優(yōu)適應(yīng)值的相對誤差在10-2之內(nèi),說明算法是穩(wěn)定的。
??? (3)當(dāng)閾值取0.85左右時(shí),效果更好。
??? (4)平均計(jì)算時(shí)間隨閾值的增加而增加。
??? 本文針對考慮最小交易量、交易費(fèi)用以及投資項(xiàng)目的最大上限約束的多目標(biāo)投資組合優(yōu)化模型,通過在目標(biāo)函數(shù)中加入懲罰項(xiàng)來處理投資總金額的約束,將模型的約束條件弱化,并提出了一種整數(shù)編碼的遺傳算法,該算法求解多目標(biāo)投資組合優(yōu)化模型是可行的、有效的。
參考文獻(xiàn)
[1]?Markowitz? H. Portfolio selection[J]. Journal of Finance,1952,7(1):77-91.
[2]?Kellerer H, Mansini? R, Speranza M G. On selecting a portfolio with fixed costs ang minimum lots[J].Annals of Oprations Research,2000,99(3):287-304.
[3]?Fernandez? A,? Gomez? S. Portfolio selection using neural networks. Computer & Operations Research.2007;(34):1177-1191.
[4]?Chang? T? J, Meade N, Beasley J, et al. Heuristics for cardinality constrained portfolio optimization.Computer & Operations Research, 2000(27):1271-1302.
[5]?趙娟,李科學(xué). 有交易費(fèi)的證券組合投資優(yōu)化模型. 華北水利水電學(xué)院學(xué)報(bào), 2006, 27(2):110-112.
[6]?林丹,李小明,王萍. 用遺傳算法求解改進(jìn)的投資組合模型. 系統(tǒng)工程,2005, 23(8): 68-72.
[7]?Duan Yu Hong,GAO Yue Lin, LI Ji Min. A new adaptive particle swarm optimization algorithm with dynamically changing inertia weight. Intelligent Information Management Systems and Technologies, 2006, 2(2): 245-255.