陳婷婷,殷 賀,江紅莉,王 露
1(江蘇大學 理學院,鎮(zhèn)江 212013)
2(江蘇大學 財經學院,鎮(zhèn)江 212013)
如何在充滿不確定性的復雜系統(tǒng)中優(yōu)化資本配置是投資組合的關鍵問題.Markowitz在1952年提出的均值-方差模型標志著投資組合理論的出現(xiàn).然而該模型沒有考慮到投資實踐中的一些限制,比如買空賣空限制、投資數(shù)量、最小交易單位、交易成本等,這嚴重限制了均值—方差模型在投資實踐中的實用性.考慮現(xiàn)實約束條件的投資組合模型雖然更貼近實際,但模型將是一個有大量約束條件和離散變量、結構復雜的非線性規(guī)劃問題,傳統(tǒng)的數(shù)值優(yōu)化算法失效[1,2].
由于具有收斂速度快、運算簡單和魯棒性好等優(yōu)點,粒子群算法(PSO)在求解復雜的非線性優(yōu)化問題中得到廣泛應用[3-5],但存在易陷入局部最優(yōu)點,搜索精度不高等缺點.為平衡全局搜索和局部搜索,劉冬華等(2013)提出基于捕食策略的粒子群算法,通過調節(jié)限制級別對粒子群的搜索空間進行控制[6].吳喆珺(2014)在PSO公式中的社交部分引入社交系數(shù),使粒子的搜索行為受到粒子最優(yōu)位置的影較大影響,從而提高粒子群收斂速度[7].朱沙等(2016)利用極值優(yōu)化方法增強混合算法對搜索空間的挖掘能力,引入混沌變異算子提高粒子群的探索能力[8].但目前尚未有對粒子群算法中的基礎和關鍵部分——粒子更新規(guī)則的優(yōu)化研究.天牛須搜索(BAS)算法作為2017年新提出的智能優(yōu)化算法,初步應用在微電網多目標能量管理、無線傳感器網絡覆蓋[9],目前在投資組合領域的應用還鮮被關注.本文基于我國證券市場的實際環(huán)境及其特點,建立考慮完整費用的證券投資組合模型,在粒子群算法中引入天牛須搜索的概念,設計基于天牛須搜索(BAS)的粒子群優(yōu)化算法求解模型(簡稱BSO),有效克服PSO算法的穩(wěn)定性差、傾向于局部最優(yōu)等問題.文章選取9只人工智能概念股,利用它們在2017年6月23日到2017年8月18日(9周)的周數(shù)據(jù).通過和基本PSO對比仿真發(fā)現(xiàn),收斂所需的迭代次數(shù)少、求解組合風險值低,在多維約束問題中求解全局最優(yōu)解更有效.
首先設置投資組合模型參數(shù): 總投資為T,第i種股票的每股買入價格和收益率分別為pi(i=1,2,···,n),yi(i=1,2,···,n).投資組合中各支股票的投資比例用向量X=(x1,x2,···,xn)表 示,其中n).無風險資產的投資比例(假設為國債)為x0,投資組合的方差-協(xié)方差矩陣為 σ .V表示可以反映整個投資組合總風險的總方差.Markowitz的均值-方差模型的目標函數(shù)可表示為:
考慮到我國股票交易時有一手(100股)的最小交易單位限制,現(xiàn)假設第i種股票的交易手數(shù)為ni,交易手數(shù)須為整數(shù),則有如下約束條件:ni∈I,I為非負整數(shù)(i=1,2,···,n).
考慮到我國證券市場禁止買空和賣空行為,只能將投資金額用于投資n種股票上或無風險資產.同時,交易中必然發(fā)生的交易成本(包括稅收和各種交易費用)是投資者進行證券投資的重要考慮因素.以上海證券交易所為例,交易成本包括以下費用:
(1)印花稅.按成交金額的1‰向賣方收取,由券商代扣后由交易所統(tǒng)一代繳.
(2)委托費.5元/次.
(3)證券監(jiān)管費.約按成交金額的0.23‰收取.
(4)證券交易經手費.按成交金融的0.0696‰收取.
(5)傭金.交易完成后,投資者向券商支付交易金額3‰的費用,最低5元起.
(6)過戶費.交易股票后,需支付更改證券戶名的費用,即按交易股票面值的1‰支付過戶費,因為我國面值為一股一元,也就是按股票數(shù)量收費,不足一元按一元收.
那么風險證券的所有交易成本是:
其中,
其中,C0表示無風險資產的交易成本,Ci(ni)表示投資于第i種股票且交易手數(shù)為ni時 的交易成本.k0=5表示委托費,k1(ni),k2(ni),k3(ni)分別表示第i種股票交易手數(shù)為ni時的傭金、過戶費、證券監(jiān)管費和證券交易費,μ1=0.3%為 傭金的成本系數(shù),μ2=0.1%為每股股票過戶費的成本系數(shù),μ3=0.2996為證券監(jiān)管費和證券交易經手費的成本總系數(shù).
此外,投資組合模型中無風險投資為一年國債,年利率為y=3.85%,國債交易費用為交易金額的0.1%,交易成本系數(shù)為μ0=0.1%.則國債的交易費用是:
綜合上述條件,投資組合的總交易成本如下:
假設在時刻T的預期收益率為Y0,此時第i種股票的股價和收益率為pi和yi,約束條件:
投資組合模型及其約束條件表示如下:
基于社會行為比擬的粒子群優(yōu)化算法由Eberhart博士和Kennedy博士于1995年提出[10].它起源于對鳥群捕食行為的研究.基本概念是群體中的個體共享信息,以便整個群體的運動在問題解決過程中從無序變?yōu)橛行?并最終獲得問題的最佳解決方案.PSO算法包括一些極大地影響算法性能的參數(shù),通常被稱為探索-開發(fā)權衡: 探索是在問題空間中測試各個區(qū)域以便找到最優(yōu)的能力.
PSO算法通過設計無質量粒子來模擬鳥群中的鳥類.粒子有兩個屬性: 速度v和位置x,速度代表運動速度,位置代表運動方向.算法中個體的極值Pbest是每個粒子分別在搜索空間中搜索最佳解,然后,粒子與整個粒子群中的其他粒子共享個體極值Pbest并找到最優(yōu)個體極值,將其作為整個粒子群的當前全局最優(yōu)解Gbest.粒子群中的所有粒子基于其當前的個體極值Pbest和整個粒子群共享的當前全局最優(yōu)解Gbest,調整它們自己的速度和位置變量.圖1是PSO的流程圖.
天牛須搜索(BAS)算法基于天牛的覓食原理,是在2017年提出的一種尋找的最佳解決方案的新技術[11,12].當覓食時,天牛不知道食物的具體位置,使用兩個觸角來檢測食物的氣味并決定其自身的方向.具體來說,如果甲蟲左側接收的氣味強于右側,則甲蟲向左移動,否則向右移動.基于這個簡單的原理,它可以很容易地找到食物.與PSO類似,BAS使用迭代方法逐步逼近最優(yōu)解,而不是了解具體公式.在BAS算法中,只有個體.具體步驟如下:
圖1 PSO算法流程圖
(1)假設甲蟲頭隨機向任何方向前進,因此從右天線到左天線的矢量方向也必須是隨機的.因此,對于n維空間中的優(yōu)化問題,可以生成隨機向量來表示和標準化它.
其中,k是空間維度,rands()是隨機函數(shù).
(2)左右天線之間的關系可表示為:
xlxr,可以用質心表示如下:
其中,xl代 表搜索區(qū)域的左側,xr代表右側.
(3)確定左右觸角的氣味強度,用f(xl)和f(xr)代替左右位置,f(x)是適應度函數(shù).
(4)為了制定檢測行為指南,本文進一步生成以下迭代模型,通過考慮搜索行為并迭代更新甲蟲的位置來檢測氣味.
其中,xt表示在甲蟲的第t次迭代中的質心坐標,xlt表示在第t次迭代時的左側天線坐標,表示在第t次迭代時的右側天線坐標.第t次迭代的步長是 δt,sign(x)代表符號功能.
(1)基于天牛須搜索的粒子群優(yōu)化算法(BSO)原理
BAS算法僅針對個體,不考慮群體之間的連接.PSO側重于群體對單個粒子的影響,忽略了粒子在搜索過程中自己的判斷.因此,本文將BAS和PSO模型集成在一起,提出基于天牛須搜索的粒子群優(yōu)化算法(BSO).PSO中的每個粒子都被描述為天牛并進行搜索,天牛的初始位置和速度的過程與標準PSO的過程相同.然而,在迭代過程中,更新天牛群位置的方式不再僅僅依賴于歷史最佳解決方案和天牛個體的當前全局最優(yōu)解,而是添加了天牛天線搜索的思想,在每次迭代中都有自己對環(huán)境空間的判斷.BSO中的個體將在每次迭代期間比較其左側和右側的適應度函數(shù)值,并比較兩者的更好的值,其可用于更新天牛群的位置.通過該方法構造的BSO可以很好地克服PSO算法導致的穩(wěn)定性差,傾向于局部最優(yōu)等問題.甲蟲群位置的更新公式如下:
其中,vki+1,表示第k次迭代后的第i個粒子的速度,xik+1表示第k次迭代后第i個粒子的位置,vbi表示BSO生成的更新率,c3是 學習因子,sign()是符號函數(shù).
(2)算法過程
1)初始化算法參數(shù),設置PSO的大小為N,學習因子為c1,c2,c3,慣性權重為W,以及每個甲蟲兩個天線之間的距離為d0.
2)隨機初始化位置x和速度v,計算每個位置的適應度,使用當前位置作為個體最優(yōu)解Pbest,最后通過比較得到當前的全局最優(yōu)值Gbest.
3)輸入迭代:
① 隨機化甲蟲頭部.根據(jù)甲蟲的位置計算每個甲蟲的左側距離xleft和適合度fleft,右側距離xright和適合度fright.通過比較兩者,獲得由群體中每個甲蟲的左右適合度生成的速度更新規(guī)則:
② 通過比較每個甲蟲當前位置的適應度和,得到個體最優(yōu)解Pbest和全局最優(yōu)解Gbest,通過當前的個體最優(yōu)解和全局最優(yōu)解生成速度更新規(guī)則.
③ 結合上述兩種速度更新規(guī)則,獲取每種天線速度的當前更新規(guī)則:
當前位置更新規(guī)則:
④ 更新的學習因素和慣性權重分別為c1,c2,c3,w,更新的個人最優(yōu)解決方案和全局最優(yōu)解決方案Pbest,Gbest.
⑤ 完成迭代后,可得到全局最優(yōu)解Gbest,以及與之對應的最優(yōu)解位置f(Gbest).
具體算法過程如表1所示.
表1 BSO算法過程
為了測試BSO算法是否更優(yōu)于解決投資組合問題,本文將BSO算法與標準PSO算法進行了比較,即將兩者在求解投資組合時所獲得的風險值與需要的迭代次數(shù)進行了對比.
為了測試BSO對人工智能投資組合模型的結果,本文選擇了9只人工智能概念股,并獲取股票從2017年6月23日到2017年8月18日(9周)的周回報率.計算出協(xié)方差矩陣如表2,可以用來衡量九種股票的風險.收益率和股票報價分別選擇周收益率和價格近似于9周收益率和平均價格,如表2所示.同時,無風險資產為一年期國債(收益率為3.85%),假設總共有100萬資產可用于投資,并且在投資前沒有購買任何證券.
表2 所選股票的協(xié)方差矩陣
文章以交易手數(shù)向量作為粒子群和天牛群的位置變量,股票的數(shù)目為變量空間的維度數(shù)目,因此模型的空間維度數(shù)為9.PSO和BSO算法設置的粒子數(shù)和天牛數(shù)都為40,粒子群設置的迭代的次數(shù)為8000次,天牛群設置的迭代次數(shù)為4000次.PSO算法的學習因子設置為c1=0.5,c2=2;BSO算法使用的學習因子為c1=0.5,c2=2,c3=3;兩種算法的慣性權重相同,都設置為w=0.9.兩種學習因素都是隨時間變化的,并采用懲罰法來處理約束條件.
為驗證算法的性能,將總股資T設為100萬,股價為pi、 收益率yi設置為9只人工概念股的平均價格與周 收益率(見表3).PSO和BSO參數(shù)比較見表4.將預期投資組合回報率分別設置為0.06、0.08和0.10.算法確定投資組合中各種股票的投資比例xi及投資于無風險資產的投資比例x0,如表5所示.無風險資產的收益率為3.85%,將表2確定的協(xié)方差矩陣,表5確定的投資比例向量代入目標函數(shù)(7)及約束條件(8),計算相應的風險值,結果見表5.
表3 所選股票的周收益率和價格
表4 PSO和BSO算法參數(shù)的比較
表5 所選股票投資組合的投資比例
從表5的結果可以看出,對于不同的預期收益率,BSO計算的風險值低于PSO.也就是說,BSO可以在相同的預期回報率下獲得相對更好的結果.這表明BSO算法具有更強的全局搜索能力,并且該算法更容易找到全局最優(yōu)解.另一方面,當預期收益率增加時,兩種算法獲得的風險值增加,無風險資產的投資比例顯著下降,高收益股票的風險值顯著上升.可以看出,本文構建的投資組合模型符合實際市場條件.在迭代時間上,PSO的迭代時間為60 s,BSO的迭代時間為40 s,BSO的迭代時間更短,更具優(yōu)勢.
圖2和圖3顯示了兩種算法的收斂性.從算法收斂的角度來看,PSO算法大約有3000次迭代收斂,而BSO算法大約只有1500次.可以看出,與標準PSO相比,在引入天牛須搜索概念后,BSO算法每個粒子的更新方法不再僅依賴于自身的歷史最優(yōu)解和全局最優(yōu)解,在每次迭代期間增添粒子自己的獨立判斷,這使得粒子的迭代方法更靈活,更智能,使得收斂所需的迭代次數(shù)更少,結果更好.
圖2 PSO算法收斂曲線
圖3 BSO算法收斂曲線
本文針對標準粒子群容易陷入局部最優(yōu)和搜索精度不高的缺點,在粒子群算法中引入了天牛須搜索概念,提出基于甲殼蟲觸角搜索(BAS)的粒子群優(yōu)化算法,即BSO算法,并將其應用在考慮現(xiàn)實約束條件、包含完整費用的投資組合模型求解中.在迭代過程中,每個粒子的更新規(guī)則源自BAS,更新粒子群位置的方式不再僅僅依賴于歷史最佳解決方案和粒子個體的當前全局最優(yōu)解,而是增添粒子在每次迭代中對環(huán)境空間的自身判斷.經實證分析,對于不同的預期收益率,BSO計算的風險值低于PSO,算法收斂所需的迭代次數(shù)遠少于PSO.并且,從迭代時間來看,BSO所需時間僅為PSO 的2/3.BSO顯示出比標準PSO更強的全局搜索能力,在求解多維約束問題時尋找全局最優(yōu)解穩(wěn)定性和有效性更佳.