趙 建,霍佳震,汪 鑫
(1.同濟大學 經(jīng)濟與管理學院,上海 200092;2.長江證券研究所,上海 200122)
傳統(tǒng)資產(chǎn)配置模型討論的是一個時間段內(nèi)的投資問題,即假設所有投資都是從一個時點開始,不考慮資金的重復利用,因此屬于靜態(tài)決策。例如Markowitz的均值一方差模型[1-2]就是討論在有效前沿上配置風險資產(chǎn),有效前沿上的每個點對應著不同資產(chǎn)的權重,各部分資產(chǎn)權重之和為1。然而,實際中的投資往往是一個持續(xù)不斷、貫穿多階段的過程。對于一個長期投資者來說,需要隨著投資環(huán)境的變化適時調整組合頭寸,而不是將初期構建的投資組合一成不變地保持到投資計劃期末。于是很多學者致力于把Markowitz模型推廣到多階段或連續(xù)時間的動態(tài)情形。動態(tài)投資組合優(yōu)化建模中最主要的方法有隨機控制和隨機規(guī)劃方法。目前關于多階段(或多期)動態(tài)投資組合選擇已經(jīng)取得較多研究成果,做出突出貢獻的主要有Mossin[3]、Li 和Ng[4]以及Zhou 和Li[5]等。不過,在離散時點上的動態(tài)組合研究還相對缺乏。此外,目前的多期動態(tài)模型對各期之間關系未作較多說明,即隱含著總的時間區(qū)間可以方便地進行清晰分割;且每期的決策在期初一經(jīng)作出,將不再更改,決策的次數(shù)與期數(shù)一致;另外,現(xiàn)有動態(tài)模型一般均未考慮流動性約束的存在,也就是說某些資產(chǎn)可能因為流動性不足而被迫繼續(xù)持有。
考慮一種更一般的情形,如果某個時點能夠觀察到未來一段時間存在若干投資機會(或投資項目),這些投資機會的存續(xù)時間不盡相同,則資金分配動作將不是在最初的一個時點作出,而是一個逐步進行的過程,并且后續(xù)投資機會的投入資金可以部分或全部來源于之前的投資機會,稱這類問題為連續(xù)投資問題。
傳統(tǒng)的資產(chǎn)配置模型中,資金分配是在同一時點作出,因此模型存在一個總資金約束,即所有投資項目的投入資金總和不超過初始資金。而在連續(xù)投資的情形下,原先的總資金約束將不再滿足。因此,在資金配置時加入投資項目的起止時間因素后,任意一個投資項目的機會成本計算將變得更為復雜,決策時不僅需要考慮當期的投資項目,還需為未來的投資項目預留部分資金,于是資金的重復利用是考慮時間因素之后的資金規(guī)劃的關鍵差別所在。如圖1中包含10個投資項目,容易看出,不管項目1(opt1)、項目2(opt2)各自占用了多少資金量,都不會影響其他項目的可用資金。因為在其他項目需要投資之時,原先投資項目1 和項目2 的資金均已收回。而對opt3 進行決策時,不僅需要考慮opt4,還應考慮到opt5~opt10。如上所述,在連續(xù)投資的情況下,總資金約束將更為復雜。
圖1 不同投資項目間時間重疊的情況
連續(xù)投資中的資金規(guī)劃問題,看起來類似一個典型的動態(tài)規(guī)劃問題[6-7]。但是,如果使用動態(tài)規(guī)劃來解決上述問題,則首先需要進行決策階段的劃分:
(1)若使用項目的開始時間來區(qū)分決策階段,則開始時間相同但結束時間不同的項目將無法合并成一個,從而導致單階段的特征未能完全表示出來;
(2)若考慮根據(jù)投資項目來區(qū)分決策階段,即一個決策階段對一個投資項目的投資額做出決策。則起始時間靠前的項目應排在前面,即早發(fā)生的早決策,同時發(fā)生的決策順序不限。其次需要確定各決策階段的狀態(tài)變量。由于所研究的問題具有路徑依賴性,不能僅以剩余資金作為狀態(tài)變量,如果要滿足最優(yōu)化原理[6]關于“狀態(tài)”的要求,還需要將之前走過的路徑都記錄下來作為狀態(tài),如此狀態(tài)變量將過于復雜。因此連續(xù)投資問題很難用一般的動態(tài)規(guī)劃方法來解決。
總之,傳統(tǒng)的資產(chǎn)配置模型或動態(tài)規(guī)劃方法均無法有效解決連續(xù)投資下的資金規(guī)劃問題。本文嘗試對該類問題進行研究。首先按照項目之間時間關系的復雜程度和目標函數(shù)的復雜程度進行分類討論。接著給出了該類規(guī)劃問題約束方程的通用形式,指出其求解方法,并探討了實際操作中的決策流程,最后給出了一個算例并與其他方法進行了比較。
如圖2,各個項目在投資時間上沒有重疊或交叉,對于目標函數(shù),僅要求它對各個項目的投資資金量都是增函數(shù)①。在這種時間關系簡單的情形下,最終決策就是將全部資金依次投資于各個項目。
圖2 項目間時間關系為簡單的串聯(lián)關系
再考慮另外一種情形(如圖3),這種情況下可將項目1到項目N合并作為一個整體,記為C’,則項目C’內(nèi)部的投資方案即為依次投資的過程。由于項目C’與項目A、項目B沒有資金流動,所以決策過程就是將初始資金分成三部分,分別投資于項目A、項目B和項目C’,因此三部分的資金分配問題就轉化為傳統(tǒng)的單一時點上的資金分配問題。
圖3 簡單時間關系的另一種情況
這種“簡單時間關系”的界定方法為:在給定的項目集合中,每個項目的資金來源不超過一個,或者每個項目的回收資金只有一種用途。
圖4 中給出了另一種情形,其中項目4 的資金既可以來源于項目1,又可以來源于項目2,顯然簡單時間關系時的方法已不再適用,稱之為“復雜時間關系”。
圖4 復雜時間關系的示例
現(xiàn)在以收益率最大化為目標函數(shù)和一般目標函數(shù)兩種情況分別進行討論。在預期收益率最大化目標下②,該資金規(guī)劃問題可以轉化為一個純線性規(guī)劃問題,因此任何項目選擇都是非此即彼的,即對于任何一個項目,要么選擇完全不投資,要么將全部可用資金都投資于這個項目。
本例中,按照時間先后將決策過程分成四個階段(如圖5),每個項目的開始時刻就是每個決策階段的開始,(分別對應圖4中的t1、t2、t3和t4)。在i(i=1,2,3,4)階段決定項目i 的投資額度(在收益率的目標下,投資額度實際上只在0 和全部現(xiàn)有資金M 兩種選擇,M 表示該項目流入資金)。
圖5 收益率目標下的窮舉樹
顯然,通過對所有的可能決策進行窮舉,在最后階段選擇M最大的,其對應的路徑就是各個階段的決策方案,也就是對應了每個項目的投資額度。稱圖5 這種形式為“窮舉樹”。其中每條有向線條都對應著一個決策(標記“Y”的表示進行了投資,“N”表示不進行投資),每個階段的狀態(tài)(即圖中M的值)由先前的所有決策共同決定。
上述的窮舉樹可以很容易地簡化為圖6,稱之為“決策圖”。更進一步地,圖6中虛線表示的邊也可以忽略掉,因為在預期收益率為正的假設下,任意一條虛線對應的決策一定不是最優(yōu)決策。
圖6 收益率目標下的決策圖
如果對決策圖中的每條邊賦以權值,如起點S 是虛擬節(jié)點,并沒有實際的投資,因此以S為起點的邊權值均為1。以項目i 為起點的邊的權值記為1+ri,表示如果對項目i 投資資金1,可以獲得的預期收益為(1+ri)。連續(xù)經(jīng)過兩條分別以項目i 和項目j 為起點的邊,表示先投資于項目i 然后將獲得的全部回收資金再投資于項目j,因此最后獲得的收益可表示為(1+ri)(1+rj)??梢钥闯觯F舉樹(圖5)中的任何一種決策方案,都能在決策圖中找到對應的路徑。
通過將窮舉樹簡化為決策圖,可以通過圖論中求解最短路徑的Dijkstra 算法[8]來解決此類以收益率為目標的資金規(guī)劃問題,在此不再贅述。
接下來探討最一般的情形,即目標函數(shù)為一般形式且時間關系復雜時的情形。
在一般目標函數(shù)下,對每一個項目的最優(yōu)投資策略并非只有完全不投資和將所有資金全部投資兩種情況,因此如果仍然使用窮舉樹方法就需要對投資額度作離散化處理,這將會使結果喪失一定的精確度,而且離散化之后的問題也將會是一個NP 問題[9],于是在項目數(shù)目較多時,將無法在有限時間內(nèi)求解。
再考慮使用Dijkstra 算法的可行性。在Dijkstra 算法中,需要對每一個點進行T標號[8],表示到達這一頂點時目標函數(shù)最優(yōu)值的下限,再通過比較不同路徑到達每一個點的T標號值,逐步舍棄掉非最優(yōu)的路徑,從而使得算法大大簡化。要在此過程中及時舍棄非最優(yōu)的路徑,必須能對不同的路徑進行提前比較,而這恰恰只有在收益率為目標或其他線性目標函數(shù)下才能做到,一般的目標函數(shù)下則很難做到。
綜上可知,當目標函數(shù)為復雜形式時,需要另辟蹊徑來進行優(yōu)化求解。不妨使用預期收益率、預期波動率、初始投資日和資金回收日這四個變量來描述一個投資項目,則投資項目i 表示為[ERi,αi,t1i,t2i],N個投資項目的集合可表示為A={[ERi,σi,t1i,t2i]i=1,2,…,N}。需要指出的是,這只是一個一般表達式,實際投資分析中可對其中的特征變量進行增刪,如可以根據(jù)實際需要在投資項目描述中去掉預期收益率、預期波動率因素,也可以加入其他因素或變量。
在投資項目集給定的情況下,總效用函數(shù)是由每個投資項目的投入資金量決定的。用ω=(ω1,ω2,…,ωN)′表示每個項目的投入資金量,總效用函數(shù)表示為g(ω,A)。
另外,考慮任何時刻都可以有外部資金的流入流出,初始資金為1 及過程中沒有流入流出。則未來的外部現(xiàn)金流入可表示為:
從而資金規(guī)劃的問題就是在給定投資項目集合A和外部資金流入的條件下,以總效用函數(shù)g(ω,A)最大化為目標,求解各個項目投入資金的最優(yōu)比例即歸結為如下的最優(yōu)化問題:
滿足:
其中,ω、A、g(ω,A)的含義如前所述。第二個約束的本質是任何時刻將要花出去的資金不能超過實際持有的資金。具體而言,其左邊表示項目i 的投資資金量,右邊第一項表示已流入的外部資金的總和,第二項表示已經(jīng)回收的資金量總和,此兩項之和為總的資金流入量;右邊第三項表示所有已投資項目使用的資金量總和,即總的資金流出。因此右邊整體表示在對項目i進行投資前持有的資金總量。
上述規(guī)劃的求解可采用序列二次規(guī)劃算法(Sequential Quadratic Programming,SQP)[10-11]。SQP 方法是解決不等式約束下的非線性規(guī)劃問題最有效的一類數(shù)值方法,該方法通過解二次規(guī)劃問題來獲得原始非線性規(guī)劃問題的解的最速下降路徑,并通過此路徑來搜索非線性問題的最優(yōu)解。在后文試驗中采用的幾種目標函數(shù)下,SQP方法都較快地獲得了滿足條件的解。與SQP方法相比,傳統(tǒng)的“內(nèi)點法”獲取解的耗時更長,并且當最優(yōu)解在約束邊界附近時,其表現(xiàn)也不如SQP方法。
由于不同項目間的相互影響是它們在投資時間上的相互重疊造成的,因此若兩個項目的初始投資日和資金回收日均相同,則它們對于其他項目的影響是一致的,而這些項目有時會導致解的不確定。例如以收益率為目標時,如果兩個投資項目的初始投資日和資金回收日均相同,并且它們的預期收益率也相同,則這兩個項目的投資額的總和才對目標函數(shù)有影響,而它們各自的權重則有一定的任意性,這必將導致解的不確定。因此對于這樣的項目,需要先通過一定方法確定這些投資機會在內(nèi)部的最優(yōu)投資比例,以這個內(nèi)部最優(yōu)投資比例將這些投資機會組合成一個整體,再與其他投資機會放在一起考慮連續(xù)性投資的規(guī)劃。合并的方法可以根據(jù)投資者個人的喜好或者根據(jù)目標函數(shù)決定。
例如,假設初始觀察到的項目集合為:
不妨假設待合并的項目正好排在前k個,即
且t21=t22=…=t2k=t2
不妨使用組合夏普比率最大化作為目標函數(shù)來求這k個項目的最優(yōu)相對權重,即:
滿足:
其中:
如果A1中還有其他的可以合并的投資機會,則重復上面的步驟,直到得到的集合中任意兩個投資機會均不能進行合并。
經(jīng)過上述合并處理之后的項目集合,還需要對其作進一步的預處理。預處理的目的是將一個大的項目集合劃分成幾個小的“獨立項目集合”,然后在每個小的集合內(nèi)部依次使用上面的方法進行規(guī)劃。這樣將大大減少規(guī)劃的總計算量。
先給出幾個定義。經(jīng)過上述合并之后的項目集合為:
其 中, ai表 示 第i個 項 目, 則 對 任 意 i ≠j有t1i≠t1j或t2i≠t2j。
定 義 一: 對 于 兩個 項 目ai,aj(i ≠j) , 如 果 滿 足[t1i,t2i]?[t1j,t2j]=φ,則稱項目ai,aj相互獨立。
定義二:對于兩個項目集合A1,A2,如果A1中的任一個項目都與A2中的所有項目獨立,則稱項目集合A1與項目集合A2相互獨立,記為A1⊥A2。
定義三:對于項目集合A,如果存在一組項目集合A1,A2,…,Ak(k ≥2),滿足:
則稱A1,A2,...,Ak是A的一個劃分。
更進一步的,如果A1,A2,…,Ak都不能繼續(xù)劃分,則稱A1,A2,…,Ak是A 的最大劃分。最大劃分情況下,Ai中的任意一個項目必有另一個同屬于Ai的項目與它不獨立。容易證明最大劃分是唯一的(實際使用中可能需要對項目獨立性的定義添加更多的約束,如項目收益率不相關等)。
下面以一個隨機產(chǎn)生的項目集合為例來演示最大劃分的求解,項目的總個數(shù)為50。按t1排序之后的項目集合如圖7所示。
圖7 隨機項目集的最大化分
如果將每個項目認為是一個頂點,不獨立的頂點之間是連通的③(即對任意兩個頂點i、j,存在[t1i,t2i]?[t1j,t2j]≠φ),則求最大劃分的問題等價于求解圖的連通問題??梢允褂媒?jīng)典的圖的深度優(yōu)先遍歷算法[12]來求解,從而得到上面產(chǎn)生的隨機項目集的最大劃分為:
使用上述方法可以得到任意一個項目集合的最大化分④。
實際投資中,投資項目(或投資機會)并不是一下子全部出現(xiàn)的,即某些投資項目會隨著時間的推移逐漸被觀察到。因此,實際規(guī)劃中總是按照當前能夠觀察到的最新項目集合進行規(guī)劃,如果最新的項目集合與上次規(guī)劃時完全相同,且無額外的資金流入流出,則當前項目按之前的規(guī)劃結果進行投資,否則則需要重新進行規(guī)劃求解。即實際的決策流程可以圖8來表示。
圖8 實際投資過程中的決策流程
考慮三種不同效用函數(shù)下的連續(xù)投資的資金配置,并與非連續(xù)投資的資金配置方案以及簡單的“用完所有錢”的資金配置方案作比較。項目集合使用圖9 所示例中的一個不可再分的子集{6,7,8,9,10,11,12,13,14,15,16,17,18,19}。
滿足:
其中:
此處無風險收益率rf取5%。
滿足:
分別取三種效用函數(shù):
1.預期收益率最大化目標下,取
2.資金利用率最大目標下,取
3.夏普比率最大化目標下,取
rf同樣取5%。
指不考慮各投資項目的差異,當出現(xiàn)投資項目就將當時持有的資金全部投入。
計算結果如表1 所示,可以看出,非連續(xù)投資方案的收益率由于對資金的利用不夠充分,其收益率明顯較低;連續(xù)投資下,目標明確的配置方案也優(yōu)于簡單的“用完所有錢”策略。顯然,本文提出的資金規(guī)劃在三種不同目標函數(shù)下均有效實現(xiàn)了優(yōu)化目標。
表1 不同目標下的資金規(guī)劃結果
本文系統(tǒng)地研究了連續(xù)投資下的資金規(guī)劃問題,給出了這類問題資金約束方程的通用形式及實際應用中的具體規(guī)劃流程,該方法可以有效解決不同目標函數(shù)下的連續(xù)資金規(guī)劃問題。鑒于該方法適用不同類型目標函數(shù),可操作性強,可在實際投資中直接使用。
注 釋:
①在此假設下,不管目標函數(shù)的具體形式如何,任何一個項目i的投資金額越大,其后續(xù)所有項目的總預期可用資金都會增大(不妨假設每個項目的預期收益率都為正),從而最終的目標函數(shù)取值也會增大。
②此時必須保證每個項目的預期收益率均為正,如此才能保證目標函數(shù)對于每個項目的投資額度是增函數(shù)。
③這里關于頂點的連通的定義與之前不同,之前是以資金是否可以流動作為連通與否的標準,而這里則是認為時間上重疊的項目是連通的。
④僅對上例而言尚存在一個更簡單的方法來確定最大化分,即依次比較排序之后的每個項目是否與其后一個項目在時間上有重疊,如果沒有重疊則構成一個新的劃分點,但是該方法需要依賴于如下兩個前提,一是各投資項目是按照項目開始時間的先后排序進行編號的,最早開始的項目編號為1,后續(xù)項目編號依次加1;二是項目的獨立性的定義只考慮時間的因素。
[1]Markowitz Harry. Portfolio Selection[J]. Journal of Finance,1952(7):77-91.
[2]Markowitz Harry. Portfolio Selection:Efficient Diversification of Investment[M].New York:John Wiley&Sons,1959.
[3]Mossin J. Optimal multi-period portfolio policies[J]. Journal of Business,1968,41(2):215-229.
[4]Li D,Ng W L.Optimal dynamic portfolio selection:Multi-period mean-variance formulation[J]. Mathematical Finance,2000,10(3):387-406.
[5]Zhou X Y,Li D. Continuous time mean-variance portfolio selection:A stochastic LQ framework[J]. Applied Mathematics and Optimization,2000,42(1):19-33.
[6]Bellman Richard. The theory of dynamic programming[J].Bulletin of the American Mathematical Society,1954,60(11):503-516.
[7]Stuart E,Dreyfus,Averill M Law.The art and theory of dynamic programming[M].Utah:Academic Press,1977.
[8]DijkstraE W E W. A note on two problems in connexion with graphs[J].Numerische Mathematik,1959(1):269-271.
[9]Garey M R,Johnson D S. Computers and Intractability:a guide to the theory of NP-completeness[M]. New York:W.H.Freeman and Company,1979.
[10]Boggs P T,Tolle J W. Sequential quadratic programming[J].Acta Numerica,1995(4):1-51.
[11]Philip Gill E,Elizabeth Wong. Sequential Quadratic Programming Methods[R]. California:UCSD Department of Mathematics,Technical Report NA-10-03,2010.
[12]Thomas H Cormen,Charles E Leiserson,Ronald L Rivest,et al. Introduction to Algorithms[M]. Massachusetts:The MIT Press,2009.