舒時克 李 路
(上海工程技術(shù)大學(xué)數(shù)理與統(tǒng)計學(xué)院 上海 201600)
隨著信息技術(shù)的發(fā)展,數(shù)據(jù)的規(guī)模越來越大,因此,從眾多的特征中選取出有效的特征就成為了一個難點。文獻[1]發(fā)現(xiàn)在線性回歸中加入L1懲罰項的Lasso模型能夠有效地篩選因子,建立更好的投資組合模型。Zou等[2]在線性回歸中同時加入L1和L2懲罰項,構(gòu)建了彈性網(wǎng)模型(Elastic Net),并將其運用到高維數(shù)據(jù)上,發(fā)現(xiàn)Elastic Net模型不僅能夠克服高維數(shù)據(jù)多重共線的問題,也能夠克服Lasso模型將特征壓縮得過度稀疏的問題。謝合亮等[3]在對比了最小二乘(OLS)、Lasso和Elastic Net之后,發(fā)現(xiàn)Elastic Net模型能夠比OLS模型和Lasso模型更有效地篩選因子,同時也能克服Lasso模型將系數(shù)矩陣過度壓縮的缺點,并能構(gòu)建出更加有效的投資組合。
雖然Elastic Net模型在處理特征時考慮了特征之間的相關(guān)性,并篩選出有效的特征,但是卻忽略了特征之間相互作用。某個特征的可能與因變量沒有直接的關(guān)系,但卻可以與其他特征結(jié)合,對因變量產(chǎn)生顯著的影響[4-5]。因此,考慮特征之間的相互作用是十分必要的。同時,高維數(shù)據(jù)中的特征不可避免地存在著相互關(guān)系,僅考慮特征之間的相關(guān)性篩選特征,而忽略特征之間的相互作用,往往會造成信息的丟失[6]。而利用信息論來衡量特征之間的交互作用是一種有效的方法[7]。Vinh等[8]提出一種基于互信息的文本分類特征選擇方法,同時加入了特征選擇中二階和三階的交互作用。唐小川等[9]通過聯(lián)合互信息(JMI)建立了基于信息論的文本分類特征選擇模型。除了文本分類,利用信息論來衡量特征之間的相互作用在其他數(shù)據(jù)分類上也取得了很好的效果[10-11]。
因此,為了在克服邏輯回歸彈性網(wǎng)(LR-ElasticNet)在特征選擇時無法考慮特征間的相互作用,本文提出了基于信息熵的邏輯回歸彈性網(wǎng)模型(IE-LR-ElasticNet),即在LR-ElasticNet加入信息熵的懲罰項,并利用交替方向乘子法(ADMM)進行求解。
邏輯回歸作為一種統(tǒng)計分析方法,能夠?qū)Χ诸惖膯栴}進行判別。設(shè)X=(xij)n×p∈Rn×p,xij表示第i行數(shù)據(jù)的第j個特征的值,記xi=(xi1,xi2,…,xip)T,表示第i行數(shù)據(jù)的全部特征值,則特征矩陣X=(x1,x2,…,xn)T,y為自變量,表示為(y1,y2,…,yn)T,代表xi的標(biāo)簽,yi=1或0。則后驗概率估計P(yi=1|xi)和P(yi=0|xi)可以表示為:
(1)
式中:β=(β1,β2,…,βp)T是特征系數(shù)向量。則邏輯回歸的目標(biāo)函數(shù)可以表示為:
(2)
在邏輯回歸的交叉熵?fù)p失函數(shù)上加上彈性網(wǎng)懲罰項,構(gòu)建邏輯回歸彈性網(wǎng)模型(LR-ElasticNet),該參數(shù)估計可以表示為:
(3)
式中:α為懲罰項系數(shù);0≤λ≤1。加入彈性網(wǎng)懲罰項之后,既能夠篩選變量,將無關(guān)變量壓縮到0,同時又能夠避免特征系數(shù)向量過度稀疏。
邏輯回歸是一種分類方法,其標(biāo)簽為yi∈{0,1}的離散值。本文使用互信息的方法來計算每兩個特征之間的相互關(guān)系,而特征之間不可避免地同時存在離散值和連續(xù)值。由于連續(xù)值和離散值之間無法計算互信息,因此首先使用卡方分箱的方法來對連續(xù)的特征全部離散化處理[12]。
分箱的步驟如下:
1) 設(shè)定初始組數(shù)m1和目標(biāo)組數(shù)m2,將連續(xù)型特征分成m1組。
2) 確保每一組中均含有標(biāo)簽y的兩種特征,計算IV值。
(4)
式中:pyi為第i組中yi=1的樣本的比例,pni為第i組中yi=0的樣本的比例。
3) 將相鄰的組進行卡方檢驗,每次篩選出卡方檢驗的P值最大的兩組進行合并,直到該列特征中的組數(shù)小于設(shè)定的m2為止。
4) 分箱標(biāo)準(zhǔn)選用IV值來判斷, IV值代表變量所蘊含的信息量, 其值越大代表其蘊含終點目標(biāo)信息越多。通過觀察每個分箱個數(shù)下IV值的變化情況,選取能獲得較大的IV值分箱個數(shù)來作為該特征最合適的分箱個數(shù)。
Shannon在1948年首次提出了互信息的概念,以此來衡量一個特征中包含另一個特征的信息,即每兩個特征之間的相互依存關(guān)系[13],可以表示為:
(5)
式中:p(x1,x2)是X1和X2的聯(lián)合概率密度函數(shù);p(x1)和p(x2)分別是X1和X2的邊際密度函數(shù)。
當(dāng)I(X1,X2)=0時,表明X1和X2之間沒有相互作用;當(dāng)I(X1,X2)>0時,表明X1和X2之間存在相互作用,且I(X1,X2)越大,表明X1和X2之間的相互作用很強。
本文以數(shù)據(jù)集中的每一個特征都各自作為一個頂點vi,頂點與頂點之間的連線作為超邊ei,每一個超邊分別對應(yīng)一個權(quán)重wi,則定義頂點集合為V={v1,v2,…,vp},超邊集合為E={e1,e2,…,em},權(quán)重集合為W={w1,w2,…,wm},由此構(gòu)建一個超圖H(V,E,W)。同時,通過計算每兩個特征互信息的值,將其作為超圖的權(quán)重,并假設(shè)每兩個特征之間均存在著一條超邊。
鄰接矩陣S∈Rp×p是代表超圖頂點與頂點之間的相鄰關(guān)系的對稱矩陣,sii=0即鄰接矩陣對角線上的元素全為0,sij代表頂點vi和vj之間的權(quán)重,同時定義信息特征子集為P(β):
max{βTSβ}=min{-βTSβ}
(6)
為了在進行特征篩選的同時考慮特征之間的相互作用,加入信息熵的懲罰項,邏輯回歸的目標(biāo)函數(shù)可以表示為:
(7)
式中:f(β)對β的一階導(dǎo)數(shù)、二階導(dǎo)數(shù)為:
(8)
并且對f(β)在β0處泰勒展開:
(9)
則F(β)可以表示為:
(10)
ADMM算法[14]結(jié)合了拉格朗日方法和對偶分解法的優(yōu)點,通過增廣拉格朗日函數(shù)構(gòu)造把原本復(fù)雜的高維問題分解成兩個或者多個低維的更容易得到的全局解的交替極小化問題進行迭代求解。
則基于信息熵的邏輯回歸彈性網(wǎng)目標(biāo)函數(shù)可以表示為:
(11)
subject toβ-θ=0
式(11)的增廣拉格朗日方程為:
(12)
式中:ρ>0為懲罰項系數(shù);μ是對偶變量,通過引入θ和β-θ=0的約束條件,簡化了原問題的求解。變量迭代的規(guī)則如下:
(13)
(14)
對β求偏導(dǎo)并令其等于0,可以得到:
(15)
化簡可得:
βk+1=(XTWX-2λ1S+λ2(1-α)+
ρI)-1(XTWX+ρθk-μk)
(16)
(17)
對θ求偏導(dǎo)并令其等于0,可以得到:
(18)
化簡可得:
(19)
3) 更新μ。在第k+1次的更新中,當(dāng)βk+1和θk+1固定,可以計算μk+1:
μk+1=μk+ρ(βk+1-θk+1)
(20)
具體算法如下:
1) 隨機初始化βold,假設(shè)最終優(yōu)化目標(biāo)為F(β);
2) 在βold處利用式(8)泰勒展開,得到fold(β);
3) 利用式(15)、式(18)和式(19)迭代求得fold(β)的最優(yōu)結(jié)果βnew;
4) 在βnew處利用式(8)繼續(xù)泰勒展開,得到fnew(β);
5) 令βold=βnew,重復(fù)步驟3和步驟4直至收斂,最終得到解β。
為了驗證本文提出的IE-LR-ElasticNet方法的優(yōu)劣,本文將IE-LR-ElasticNet與LR-ElasticNet進行了總共3組的模擬實驗,并采用正確率(Accuracy)、精確度(Precision)、召回率(Recall)、 RMSE[15](Root mean squared error)來作為評價指標(biāo)。
模擬實驗1。隨機生成小樣本數(shù)據(jù)n=1 000,p=20的二分類數(shù)據(jù)集,并且設(shè)定p個特征之間相關(guān)性系數(shù)r最大不能超過0.2。結(jié)果如表1所示。
表1 模擬1分類結(jié)果
由表1可知,在特征之間相關(guān)性系數(shù)較低的數(shù)據(jù)中,LR-ElasticNet和IE-LR-ElasticNet模型并沒有顯著的差異。
模擬實驗2。隨機生成小樣本數(shù)據(jù)n=1 000,p=20的二分類數(shù)據(jù)集,并且設(shè)定p個特征之間相關(guān)性系數(shù)r最大不能超過0.5。結(jié)果如表2所示。
表2 模擬2分類結(jié)果
由表2可知,在特征之間相關(guān)性系數(shù)的中等的數(shù)據(jù)中,IE-LR-ElasticNet模型總體正確率及系數(shù)估計誤差(RMSE)略高于LR-ElasticNet模型,分類效果較好。
模擬實驗3。隨機生成小樣本數(shù)據(jù)n=1 000,p=20的二分類數(shù)據(jù)集,并且設(shè)定p個特征之間相關(guān)性系數(shù)r最大不能超過0.8。結(jié)果如表3所示。
表3 模擬3分類結(jié)果
由表3可知,在特征之間相關(guān)性系數(shù)的較大的數(shù)據(jù)中,IE-LR-ElasticNet模型明顯優(yōu)于傳統(tǒng)的LR-ElasticNet模型,分類總體正確率提高了3.8百分點,且在加入信息熵的懲罰項之后,通過P(β)懲罰項對原有的LR-ElasticNet模型估計系數(shù)的修正,使得IE-LR-ElasticNet模型的系數(shù)估計誤差(RMSE)遠(yuǎn)小于LR-ElasticNet模型,從而達到更好的分類效果。
綜上所述,通過模擬分析發(fā)現(xiàn),發(fā)現(xiàn)IE-LR-ElasticNet模型較之前的LR-ElasticNet模型,在特征相關(guān)性系數(shù)較小的數(shù)據(jù)集表現(xiàn)無明顯差異,而在特征相關(guān)性系數(shù)較大的數(shù)據(jù)集上有更好的表現(xiàn)。
優(yōu)礦(http://uqer.io/)是研究量化投資的一個重要平臺,在該平臺上其因子數(shù)量超過400個,而不同的因子之間往往又互相存在著復(fù)雜的關(guān)系。因此,本文根據(jù)上述的IE-LR-ElasticNet模型,針對滬深300指數(shù)成分股數(shù)據(jù),建立IE-LR-ElasticNet策略,過程如下:
(1) 數(shù)據(jù)處理。
① 滬深300指數(shù)成分股數(shù)據(jù)起始時間為t0,終止時間為t3,并取中間時間t1和t2,滿足t0 ② 選取股票因子,并確定股票因子矩陣X,并計算股票月收益率,若收益率大于0,則標(biāo)簽yi為1;若收益率小于0,則標(biāo)簽yi為0。 ③ 利用式(4)將連續(xù)數(shù)據(jù)離散化,通過式(5)計算每兩個特征之間的互信息值,并利用式(6)得到鄰接矩陣S。 ④ 對因子矩陣X進行歸一化處理,得到X′。 (21) 根據(jù)上述的歸一化得到的因子矩陣X′及股票標(biāo)簽y,通過式(7)建立IE-LR-ElasticNet模型。 (2) IE-LR-ElasticNet模型。 ① 利用上述ADMM方法求解IE-LR-ElasticNet模型的方法得到因子估計系數(shù)β。 ② 每月月末利用式(1)計算每只股票的后驗概率估計P(yi=1|xi)和P(yi=0|xi),股票的得分用si表示,即si=P(yi=1|xi)。 (3) 回測分析。 ① 將si從大到小進行排序,取前10只股票,將這10只股票的得分記作S1,S2,…,S10,計算買入股票的權(quán)重qi。 (22) ② 計算每月月末更新買入股票的數(shù)量Q。 (23) 式中:C為資金數(shù);pi為月末股票i的價格。 本文以滬深300指數(shù)成分股數(shù)據(jù)進行實證分析,取t0為2010年1月1日,t3為2019年5月31日,t1和t2分別為2014年1月1日和2015年12月31日,則T1為2010年1月1日至2013年12月31日,T2為2014年1月1日至2015年12月31日,T3為2016年1月1日至2019年9月30日。 利用量化平臺優(yōu)礦網(wǎng)站,在考慮了成長因子、營運因子、交易因子、波動因子、盈利因子、估值因子、均線因子和趨勢因子等因素后,共選取了50個因子[16-19],部分因子如表4所示。 表4 策略因子表 續(xù)表4 首先通過計算IV值,確定每個特征分箱的數(shù)量,圖1以凈利潤增長率為例展示了不同分箱數(shù)的IV值變化情況,圖2展示了各個特征的最佳分箱結(jié)果及IV值。由圖1可以得出,凈利潤增長率劃分為16類是較為合適的。 圖1 凈利潤增長率分箱IV值 圖2 各特征分箱個數(shù)及最佳IV值 利用分箱結(jié)果,計算每兩個特征之間的互信息值,得到鄰接矩陣S∈R50×50的對稱矩陣。 (24) 按照上述時間區(qū)間確定股票因子矩陣X和股票的月收益率y。同時去掉含有缺失值的股票,并將因子矩陣經(jīng)過歸一化處理。對上述處理完成的數(shù)據(jù),利用ADMM算法求得因子估計系數(shù)β。因子估計系數(shù)β結(jié)果如圖3所示,可見共21個因子系數(shù)處于0的水平線上,即共21個因子被壓縮為0。 圖3 因子系數(shù)結(jié)果 由于高頻率的交易會帶來過高的手續(xù)費,所以本實驗采取月末策略進行調(diào)倉操作。此外,本文實驗在優(yōu)礦量化平臺上進行,實驗所設(shè)的初始資金為1億元,采用買入0.1%的稅費,賣出0.2%的稅費,印花稅為0.1%,滑點為0。IE-LR-ElasticNet策略部分調(diào)倉記錄如表5所示。 表5 IE-LR-ElasticNet策略調(diào)倉記錄表 續(xù)表5 從IE-LR-ElasticNet策略的回測結(jié)果如表6、圖4所示。IE-LR-ElasticNet多因子模型策略的年化收益率為26.04%,而同期以滬深300指數(shù)的收益率為基準(zhǔn)的年化收益率為0.61%,IE-LR-ElasticNet模型總共獲得了24.51%的超額收益。 表6 IE-LR-ElasticNet策略回測結(jié)果 圖4 IE-LR-ElasticNet策略回測結(jié)果 為了對比IE-LR-ElasticNet模型和LR-ElasticNet模型的優(yōu)劣,將IE-LR-ElasticNet策略中的IE-LR-ElasticNet模型更改為LR-ElasticNet模型,建立LR-ElasticNet策略,并在與IE-LR-ElasticNet策略相同的條件下進行回測,結(jié)果如表7、圖5所示。 表7 IE-LR-ElasticNet與LR-ElasticNet回測結(jié)果 圖5 IE-LR-ElasticNet與LR-ElasticNet回測結(jié)果圖 結(jié)果表明,同期以滬深300指數(shù)的收益率為基準(zhǔn)的年化收益率為0.61%,而IE-LR-ElasticNet策略和LR-ElasticNet策略均顯著高于該水平,超額收益阿爾法值均在15%在以上。IE-LR-ElasticNet策略在不僅在年化收益率上高于LR-ElasticNet策略,而且在夏普比率、最大回撤等主要評價指標(biāo)上均優(yōu)于LR-ElasticNet策略,說明在LR-ElasticNet模型加入了信息熵的懲罰項之后,模型的預(yù)測能力有明顯的提升。 針對高維數(shù)據(jù)中的特征不可避免地存在相互關(guān)系的特點,本文提出了IE-LR-ElasticNet模型,即在原有的LR-ElasticNet模型中考慮特征之間的相互作用,構(gòu)建了特征之間相互作用的超圖,并將超圖的鄰接矩陣作為懲罰項加入到LR-ElasticNet模型中,既考慮了特征之間的相互作用,又能夠進行變量的篩選。由于IE-LR-ElasticNet模型的目標(biāo)函數(shù)求解比較復(fù)雜,本文利用ADMM算法對IE-LR-ElasticNet模型進行求解。通過模擬實驗,發(fā)現(xiàn)IE-LR-ElasticNet模型相對于LR-ElasticNet模型在分類效果上有更優(yōu)的表現(xiàn)。最后,將本文提出的IE-LR-ElasticNet模型應(yīng)用到量化投資中的多因子選股中,構(gòu)建IE-LR-ElasticNet多因子選股策略,并與LR-ElasticNet策略進行比較,發(fā)現(xiàn)IE-LR-ElasticNet策略在各項評價指標(biāo)均優(yōu)于LR-ElasticNet策略。4.2 IE-LR-ElasticNet策略結(jié)果
4.3 IE-LR-ElasticNet與LR-ElasticNet策略比較
5 結(jié) 語