趙 磊,朱道立
(上海交通大學(xué)a.船舶海洋與建筑工程學(xué)院;b.安泰經(jīng)濟(jì)與管理學(xué)院;c.中美物流研究院,上海 200030)
投資組合指的是投資人或金融機(jī)構(gòu)(投資銀行、基金公司等)持有的股票、債券、金融衍生產(chǎn)品等組成的集合。投資人進(jìn)行投資組合決策的主要目的是分散投資風(fēng)險(xiǎn),在風(fēng)險(xiǎn)可控的前題下最大化投資收益。因此,在股票、債券等風(fēng)險(xiǎn)資產(chǎn)的投資中如何平衡收益和風(fēng)險(xiǎn)這兩項(xiàng)指標(biāo)進(jìn)行資產(chǎn)分配是市場(chǎng)投資者迫切需要解決的問(wèn)題,由此形成了投資組合理論和最優(yōu)投資組合選擇問(wèn)題。
投資組合理論最早被Markowitz[1-2]提出。在這一理論中所求的投資組合方案由向量x表示,各項(xiàng)風(fēng)險(xiǎn)資產(chǎn)的投資回報(bào)率由向量ξ表示,理論假設(shè)向量ξ服從某一概率分布ω,同時(shí)這一概率分布的任意實(shí)現(xiàn)屬于不確定集合
其中:Q∈Rn×n為半正定的協(xié)方差矩陣;μ∈Rn為期望收益。則投資組合方案的收益可由如下函數(shù)表示:?(x,ξ)=xΤξ。
Markowitz用風(fēng)險(xiǎn)資產(chǎn)的期望收益μ來(lái)刻畫收益,以風(fēng)險(xiǎn)資產(chǎn)的協(xié)方差矩陣Q來(lái)刻畫風(fēng)險(xiǎn),提出投資組合選擇問(wèn)題的均值-方差模型。在Markowitz的基礎(chǔ)上,Sharpe[3]使用收益與風(fēng)險(xiǎn)的比例來(lái)度量收益與風(fēng)險(xiǎn),稱為夏普比率最大化問(wèn)題,使模型更為簡(jiǎn)潔。
20世紀(jì)90年代之后,J.P.Morgan為代表的投資銀行由于其銀行業(yè)務(wù)風(fēng)險(xiǎn)的需要,對(duì)經(jīng)典投資組合優(yōu)化問(wèn)題中的風(fēng)險(xiǎn)評(píng)估方法進(jìn)行重新刻畫,提出了風(fēng)險(xiǎn)價(jià)值模型(Value-at-Risk,VaR)。VaR 模型是一種借助概率論和數(shù)理統(tǒng)計(jì)的方法對(duì)風(fēng)險(xiǎn)進(jìn)行量化和測(cè)度的模型,由于其在測(cè)量不同市場(chǎng)的不同風(fēng)險(xiǎn)時(shí)的簡(jiǎn)便性,在美國(guó)聯(lián)邦儲(chǔ)備銀行、美國(guó)證券交易委員會(huì)、歐盟、巴塞爾銀行監(jiān)督委員會(huì)等國(guó)際知名金融機(jī)構(gòu)得到了廣泛應(yīng)用。
但是VaR 模型也存在著不滿足風(fēng)險(xiǎn)次可加性公理的缺陷,故Artzner等[4]提出了一致性風(fēng)險(xiǎn)測(cè)度概念,并將滿足單調(diào)性、一次齊次性、平移不變性和次可加性4條公理的風(fēng)險(xiǎn)測(cè)度定義為一致性風(fēng)險(xiǎn)測(cè)度。另一方面,Rockafellar等[5-6]將VaR 模型拓展為條件風(fēng)險(xiǎn)價(jià)值(Conditional Value-at-Risk,CVaR)模型,CVaR 模型是一種能保持凸性的一致性風(fēng)險(xiǎn)測(cè)度模型。
通常,投資組合選擇問(wèn)題被刻畫為如下帶耦合約束的非線性規(guī)劃模型(P0):
式中:1n為各元素均為1的n維向量;〈·,·〉表示Rn空間中兩向量的內(nèi)積。
這里考慮市場(chǎng)上的n個(gè)有風(fēng)險(xiǎn)的金融資產(chǎn)。投資者面臨的決策是對(duì)這些金融資產(chǎn)進(jìn)行投資組合選擇,選擇決策由變量x=(x1,x2,…,xn)Τ∈Rn表示,x的每一個(gè)元素xi,i=1,2,…,n表示對(duì)第i個(gè)資產(chǎn)的投入比例。本文中假設(shè)不允許賣空,因此,有x≥0;假設(shè)x存在上界u,u≥0。如果現(xiàn)實(shí)需求中沒(méi)有明確給出上界u,通過(guò)預(yù)算約束式(2)不難得到u=1n。
文獻(xiàn)中對(duì)于風(fēng)險(xiǎn)函數(shù)r(x)有多種刻畫方式,下面介紹3種常見(jiàn)形式:
(1)均值方差形式[1,7]。Markowitz[1]以xTQx來(lái)衡量風(fēng)險(xiǎn),因此可得當(dāng)r(x)為下式時(shí)均值-方差模型[7-8](Pa)為
這一形式由Markowitz提出的投資組合理論而來(lái),至今仍有廣泛地應(yīng)用。
(2)風(fēng)險(xiǎn)價(jià)值形式[5,6,8-10]。20世紀(jì)90年代,以J.P.Morgan為代表的投資銀行對(duì)經(jīng)典投資組合優(yōu)化問(wèn)題中的風(fēng)險(xiǎn)評(píng)估方法進(jìn)行重新刻畫,風(fēng)險(xiǎn)價(jià)值模型(VaR)被提出。關(guān)于信任等級(jí)β和投資方案x的VaR 模型定義為
由于VaR 模型存在著不滿足風(fēng)險(xiǎn)次可加性公理的缺陷,Artzner等[4]提出了一致性風(fēng)險(xiǎn)測(cè)度概念,并將滿足單調(diào)性、一次齊次性、平移不變性和次可加性4條公理的風(fēng)險(xiǎn)測(cè)度定義為一致性風(fēng)險(xiǎn)測(cè)度。條件VaR 模型(CVaR)由Rockafellar等[5]提出。此外,Rockafellar等得到在α∈R 最小化如下輔助函數(shù)時(shí),CVaR 和VaR 一致,即
因此,CVaR 可表示為
在ξ服從正態(tài)分布條件下,令φ和Φ分別為正態(tài)分布的概率密度函數(shù)和分布函數(shù)。Fabozzi等[8]在Rockaffellar等[5]基礎(chǔ)上,將VaR 模型轉(zhuǎn)化為
式中,ζβ=-Φ-1(1-β),β>0.5。從而得到VaR投資組合模型(Pb)。
進(jìn)一步,如取積分形式,
CVaR 模型可轉(zhuǎn)換為
因此可得CVaR 投資組合模型(Pc)。
Branda等[9]在Fabozzi等[8]基礎(chǔ)上得到了魯棒VaR 模型,即
以及魯棒CVaR 模型:
因此可得魯棒VaR 投資組合模型(Pd)和魯棒CVaR 投資組合模型(Pe)。
由此可得在問(wèn)題(P0)對(duì)應(yīng)的r(x)分別為式(1b)~(1e)時(shí),P0對(duì)應(yīng)的問(wèn)題分別為VaR 投資組合選擇問(wèn)題(Pb)、CVaR 投資組合選擇問(wèn)題(Pc)、RVaR 投資組合選擇問(wèn)題(Pd)以及RCVaR 投資組合選擇問(wèn)題(Pe)。
(3)損失函數(shù)形式[7,11-12]。在ξ偏離正態(tài)分布條件下,De Miguel等[7]提出了一類以損失函數(shù)作為目標(biāo)函數(shù)的投資組合模型(Pρ),這一類模型被認(rèn)為具有更好的魯棒性。其中為代表的是M-投資組合模型。該模型中定義的r(x)即最小化收益波動(dòng)如下所示:
式中:ρ(·)是一個(gè)凸的損失函數(shù);y為投資組合問(wèn)題得到的收益。例如,經(jīng)驗(yàn)軌跡誤差函數(shù)[11]ρ1(ω)=‖ω‖2,投資組合規(guī)范函數(shù)[12]ρ2(ω)=log(1+ω)。
近年來(lái),投資者在進(jìn)行投資組合選擇時(shí)希望所得到的投資組合方案中被選擇的資產(chǎn)數(shù)量可控。模型中通常以基數(shù)約束來(lái)刻畫這一特征[13-19],即
式中:Card(x)均為向量x中非零元素的個(gè)數(shù);τ為最多選擇資產(chǎn)的個(gè)數(shù)。式(4)在通常狀況下有如下兩種等價(jià)數(shù)學(xué)表達(dá)。
(1)L0范數(shù)表達(dá):
(2)混合整數(shù)約束表達(dá):
式中:1n為各元素均為1的n維向量;〈·,·〉表示Rn空間中兩向量的內(nèi)積。
對(duì)于帶L0范數(shù)約束問(wèn)題的求解,目前文獻(xiàn)中的研究主要分為兩種:一是以L1范數(shù)替代L0范數(shù)的凸松弛方法[20-24]。但是,投資組合選擇問(wèn)題需要考慮的預(yù)算約束(式(2)),要求投資組合變量之和等于1,在不允許賣空情況下,又有x≥0。因此,投資組合變量的L1范數(shù)恒等于1。這一處理方法并不可行。另一研究方向?yàn)閷?duì)L0范數(shù)約束問(wèn)題進(jìn)行近似,例如,以Lp范數(shù)(0<p<1)約束近似L0范數(shù)約束[25-28],以凹函數(shù)近似L0范數(shù)[9,29-30],以半正定規(guī)劃問(wèn)題近似帶L0范數(shù)約束的投資組合優(yōu)化問(wèn)題[31]等,這一類方法通常運(yùn)算效率很高,但理論結(jié)論往往不盡如人意,僅能得到局部最優(yōu)解。
對(duì)于混合整數(shù)表達(dá)形式的求解,可利用經(jīng)典混合整數(shù)規(guī)劃方法,如分支定界法,以求得問(wèn)題的全局最優(yōu)解[17]。但是由于松弛下界問(wèn)題求解困難,目前僅有文獻(xiàn)[17]中利用混合整數(shù)約束研究帶基數(shù)約束的均值-方差模型的全局最優(yōu)求解方法。相關(guān)研究如表1所示。
表1 基數(shù)約束投資組合問(wèn)題相關(guān)研究匯總表
本文研究一種應(yīng)用廣泛的基數(shù)約束投資組合模型。該模型以凸風(fēng)險(xiǎn)函數(shù)作為目標(biāo)函數(shù),在不允許賣空前題下,考慮基數(shù)約束和預(yù)算約束。帶基數(shù)約束的投資組合優(yōu)化中常見(jiàn)的均值-方差模型以及VaR、CVaR、RVaR 和RCVaR 模型等均是這一模型的特殊形式。
本文以混合整數(shù)形式刻畫基數(shù)約束,將原問(wèn)題刻畫為非線性混合整數(shù)規(guī)劃的形式。由于該模型下界松弛問(wèn)題求解困難,目前尚無(wú)商用軟件可以直接精確求解這一非線性混合整數(shù)規(guī)劃模型。針對(duì)這個(gè)難點(diǎn)提出一種全局最優(yōu)化算法,在分支定界法框架基礎(chǔ)上,用有效的一階算法求解下界松弛問(wèn)題。最后,通過(guò)Fama-French(FF)產(chǎn)業(yè)投資組合基準(zhǔn)測(cè)試數(shù)據(jù)集[32]中5、10、12 和17 等4組產(chǎn)業(yè)投資組合數(shù)據(jù)作為實(shí)驗(yàn)基礎(chǔ)數(shù)據(jù),設(shè)計(jì)仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,本文提出的方法能有效處理基數(shù)約束的產(chǎn)業(yè)投資組合問(wèn)題,能夠給出任意基數(shù)的投資組合方案。
定義:〈·,·〉表示Rn空間中兩向量的內(nèi)積;‖·‖p表示p階范數(shù),對(duì)
特別地,當(dāng)p=0時(shí),‖x‖0表示x中非零元素的個(gè)數(shù);當(dāng)p=∞時(shí),。1n為各元素均為1的n維向量,0n為各元素均為0的n維向量,In為n維對(duì)角矩陣,On為n維0矩陣?!驯硎緝上蛄繉?duì)應(yīng)元素相乘。
考慮如下基數(shù)約束投資組合模型(P):
這里考慮市場(chǎng)上的n個(gè)有風(fēng)險(xiǎn)的金融資產(chǎn)。投資者面臨的決策是對(duì)這些金融資產(chǎn)進(jìn)行投資組合選擇,選擇決策由變量x∈Rn表示,x的每一個(gè)元素xi,i=1,2,…,n表示對(duì)第i個(gè)資產(chǎn)的投入比例。本文中假設(shè)不允許賣空,因此,有x≥0;假設(shè)x存在上界u,u≥0。如果現(xiàn)實(shí)需求中沒(méi)有明確給出上界u,通過(guò)預(yù)算約束式(2)不難得到u=1n。此外,引入基數(shù)約束式(4),τ為最多投資的資產(chǎn)個(gè)數(shù),則自然有1≤τ<n。將風(fēng)險(xiǎn)函數(shù)式(1a)~(1f)統(tǒng)一為一個(gè)風(fēng)險(xiǎn)函數(shù)r(x),假設(shè)為光滑和凸的。
引入0-1變量構(gòu)成的向量z∈{0,1}n,可將問(wèn)題(P)寫成如下混合整數(shù)規(guī)劃問(wèn)題(MIP):
不難看出,MIP是一個(gè)帶耦合約束的不可分離非線性混合整數(shù)規(guī)劃問(wèn)題,由于其對(duì)應(yīng)的連續(xù)松弛問(wèn)題是一個(gè)帶線性耦合約束的不可分離非線性規(guī)劃問(wèn)題,求解尤為困難,因而目前尚無(wú)可直接求解該問(wèn)題全局最優(yōu)解的商用軟件。下一節(jié)將針對(duì)問(wèn)題(MIP)進(jìn)行求解算法的設(shè)計(jì)。本文將用分支定界法處理問(wèn)題中的整數(shù)變量,并采用有效的一階算法求解下界松弛問(wèn)題。
本節(jié)進(jìn)行算法設(shè)計(jì),應(yīng)用一般分支定界算法框架設(shè)計(jì)算法[33]對(duì)問(wèn)題(P)進(jìn)行求解,以分支定界處理整數(shù)變量,以有效的一階算法[34]求解松弛下界問(wèn)題,它將在O(1/ε)的時(shí)間復(fù)雜度下得到下界松弛問(wèn)題的ε近似最優(yōu)解。
本文算法中分支策略根據(jù)整數(shù)變量構(gòu)成的向量z的取值進(jìn)行,對(duì)應(yīng)的分支樹如圖1所示。分支樹上的每一節(jié)點(diǎn)都對(duì)應(yīng)不同的向量z的取值。
由圖1不難得出分支:
圖1 分支樹結(jié)構(gòu)圖
以此類推。
令l為一個(gè)包含nl個(gè)元素的0-1序列,nl≤n,對(duì)任意i滿足1≤i≤nl,li為序列中第i個(gè)元素,任意
如果nl<n,則對(duì)Sl進(jìn)行分支,即將Sl0和Sl1加入分支列表。
定義分支Sl對(duì)應(yīng)的松弛問(wèn)題(RPl)為:
不難得出關(guān)于分支樹的剪枝條件的命題1。
命題1分支樹可以在如下3 種條件下進(jìn)行剪枝:
(1)RPl無(wú)解。
(2)RPl的最優(yōu)解滿足≤τ。
證明
(1)說(shuō)明當(dāng)前分支無(wú)可行解。
(3)隱含了這一分支一定不是最優(yōu)解。證畢
需要考慮到,RPl是一個(gè)帶線性約束的不可分離的凸規(guī)劃問(wèn)題。這一問(wèn)題的求解本身具有相當(dāng)大的難度,本文將用一階算法對(duì)其進(jìn)行求解。這一問(wèn)題的求解過(guò)程詳見(jiàn)4.3節(jié)。
根據(jù)4.1節(jié)中對(duì)分支、松弛問(wèn)題的定義以及剪枝條件給出算法的總體框架,算法總體流程如下:
輸入基數(shù)約束投資組合問(wèn)題的所有參數(shù)。
輸出所需投資組合方案。
步驟1初始化。設(shè)置分支集合。
步驟2終止條件檢驗(yàn)。如果分支集合,則當(dāng)前解為最優(yōu)解,當(dāng)前上界為最優(yōu)值。
步驟3分支選擇與松弛問(wèn)題計(jì)算。從中選擇Sl,并將Sl從中刪除。求解其對(duì)應(yīng)的松弛問(wèn)題(RPl)。定義為RPl的最優(yōu)值,為RPl的最優(yōu)解。
步驟4剪支:
步驟5分支。令為Sl的分支,將這些分支加入,更新下界,j=1,2,…,k,返回步驟2。
本節(jié)給出松弛下界問(wèn)題的求解算法,RPl為一個(gè)帶耦合約束的凸非線性規(guī)劃問(wèn)題,該問(wèn)題的求解本身具有相當(dāng)大的難度,首先根據(jù)分支Sl對(duì)RPl進(jìn)行等價(jià)轉(zhuǎn)化。
由RPl中式(8)~(10)不難得到,在當(dāng)前分支Sl中,?i=1,2,…,n,當(dāng)zi=0時(shí),xi一定為0;當(dāng)zi為其他值時(shí),xi可取0≤xi≤ui,故定義向量。根據(jù)分支Sl中z的值,確定ubl的值,
由此,RPl可改寫為如下非線性規(guī)劃問(wèn)題(NLPl):
因此,對(duì)NLPl進(jìn)行求解,即可得到松弛問(wèn)題(RPl)的最優(yōu)解。Zhao等[34]給出了一種一階算法(VAPP),可在O(1/ε)的時(shí)間復(fù)雜度下得到NLPl模型的ε近似最優(yōu)解。
根據(jù)VAPP算法,首先對(duì)進(jìn)行廣義Lagrangian松弛,得到(ALl):
因此,對(duì)問(wèn)題(NLPl)的VAPP 算法的一般流程(VAPPl)如下式所示:
式中,πk=pk+〈1n,xk〉-1,算法的原始問(wèn)題式(13)為在給定廣義Lagrangian乘子pk后,對(duì)ALl進(jìn)行線性化規(guī)則化,求解相應(yīng)問(wèn)題得到原始變量更新。對(duì)偶問(wèn)題為對(duì)廣義Lagrangian 乘子的更新。e是規(guī)則化參數(shù),在具體算法流程中將以回溯的方式獲取。由于在式(1f)中加入了輔助變量y,故對(duì)目標(biāo)函數(shù)的線性化部分?r(xk)會(huì)與當(dāng)r(x)為式(1a)~(1e)時(shí)有所不同。對(duì)應(yīng)不同算法具體流程如NLPl-1和NLPl-2所示:
(1)均值方差投資組合問(wèn)題與風(fēng)險(xiǎn)價(jià)值投資組合問(wèn)題的NLPl求解算法。首先討論均值方差投資組合問(wèn)題和風(fēng)險(xiǎn)價(jià)值投資組合問(wèn)題,即r(x)為式(1a)~(1e)時(shí)問(wèn)題(NLPl)的求解方法,求解算法(NLPl-1)步驟如下:
輸入對(duì)應(yīng)NLPl問(wèn)題的所有參數(shù),最大迭代次數(shù)K。
輸出所需NLPl問(wèn)題的解。
初始化設(shè)置初始解x0==0n,p0=0,ε=10-6,η=0.9,e0=1。
步驟1設(shè)置k=0。
步驟2終止條件。如果‖xk+1-xk‖<ε或k=K,進(jìn)入步驟7,否則進(jìn)入步驟4。
步驟3計(jì)算投影:πk=pk+〈1n,xk〉-1。
步驟4求解原始優(yōu)化問(wèn)題。計(jì)算:
步驟5判斷是否下降。如果
如果下降,則保持參數(shù)ek+1=ek,更新原始變量xk+1=,求解對(duì)偶優(yōu)化問(wèn)題pk+1=pk+〈1n,xk+1〉-1;如果不下降,則調(diào)整參數(shù)ek=ηek,返回步驟4,重新求解原始優(yōu)化問(wèn)題。
步驟6計(jì)算,k=k+1,返回步驟3,計(jì)算新迭代點(diǎn)的投影。
步驟7輸出。
步驟4中,不同r(x)模型對(duì)應(yīng)的梯度?r(x)如表2所示。
表2 式(1a)~(1e)對(duì)應(yīng)不同r(x)形式和梯度?r(x)表
原始優(yōu)化問(wèn)題為
根據(jù)一階條件,可以得到原始優(yōu)化問(wèn)題的最優(yōu)解的閉合表達(dá)式為:
(2)損失函數(shù)投資組合問(wèn)題(NPLl)的求解算法。下面討論損失函數(shù)投資組合問(wèn)題,即當(dāng)r(x)為式(1f)時(shí)問(wèn)題(NPLl)的求解方法闡述,求解算法(NPLl-2)步驟如下:
輸入對(duì)應(yīng)NPLl問(wèn)題的所有參數(shù),最大迭代次數(shù)K。
輸出所需NPLl問(wèn)題的解。
初始化設(shè)置初始解x0==0n,y0=0,p0=0,ε=10-6,η=0.9,e0=1。
步驟1設(shè)置k=0。
步驟2終止條件。如果‖xk+1-xk‖<ε或k=K,則進(jìn)入步驟7,否則進(jìn)入步驟4。
步驟3計(jì)算投影:πk=pk+〈1n,xk〉-1。
步驟4 求解原始優(yōu)化問(wèn)題。計(jì)算:
步驟5判斷是否下降。如果
則保持參數(shù)ek+1=ek,更新原始變量xk+1=,yk+1=,求解對(duì)偶優(yōu)化問(wèn)題pk+1=pk+〈1n,xk+1〉-1;否則,調(diào)整參數(shù)ek=ηek,返回步驟4,重新求解原始優(yōu)化問(wèn)題。
步驟6計(jì)算,k=k+1,返回步驟3,計(jì)算新迭代點(diǎn)的投影。
步驟7輸出。
步驟4,損失函數(shù)投資組合問(wèn)題中,式(1f)對(duì)應(yīng)不同r(x,y)形式和梯度?r(x,y)如表3所示。
表3 式(1f)對(duì)應(yīng)不同r(x,y)形式和梯度?yr(x,y)表
損失函數(shù)投資組合問(wèn)題可分離為x和y變量?jī)蓚€(gè)原始問(wèn)題。對(duì)于x變量的原始問(wèn)題為
根據(jù)一階條件,可以得到最優(yōu)解的閉合表達(dá)式:
對(duì)于y變量的原始問(wèn)題為
根據(jù)一階條件,可以得到最優(yōu)解的閉合表達(dá)式:
本文計(jì)算實(shí)驗(yàn)運(yùn)行環(huán)境:處理器為Intel(R)Core(TM)i5-6200U;內(nèi)存為8 GB;操作系統(tǒng)為64位Windows 10;編程語(yǔ)言為matlab R2014b。選擇Fama-French(FF)基準(zhǔn)測(cè)試數(shù)據(jù)集[32]中5、10、12和17這4組產(chǎn)業(yè)投資組合數(shù)據(jù)作為實(shí)驗(yàn)基礎(chǔ)數(shù)據(jù)。
本節(jié)進(jìn)行兩組實(shí)驗(yàn):
實(shí)驗(yàn)1驗(yàn)證本文算法對(duì)問(wèn)題(P)求解的精確程度。在實(shí)驗(yàn)1中選擇較為簡(jiǎn)單的r(x)形式,當(dāng)r(x)為式(1a)時(shí)的基數(shù)約束投資組合模型為混合整數(shù)二次規(guī)劃?;旌险麛?shù)規(guī)劃商用求解器Gurobi可對(duì)該問(wèn)題進(jìn)行精確求解。在實(shí)驗(yàn)1中將本文算法的求解精度和Gurobi的求解精度進(jìn)行展示,說(shuō)明本文算法可精確求解基數(shù)約束的投資組合問(wèn)題。
實(shí)驗(yàn)2本文算法對(duì)問(wèn)題(P)的其他較為復(fù)雜形式的模擬實(shí)驗(yàn)。選擇r(x)為式(1b)~(1c)時(shí)的基數(shù)約束投資組合模型,該模型為混合整數(shù)非線性規(guī)劃,目前尚無(wú)商用軟件可直接進(jìn)行求解,在實(shí)驗(yàn)2中將對(duì)本文算法的求解問(wèn)題規(guī)模和計(jì)算時(shí)間之間的關(guān)系進(jìn)行分析。
考慮基數(shù)約束的均值-方差模型:當(dāng)r(x)為式(1a)時(shí),本文模型可表示為帶約束的二次混合整數(shù)規(guī)劃(Pa):
上述模型可用本文提出的算法和商業(yè)軟件Gurobi進(jìn)行求解。本節(jié)以Fama-French(FF)基準(zhǔn)測(cè)試數(shù)據(jù)集中5、10、12和17這4組產(chǎn)業(yè)投資組合數(shù)據(jù)計(jì)算樣本協(xié)方差矩陣Q和樣本均值μ,選擇γ=500,基數(shù)τ=2,分別應(yīng)用本文算法和Gurobi軟件求解,對(duì)比兩種方法的計(jì)算時(shí)間、約束滿足程度以及目標(biāo)函數(shù)值。這里以‖〈1n,x〉-1‖ 測(cè)度約束式(2)的滿足程度,以max{‖x‖0-τ,0}測(cè)度約束式(4)的滿足程度。由表4可看出,本文算法可精確求解問(wèn)題(Pa)。
表4 P1a計(jì)算結(jié)果與程序運(yùn)行時(shí)間展示
考慮基數(shù)約束的風(fēng)險(xiǎn)價(jià)值模型:當(dāng)r(x)為式(1b)~(1e)時(shí),本文模型可表示為帶約束的混合整數(shù)非線性規(guī)劃(Pb-Pe):
式中,cβ可取ζβ、ηβ、等4種形式。目前尚無(wú)可直接求解這一模型的商業(yè)軟件,故采用本文提出的算法求解。本節(jié)以Fama-French(FF)基準(zhǔn)測(cè)試數(shù)據(jù)集中5、10、12和17這4組產(chǎn)業(yè)投資組合數(shù)據(jù)計(jì)算樣本協(xié)方差矩陣Q和樣本均值μ,選擇r(x)為式(1b)~(1c)形式,β=0.9,0.95,0.99,則對(duì)應(yīng)cβ取值如表5所示。選擇基數(shù)τ=2,得到的投資組合問(wèn)題計(jì)算時(shí)間與目標(biāo)函數(shù)值如表6所示。
表5 參數(shù)選擇
表6 計(jì)算結(jié)果與計(jì)算時(shí)間展示
由表6數(shù)值實(shí)驗(yàn)結(jié)果,對(duì)計(jì)算時(shí)間進(jìn)行統(tǒng)計(jì)分析得圖2、3。由圖中可以看出,本文提出的方法可以在很短的時(shí)間內(nèi)有效處理基數(shù)約束產(chǎn)業(yè)投資組合優(yōu)化問(wèn)題。但是,隨著規(guī)模的增加,由于分支定界算法自身劣勢(shì),求解時(shí)間會(huì)快速增長(zhǎng)。
圖2 不同算例計(jì)算時(shí)間圖
圖3 不同規(guī)模算例平均計(jì)算時(shí)間圖
本文研究基數(shù)約束投資組合模型,該模型以最小化風(fēng)險(xiǎn)函數(shù)為目標(biāo),在不允許賣空前題下,考慮基數(shù)約束和預(yù)算約束。該模型應(yīng)用極其廣泛,包含帶基數(shù)約束的均值-方差模型、VaR 和CVaR 模型等。本文將該模型用非線性混合整數(shù)規(guī)劃模型來(lái)刻畫,目前尚無(wú)商用軟件可以求解得到這一問(wèn)題的全局最優(yōu)解。針對(duì)這一類問(wèn)題提出一種全局最優(yōu)化算法,在分支定界法框架基礎(chǔ)上,以有效的一階算法求解的下界松弛問(wèn)題。最后,通過(guò)Fama-French(FF)5、10、12、17產(chǎn)業(yè)投資組合基準(zhǔn)測(cè)試數(shù)據(jù)設(shè)計(jì)仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,本文提出的方法能有效處理基數(shù)約束產(chǎn)業(yè)投資組合優(yōu)化問(wèn)題,能夠給出任意基數(shù)要求下的投資組合方案,能夠幫助風(fēng)險(xiǎn)投資企業(yè)做出產(chǎn)業(yè)最優(yōu)投資篩選決策。