基於logistic回歸模型的風格輪動預測

0. 序

這篇文章基於兩個信仰:

a. 作為一個(其實是半個)學金融的人,相信股市反映了實體經濟

b. 作為一個量化交易者(劃掉最後三個字,我並不交易),相信可以根據歷史數據預測未來

(請不要告訴我這兩個信仰很扯淡好嘛?我不聽我不聽~~

(既然是信仰,有時真的毫無道理可言

這篇文章沒有複雜的模型,也並沒有研究什麼高深的問題, 大概只能靠圖片和括弧中的第二人格(其實這才是本性)吸引大家了。下圖源自網路,侵刪。

1. 風格輪動

言歸正傳,就從有效市場小王子Fama的三因素模型說起 。FamanFrench 的三因素模型是資產定價領域的經典,在傳統的CAPM模型中加入市值因子(SMB)和賬面市值比因子(HML),用於解釋股票的超額收益。市凈率PB的倒數就是這裡的賬面市值比,因此利用市值和市凈率可以對股票的收益率進行預測。

根據Fama French的結論,投資小市值低PB的股票可以獲得顯著的超額收益,但股市不會一直這麼按套路走,時不時就來個二八轉換,大盤股就上位了,令廣大投資者措手不及。大盤股VS小盤股,高PB股VS 低PB股,隨著市場條件的改變,不同風格股票的相對強弱也並不相同,這就是風格輪動。例如2014年12月,銀行券商等大藍籌股異軍突起,一時間眾多小盤股難以望其項背。磚家們都說股市反映實體經濟,那麼問題來了,股市這麼任性,實體經濟真的知道嗎?(你猜

2. 變數選取

首先對市場進行劃分,流通市值前20%的股票為大盤股,後20%為小盤股,市凈率前20%為成長股,後20%為價值股,由此得到:高市值&低PB(group0),高市值&高PB(group1),低市值&低PB(group2),低市值&高PB(group3)四組股票。所以我們的目標是——預言下個月收益最高的組。(哦,原來是個算命的

實體經濟的指標那麼多,哪些能夠對股市,尤其是股市風格的轉換產生影響呢?首先想到的就是資金的流動性。CPI 和M1/M2(貨幣供應量的比值) 兩項指標能反映當前的貨幣政策,而利率反映了資金的機會成本,尤其是隔夜拆借利率反映了短期的流動性(遙想下2013年的「錢荒」)。 另外還加入了PPI(工業品價格指數),它可以看作是CPI的先導,是一個更加敏感的反映通脹的指標。

提到股市,不得不提另一個幾乎全民參與建倉的市場——房地產。與股市的起起落落不同,十年來中國的房價一路漲漲漲,諾獎獲得者Robert Shiller 早就提出中國的房價遠遠被高估,但他萬萬沒想到房價這個泡沫始終沒有破裂。Shiller寫了一本暢銷書《非理性繁榮》,提到了投資者的種種非理性行為,Shiller由於在行為金融學方面的貢獻獲得2013年諾貝爾經濟學獎。房地產和股市都是投資(機)者聚集的地方,兩個市場相互影響, 房價的變化能反映投資者的情緒以及風險偏好。(下圖為同獲2013年諾貝爾經濟學獎的Fama和Shiller)

股市中大部分投資者都相信可以通過研究歷史而預測未來,因此他們利用技術分析或者經驗判斷等方法進行選股和擇時。在這一部分,選取了動量、波動率、以及各組股票上月收益這些常用變數,預測各組下一個月的收益情況。

做個小結就是我會用以下變數(幫助我算命:

1). 短期利率(Interest): 隔夜拆借利率的均值

2). CPI(月度環比)

3). 貨幣供應量:M1/M2

4). 房價(house_prc):70個大中城市新建住宅價格指數(月度環比)

5). PPI(月度環比)

6). 動量(momentum):上證指數近六個月平均收益率

7). 波動率(volatility):上證指數上月歷史波動率

8). 上月PB組合收益率差(ret_style):低PB組合收益率-高PB組合收益率

9). 上月大盤股和小盤股收益率差(ret_cap):上月中證500收益率-上證50收益率

由於宏觀變數的發布滯後,這裡取宏觀變數滯後兩期的值,即預測2016年6月的收益時,用的是2016年4月的宏觀經濟數據。

3. 變數檢驗

選取變數後,我們來check一下自變數的相關性(我真的不是故意用綠色的)。相關性均在[-0.5,0.5]範圍內。

接著檢驗這些自變數(x)和我們的目標——下個月收益最大的組(y)是否有聯繫,如果某一變數在不同分組下分布相同,則這個變數一定是無效的。首先根據y的值將所有觀測分成四組,對於每一個自變數x,分別檢驗這四組數據兩兩之間分布是否有顯著差異。這裡用了一個非參數檢驗方法:雙樣本Kolmogorov–Smirnov 檢驗。為什麼放棄常用的t檢驗呢?因為數據太少我真的無法保證它們正態分布。

原假設H0:兩組數據服從同一分布

KS值為:

其中F_{1,n1} F_{2,n2} 分別為兩組數的經驗分布,sup(f(x))表示f(x)取最大值時x的取值。alpha 顯著性水平下的臨界值:

當KS值>臨界值時,拒絕原假設,否則不能拒絕原假設。下圖為KS檢驗各組的P值(這次就用紅色吧)。所有變數都在某一或者某幾組對比中有效(此處取10%)。

4. logistic 回歸模型

普通的線性回歸模型並不擅長分類問題,預測結果可能在[0,1]之外,並且對於離群值(Outlier)十分敏感。而logistic 模型在線性模型的基礎上加入sigmoid函數(如下圖),確保結果在[0,1]之間,並且函數在0.5左右的斜率陡然升高,結果落在0.5左右的概率很小。

假設y表示分類結果,y={0,1},x為解釋變數,w是待估參數,那麼給定一個觀測,分類結果為1的概率為:

顯然,這個觀測分類結果為0的概率為:

假設有N個觀測, 用極大似然估計(MLE)估計參數,似然函數如下,可以用梯度下降法(Gradient Descent),牛頓法(Newtons Method)等數值方法求解,此處就不贅述了。

由於一共有四組股票,這裡用到的是多項logistic回歸(Multinomial Logistic Regression),模型與上面的類似,假設y分為k組{G_{1} ,G_{2} …,G_{k} },給定某一個觀測,屬於第K組的概率如下,同樣運用極大似然估計求解。

5. 結果分析

時間為2007年2月-n2016年5月,共112個月,採用滾動窗口預測,估計期為70個月,樣本外時間為42個月。

說了這麼多廢話(我並不承認),上累積收益率圖(看看算命算準沒)。敲黑板敲黑板,注意這裡的收益率為組合內股票收益率的均值,相當於等額買入組內所有股票,並且不考慮任何交易費,以及漲跌停、停牌等不能交易的情況。藍色為按預測結果買入相應組合的累積收益率。(由於大盤股的表現並不盡如人意,兩條表示大盤股收益的曲線難以用肉眼區分,圖中只有四條曲線)

上面是全樣本的結果,樣本可能內會過度擬合(overfit),那麼上樣本外累積收益率圖。可以發現,小盤低PB股的表現在四組中最優秀,這也符合大家的一般認知。根據預測結果構造的策略無論在樣本內還是樣本外都跑過了所有的單一組合(撒花~)。值得注意的是,模型成功得捕捉了2014年12月的風格轉換,買入了大盤股(我也不知道它為什麼這麼機智)。樣本外預測的勝率為57%,跑過了25%這個擲骰子的概率,收益率也跑過了無腦買入小盤&低PB股的策略。既然小盤股那麼受歡迎,最後也將策略每個月的收益與兩組小盤股做了比較,勝率也都高於80%。

6

在過去幾年中,許多投資者投資小市值股票而獲得豐厚的回報(走上了人生巔峰),然而市場上唯一不變的就是變化。無腦買入小盤股的策略固然有效,但根據經濟和市場的不同態勢,動態調整股票和倉位,才能更好地順應市場。一起動起來吧!

我不會告訴你們,噼里啪啦寫了這麼多只是為了寫軟文:

所有研究都是通過ricequant平台進行的,如果你們還想知道我有多努力得寫代碼,請不要不要不要點我:這個平台有毒


推薦閱讀:

[note]Learning from Simulated and Unsupervised Images through Adversarial Training
網路表示學習概述
Reddit爆款討論:那些做機器學習的,平時除了數據清洗還幹些啥?

TAG:机器学习 | 金融 | 股票市场 |