狂徒

我喜歡研究和挑戰艱澀的學科,也喜歡用易懂的人話分享知識。 http://madx.ctcin.bio 歡迎各位批評指教,互相切磋。

因子排序法

發布於
哪種公司的股價上漲較快? 想知道答案,我們可以借用排序法來觀察。

★☆☆☆☆


有人說,大公司體質比較健康,也有壟斷性,所以股票常上漲。
也有人說,小公司通常股本小,能受到資金拉抬,價格容易往上衝。
究竟誰才正確,哪種公司的股價上漲較快?
想知道答案,我們可以借用排序法來觀察。



我找出台股市值前300大公司,以及它們的3年漲幅,並製成圖表。
在我眼中,雖然出現局部隨機的起伏,但是整體而言似乎有「規律」。

為了方便檢視,我進一步把60家公司分成一組,總共5組,再次製圖。這時候規律更明顯,市值高的組別同時也有高報酬。

利用同樣的方式,我們可以找出近10年/20年、前500大/1000大公司的表現,並檢視市值和報酬的關聯。
相似的,投資人也可以測試「殖利率和股價」、「成立時間和成交量」、「老闆幾歲和法人買進占比」....等各類條件。

我曾經寫過的〈殖利率Fetish〉,內容就來自殖利率因子和報酬的關聯。我認為殖利率因子無效(或是不存在),但如果讀者持相反意見,一樣可以自行使用同樣的方式驗證。

可以這麼說,排序法的重點就在於規律。
我們把股票依條件排開,如果另一個特徵呈現隨機分布,那兩者大概沒什關聯。
相對的,要是結果像「市值-報酬」圖,我們可以合理懷疑,兩者存在某種規律。

排序的應用很廣泛,接下來讓我們進入因子領域,也就是因子排序。


1. 因子排序法

粗略的說,因子排序能幫助投資人檢驗和觀察因子的效力。

雖然排序法不是最佳的方法,但是門檻最低。
排序法能夠最大程度避免數學公式,包括定量分析中的相關性、標準誤、回歸等,對人類而言具有高效率。
因此在我的經驗中,即使投資人第一次接觸,也能知道排序法的精神。
白話文就是,因子有沒有效,一「看」就知道。

當然,在實戰的時候不可能這麼草率,我們會需要借助其它統計工具,讓因子的品質提升。
我畫了一張台股10年間Beta因子的排序圖,總量500家,乍看之下高Beta確實代表高收益。

然而僅憑因子排序圖,我不知道當時間窗口延伸到15/20年,這個條件會不會持續,而且圖中的分組和總量也是我「挑過」的數字。
因此,排序法只是一個好用方便的方法,而投資人遲早需要熟練其它武器。


2. 因子曝露和構建

因子(風格因子)的組成多半藉由多空交易完成,我們通常只需要把因子分成「小中大」3種或是「強弱」2種,然後選擇持有或賣空。
據我觀察,分組數量是主觀決定,市面上也有人分出5組,將因子曝露最強的20%資產扣掉最弱的20%.
大家想分成10組/20組/50組也可以,不過當分組太細,雜音會蓋過獲利規律,而且因子投射到資產(股票)池的時候,可能會造成標的太少,甚至從缺。

在此有人可能會好奇,怎麼連簡單的分組數量都能產生分歧?
這是因為,排序和分組,本身就是一個在效率和效能之間妥協的產物。
量化的因子分析不一定會採用排序法,有些框架是用線性回歸的方式,只不過這些方法都會涉及到統計和模型,本篇不談。

回到主題,假設現在有了目標因子,以市值因子為例,具體而言我該怎麼投資呢? 有兩個簡單的方式。
第一,我可以持有小市值股票。
第二,我也可以同時做多小市值和做空大市值。如果小市值是一個能獲利的因子,那我的因子策略就會有比較好的表現。

利用排序法做出因子投資組合,就是這麼親民,接下來我要補充兩個常見疑問。


3. 因子和資產的關係

有人覺得透過因子分組來找出股票,屬於「選股」,但我覺得兩者差異很大。

我沒有精確的定義來區分兩者,但因子投資大概也只有在構築步驟會涉及到選股。
推論上,依照某種條件把資產排序、分組,我們當然需要「選擇」。
可是,排序法的主要目標,是要讓投資人獲取因子,而不是持有某種資產(例如股票)。

簡單的說,如果你透過因子排序選出心儀股票,然後就長期持有,那比較接近選股。
如果妳只注重獲利的因子,而會依照篩選條件增減手中的持股,那大致屬於因子範疇。

另外一個疑問,可以輔助說明前者。
「因子和槓桿是什麼關係?」

多空和槓桿屬於同類概念,而因子也天生自帶槓桿。
或許股票池中根本沒有任何一支股票,具有夠純粹的因子原料,但是透過多空和槓桿,投資者有辦法得到放大的因子。
換個方式描述,投資人利用多空構建組合的過程,可以提取出超過資產本身的「因子濃度」。

此圖來自Alphaarchitect的一篇文章,大致描述投資組合加入價值和動量因子的表現,我們可以看到效率前緣的擴大。
效率前緣來自全市場股票,即使加入重複的股票也不可能造成曲線改變,因此,這剛好能說明因子投資和單純選股的不同之處。
順帶一提,如果把股票本身的多空槓桿限制也解除,效率前緣的圖會變得很狂妄,各位畫過一次就會意識到了。


4. 雙重排序法

再次回到主題,隨著時間進展,我們在單因子排序之外,也開始關心因子間的關聯,其中一個方法就是雙重排序。
我們先看1992 Fama等人的研究,他們把市淨率和市值兩個因子排序,並統計相應組別的平均月度收益。

各位看到什麼? 一堆數字。

我借用文內的資料,並畫出heat map.

或許各位能夠發現,從左到右或從上到下,股票的收益都呈現規律。
也就是說,市值和市淨率,在實驗時間內具有對於收益的解釋力。

在這裡需注意,Fama使用的是「獨立」排序,也就是一次排到位。
實際上,有另外一種「條件」排序,先控制一組變因,再取組內平均,然後換因子再試一次,最後會拿到兩組單獨排序圖。

「狂徒,有單獨排序也有雙重排序,那有沒有三重排序?」


5. 多重排序法

在三重或四重排序,投資人需要考慮到獨立或條件排序方式。
而且既然維度更高,所以大家會面對較多的資料和運算,脫離它原本簡約的特性。
理論上,你想要做十重因子排序也可以,只不過非常沒有計算效率。
因此,即使電腦可以輕鬆勝任多重排序,可是通常投資人不會把排序法應用到更高維度上。

注意我的說詞。
更高維度的因子分析和建構方式確實存在,也是整個因子投資框架的重點,但是排序法本身有極限,不適合處理相應的資料。
另外一點,傳統的風格因子投資和量化多因子、機器學習的特徵工程幾乎沒有交集,所以這裡說的「多重」或「高維」是指雙重以上,和常見語意的高維數據沒什麼關聯。
不過主觀而言,我認為排序法的維度和流行多因子模型有關,不超出六因子,因此不同廣義因子投資領域相安無事,井水不犯河水。

實務上,由於因子分析的精神就是重新拆分和融合,所以為了清楚評估各項重疊的因子風格,我們不太使用單獨排序,但三重排序又太複雜,因此「雙重」排序成為常見布局。

正常來說,我們用到多重排序法而不強調線性回歸,是希望在盡量不涉及數據統計的前提下,得出有意義的定性結論。
例如張櫓等人(2015)就曾經在寫q因子的時候,提到雙重/三重的因子構建,那是因為排序法有效避免曝露的計算。

我知道,Fama等人(2014)在FF5寫過四重因子排序,也就是「市值-市淨率-獲利能力-投資」,可是各位仔細看就能發現,每個因子都是二分法,所以整組數據也只分成16類。

多重排序法在此不是建構或檢驗的手段,而是作者的表達語言。



排序法是投資者初步處理數據的方式,讓我們能快速建立心儀的因子。
如果各位突然覺得哪個因子能夠帶來報酬,不妨利用排序法驗證。
相信只要經過足夠嘗試,各位也能順利成為神棍。


註:

想把因子應用到投資組合中,通常必須運用檢驗、回歸和優化的一系列步驟。
所以順序上,我應該放回歸和殘差的內容。
不過因為安排原因,本系列的下一小節,我打算放「因子正交化」。
統計部分,讀者可以自行找書複習。

對因子投資實踐有興趣的讀者,也可以看石川博士等人的《因子投資》
我推薦一整年,沒遇到第二個讀者 :)


參考:

殖利率Fetish

Expanding the Efficient Frontier with Value and Momentum Strategies

The Cross-Section of Expected Stock Returns (FF 1992)

Digesting Anomalies: An Investment Approach

A Five-Factor Asset Pricing Model (FF 2014)

喜歡我的文章嗎?
別忘了給點支持與讚賞,讓我知道創作的路上有你陪伴。

CC BY-NC-ND 2.0 版權聲明

因子投資 股票資料處理流程

看不過癮?

一鍵登入,即可加入全球最優質中文創作社區