巴菲特最常使用的因子--品質因子(quality factor)

閱讀時間約 16 分鐘
  • 文內如有投資理財相關經驗、知識、資訊等內容,皆為創作者個人分享行為。
  • 有價證券、指數與衍生性商品之數據資料,僅供輔助說明之用,不代表創作者投資決策之推介及建議。
  • 閱讀同時,請審慎思考自身條件及自我決策,並應有為決策負責之事前認知。
  • 方格子希望您能從這些分享內容汲取投資養份,養成獨立思考的能力、判斷、行動,成就最適合您的投資理財模式。
寧願用合理價買進一流公司,也不願用便宜價買進平庸公司 --Warren Buffett
歡迎追蹤我的方格子
當看到別人按下追蹤的我
在Frazzini, A., Kabiller, D., & Pedersen, L. H. (2013)的研究中發現,巴菲特所創造的alpha大部分都是藉由優質的槓桿以及投資高品質的股票所產生。那我們該如何量化所謂的高品質股票?以下引用Asness, C. S., Frazzini, A., & Pedersen, L. H. (2019)的研究來定義何謂品質因子(quality factor):
首先品質因子分為三部分:
  1. 獲利性(profitability):在Novy-Marx, R. (2013)已經證明高獲利的公司未來的報酬率會高於低獲利的公司。巴菲特十分看重的獲利指標ROE也是其中一種衡量獲利性的方式。
  2. 成長性(growth):Mohanram, P. S. (2005)的研究顯示,如果價值股中獲利能力具有高度成長力的公司挑選出來,他所獲得的報酬會高於價值股中低度成長性的公司。這與巴菲特所說的獲利率能夠持續提升的觀點十分相似。
  3. 安全性(safety):安全性代表了公司的償債能力、市場風險的承受度,以及槓桿程度。Frazzini, A., & Pedersen, L. H. (2014)的研究發現低beta值的股票反而比高beta值的股票未來報酬率較高。另外,倒閉風險較低的公司,未來的超額報酬反而比倒閉風險較高的公司高。
量化方式:
1. 獲利性(profitability):
獲利能力指標有:
(1)GPA: 毛利/資產
(2)ROE
(3)ROA
(4)CFOA:現金流/資產
(5)GMAR: 毛利
(6) ACC: 營業現金流/淨利
將上述的指標各自計算,對公司依照各指標進行進行排序,將所得的排序計算各自指標的Z score,並將6項Z score平均,就能得到獲利性指標的分數
2.成長性(growth):
成長性指標有:
(1)ΔGPA
(2)ΔROE
(3)ΔROA
(4)ΔCFOA
(5)ΔGMAR
以上的差額,為該指標與5年前的同一指標做差額,但台股的周期性較短,因此可以縮短其比較的年數。
最後使用上述的指標各自計算,對公司依照各指標進行進行排序,將所得的排序計算各自指標的Z score,並將5項Z score平均,就能得到成長性指標的分數
3. 安全性(safety):
安全性指標有:
(1) beta(bab):代表市場性風險,beta越低,代表其受的市場性風險越低
(2)負債比(lev):負債/總資產
(3)O-Score
(4)Z - Score
(5)ROE波動度(EVOL)
最後使用上述的指標各自計算,對公司依照各指標進行進行排序,將所得的排序計算各自指標的Z score,並將5項Z score平均,就能得到安全性指標的分數
最後將獲利性(profitability)、成長性(growth)及安全性(safety)的分數相加,即為品質(quality)分數
回測結果:
以下回測結果為每季取品質分數的前30%公司組成投資組合,並每季再平衡之結果
回測軟體:finlab
應用方式:
1. 優化研發因子
2.優化規模因子
3.優化資產配置:品質因子與市場因子、規模因子為負相關,因此如果將策略組合加入品質因子的策略,可減少投資組合波動。
4.作為價值投資者的選股標準
finlab的程式碼
from finlab import data
from finlab.backtest import sim
df1 = data.get('financial_statement:投資活動之淨現金流入_流出')
df2 = data.get('financial_statement:營業活動之淨現金流入_流出')
自由現金流 = (df1 + df2).rolling(4).mean()
gross_profit = data.get('financial_statement:營業毛利')
股本 = data.get('financial_statement:股本')
price = data.get('price:收盤價')
vol = data.get('price:成交股數')
市值 = 股本 * price / 10 * 1000
debt = data.get('financial_statement:負債總額')
cash = data.get('financial_statement:現金及約當現金')
current_assets = data.get('financial_statement:流動資產')
uncurrent_asset = data.get('financial_statement:非流動資產')
current_debt = data.get('financial_statement:流動負債')
capital_employed = current_assets + uncurrent_asset- current_debt -cash
EBITDA = data.get('fundamental_features:EBITDA')
depreciation = data.get('fundamental_features:折舊')
EBIT = EBITDA - depreciation
excess_cash = cash + current_assets - current_debt
asset = data.get('financial_statement:資產總額')
net_profit = data.get('fundamental_features:經常稅後淨利')
acc = df2/net_profit
GPA = gross_profit/asset
TEV = 市值 + debt -excess_cash
ROC = EBIT / capital_employed
ROA = EBIT / asset
ROE = data.get('fundamental_features:ROE稅後')
Z_acc = (acc.rank(axis=1, ascending=False) - acc.rank(axis=1, ascending=False).rolling(4).mean())/acc.rank(axis=1, ascending=False).rolling(4).std()
Z_gross_profit = (gross_profit.rank(axis=1, ascending=False) - gross_profit.rank(axis=1, ascending=False).rolling(4).mean())/gross_profit.rank(axis=1, ascending=False).rolling(4).std()
Z_gpa = (GPA.rank(axis=1, ascending=False) - GPA.rank(axis=1, ascending=False).rolling(4).mean())/GPA.rank(axis=1, ascending=False).rolling(4).std()
Z_roa  = (ROA.rank(axis=1, ascending=False) - ROA.rank(axis=1, ascending=False).rolling(4).mean())/ROA.rank(axis=1, ascending=False).rolling(4).std()
Z_roe = (ROE.rank(axis=1, ascending=False) - ROE.rank(axis=1, ascending=False).rolling(4).mean())/ROE.rank(axis=1, ascending=False).rolling(4).std()
profitability =(Z_gpa + Z_roa + Z_roe+Z_gross_profit+Z_acc)/5
growth_GPA = GPA - GPA.shift(4)
growth_ROA = ROA - ROA.shift(4)
growth_ROE = ROE - ROE.shift(4)
growth_gross_profit = gross_profit - gross_profit.shift(4)
Z_growth_GPA = (growth_GPA.rank(axis=1, ascending=False)-growth_GPA.rank(axis=1, ascending=False).rolling(4).mean())/growth_GPA.rank(axis=1, ascending=False).rolling(4).std()
Z_growth_ROA = (growth_ROA.rank(axis=1, ascending=False)-growth_ROA.rank(axis=1, ascending=False).rolling(4).mean())/growth_ROA.rank(axis=1, ascending=False).rolling(4).std()
Z_growth_ROE = (growth_ROE.rank(axis=1, ascending=False)-growth_ROE.rank(axis=1, ascending=False).rolling(4).mean())/growth_ROE.rank(axis=1, ascending=False).rolling(4).std()
Z_growth_gross_profit = (growth_gross_profit.rank(axis=1, ascending=False)-growth_gross_profit.rank(axis=1, ascending=False).rolling(4).mean())/growth_gross_profit.rank(axis=1, ascending=False).rolling(4).std()
growth = (Z_growth_GPA + Z_growth_ROA +Z_growth_ROE+Z_growth_gross_profit)/4
close2 = data.get('etl:adj_close')
daily_ret = close2.pct_change()+1
vol = daily_ret.rolling(25).std()
Z_vol = (vol.rank(axis=1,  ascending=True) - vol.rank(axis=1,  ascending=True).rolling(4).mean())/vol.rank(axis=1,  ascending=True).rolling(4).std()
debt_ratio = data.get('fundamental_features:負債比率')
Z_debt_ratio = (debt_ratio.rank(axis=1,  ascending=True) - debt_ratio.rank(axis=1,  ascending=True).rolling(4).mean())/debt_ratio.rank(axis=1,  ascending=True).rolling(4).std()
quick_ratio = data.get('fundamental_features:速動比率')
Z_quick_ratio = (quick_ratio.rank(axis=1, ascending=False)-quick_ratio.rank(axis=1, ascending=False).rolling(4).mean())/quick_ratio.rank(axis=1, ascending=False).rolling(4).std()
safety = (Z_vol + Z_debt_ratio +Z_quick_ratio)/3
quality_score = profitability + growth + safety
資料來源:
Frazzini, A., Kabiller, D., & Pedersen, L. H. (2013). Buffett's alpha (No. w19681). National Bureau of Economic Research.
Novy-Marx, R. (2013). The other side of value: The gross profitability premium. Journal of financial economics, 108(1), 1-28.
Frazzini, A., & Pedersen, L. H. (2014). Betting against beta. Journal of financial economics, 111(1), 1-25.
Mohanram, P. S. (2005). Separating winners from losers among lowbook-to-market stocks using financial statement analysis. Review of accounting studies, 10(2), 133-170.
Ng, C. C. A., & Shen, J. (2020). Quality investing in Asian stock markets. Accounting & Finance, 60(3), 3033-3064.
Asness, C. S., Frazzini, A., & Pedersen, L. H. (2019). Quality minus junk. Review of Accounting Studies, 24(1), 34-112.
Asness, C., Frazzini, A., Israel, R., Moskowitz, T. J., & Pedersen, L. H. (2018). Size matters, if you control your junk. Journal of Financial Economics, 129(3), 479-509.
如果覺得文章不錯,歡迎追蹤我的方格子
為什麼會看到廣告
avatar-img
749會員
53內容數
因子投資在台灣是一直被低估的學問,藉由本專欄可以進一步利用因子投資的知識來改善自己的選股,或者打造自己的量化策略,建立屬於自己的投資系統。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
FCDO的沙龍 的其他內容
多數人會認為獲利的成長會有助於未來的股票報酬,但成長真的是越高越好嗎?另外在同樣的累積成長率下,穩定的成長跟成長集中於特定幾年,它們的未來報酬會有什麼差別?
在學術上及實務上,高pb的股票皆被證明其未來的績效普遍不佳。然而擁有高pb估值其實也往往代表市場對其未來的成長性備受期待。為了識別其高估值的合理性,Mohanram, P. S. (2005)於他的研究提出了GSCORE來辨別成長股的優劣
本篇文章以高B/P為首的價值股為分析對象,探討價值投資者常說的價值陷阱的成因與可能的改善方式,本篇文章不僅可為量化投資者增進其現有的價值股策略,更能幫助價值投資人用簡單的量化方式避開價值陷阱的風險。
被隔日衝券商大量買進的股票通常隔日會承受大量的賣壓,導致價格被壓制,因此過去有人以放空隔日衝券商的標的獲利。 那這個方法現在是否仍可行? 理論上可行,但十分困難。 以過去的資料回測,放空隔日沖券商的日報酬約能達到0.5%
Lee, C. M., & Swaminathan, B. (2000).提出了價格動能理論,在其著作中,其建構了一個股價從低估至形成泡沫,最後泡沫破滅,並被低估的過程,精明的投資可以就由辨別動能的生命週期,找到股價被低估的機會。
超額報酬 = 風險 + 錯誤定價 如果想要獲得超越大盤的報酬,勢必需要理解超額報酬是如何得到的?未來是否會有失效的可能性?本篇文章將說明想要打造績效超越市場的策略或是選股標準,所注意的要點以及其背後的原理。
多數人會認為獲利的成長會有助於未來的股票報酬,但成長真的是越高越好嗎?另外在同樣的累積成長率下,穩定的成長跟成長集中於特定幾年,它們的未來報酬會有什麼差別?
在學術上及實務上,高pb的股票皆被證明其未來的績效普遍不佳。然而擁有高pb估值其實也往往代表市場對其未來的成長性備受期待。為了識別其高估值的合理性,Mohanram, P. S. (2005)於他的研究提出了GSCORE來辨別成長股的優劣
本篇文章以高B/P為首的價值股為分析對象,探討價值投資者常說的價值陷阱的成因與可能的改善方式,本篇文章不僅可為量化投資者增進其現有的價值股策略,更能幫助價值投資人用簡單的量化方式避開價值陷阱的風險。
被隔日衝券商大量買進的股票通常隔日會承受大量的賣壓,導致價格被壓制,因此過去有人以放空隔日衝券商的標的獲利。 那這個方法現在是否仍可行? 理論上可行,但十分困難。 以過去的資料回測,放空隔日沖券商的日報酬約能達到0.5%
Lee, C. M., & Swaminathan, B. (2000).提出了價格動能理論,在其著作中,其建構了一個股價從低估至形成泡沫,最後泡沫破滅,並被低估的過程,精明的投資可以就由辨別動能的生命週期,找到股價被低估的機會。
超額報酬 = 風險 + 錯誤定價 如果想要獲得超越大盤的報酬,勢必需要理解超額報酬是如何得到的?未來是否會有失效的可能性?本篇文章將說明想要打造績效超越市場的策略或是選股標準,所注意的要點以及其背後的原理。
你可能也想看
Google News 追蹤
Thumbnail
巴菲特表示,股市投資者通常傾向於專注於尋找偉大的企業,但這只是成為偉大投資者的一部分。我們還必須分析我們是否以公平的價格購買了偉大的企業,以確定股票市場投資是否具有吸引力。
Thumbnail
本文我們更進一步測試股息因子能不能被價值因子所解釋。
巴菲特價值投資法,在散戶中無疑是指引的燈塔,但說實話我沒有嘗試過,因為要等很久。 耕股,倒是一本值得推薦的書,作者去美國學習後,把操作方式撰寫出來,並且作了一個網站方便大家執行。 要說價值投資的核心,就屬ROE,不論哪家的價值投資法,ROE都是最重要的指標之一,耕股自不例外。而步驟,大抵是指標選
Thumbnail
我如何定義好公司,我的看法是有以下的特質 1、銷售獨特產品或服務的公司 2、營收長期成長 3、在競爭中獲勝 4、有值得信任的管理者 5、可以理解的公司
Thumbnail
何謂利基?顧名思義是在有利的基礎之上。從商業管理與產品行銷的角度來看,產品毛利、客戶忠誠度、外在環境的競爭性或市場的進入障礙....等等,這些都是優勢也可以說是利基,但投資交易上的利基則不太一樣。
Thumbnail
本文章介紹了巴菲特的Alpha模式,提供了基於格雷厄姆和多德原則的價值投資策略。透過統計回歸理論加上高品質、安全和廉價股票等因子,研究了巴菲特的績效。根據研究結果,提出了利用低beta、高品質股票進行長期投資的投資建議。
Thumbnail
這篇文章介紹了選股的方式,重點是三率三升的概念。這個方法從損益表中分析公司的競爭力和獲利能力,並提供了兩種不同的選股指標。文章還提到了如何快速查詢持股的獲利表現和如何辨別業外獲利的來源。
巴菲特的看見價值一書裡面說 ”股票其實就是公司一小部分的股權” 這句話其實很簡單,就是告訴我們投資的定義,買賣股票就是買入一家公司的一小部分的股權,你就擁有了這家公司的一小部分。   因為你有了這家公司的部分股權所以你可以參與它的盈餘分配,它賺錢你也跟著賺錢。所以如果這家公司一直在賺錢的話,那你
Thumbnail
投資大師巴菲特的投資哲學中,強調要投資於優質的公司。那麼什麼樣的公司才能被稱為優質呢?根據學術研究,所謂的品質因子主要可分為三大面向:獲利能力、成長性以及安全性。掌握這三大核心元素,將有助於我們挑選出具有長期獲利能力的優質個股。
Thumbnail
有朋友提到巴菲特持有的股票大多不配息居多,幾乎都是成長股居,自己的波克夏也不配息,元大用價值投資的名義又用十塊錢上架,吸引投資人,高息就高息,又冠上價值投資,這樣不是很奇怪的手法嗎?我覺得篩選機制是一個重點,台灣跟美國的明情不同,不妨來研究一下篩選機制是否如大家所想,覺得合理才做投資,這集一
Thumbnail
巴菲特表示,股市投資者通常傾向於專注於尋找偉大的企業,但這只是成為偉大投資者的一部分。我們還必須分析我們是否以公平的價格購買了偉大的企業,以確定股票市場投資是否具有吸引力。
Thumbnail
本文我們更進一步測試股息因子能不能被價值因子所解釋。
巴菲特價值投資法,在散戶中無疑是指引的燈塔,但說實話我沒有嘗試過,因為要等很久。 耕股,倒是一本值得推薦的書,作者去美國學習後,把操作方式撰寫出來,並且作了一個網站方便大家執行。 要說價值投資的核心,就屬ROE,不論哪家的價值投資法,ROE都是最重要的指標之一,耕股自不例外。而步驟,大抵是指標選
Thumbnail
我如何定義好公司,我的看法是有以下的特質 1、銷售獨特產品或服務的公司 2、營收長期成長 3、在競爭中獲勝 4、有值得信任的管理者 5、可以理解的公司
Thumbnail
何謂利基?顧名思義是在有利的基礎之上。從商業管理與產品行銷的角度來看,產品毛利、客戶忠誠度、外在環境的競爭性或市場的進入障礙....等等,這些都是優勢也可以說是利基,但投資交易上的利基則不太一樣。
Thumbnail
本文章介紹了巴菲特的Alpha模式,提供了基於格雷厄姆和多德原則的價值投資策略。透過統計回歸理論加上高品質、安全和廉價股票等因子,研究了巴菲特的績效。根據研究結果,提出了利用低beta、高品質股票進行長期投資的投資建議。
Thumbnail
這篇文章介紹了選股的方式,重點是三率三升的概念。這個方法從損益表中分析公司的競爭力和獲利能力,並提供了兩種不同的選股指標。文章還提到了如何快速查詢持股的獲利表現和如何辨別業外獲利的來源。
巴菲特的看見價值一書裡面說 ”股票其實就是公司一小部分的股權” 這句話其實很簡單,就是告訴我們投資的定義,買賣股票就是買入一家公司的一小部分的股權,你就擁有了這家公司的一小部分。   因為你有了這家公司的部分股權所以你可以參與它的盈餘分配,它賺錢你也跟著賺錢。所以如果這家公司一直在賺錢的話,那你
Thumbnail
投資大師巴菲特的投資哲學中,強調要投資於優質的公司。那麼什麼樣的公司才能被稱為優質呢?根據學術研究,所謂的品質因子主要可分為三大面向:獲利能力、成長性以及安全性。掌握這三大核心元素,將有助於我們挑選出具有長期獲利能力的優質個股。
Thumbnail
有朋友提到巴菲特持有的股票大多不配息居多,幾乎都是成長股居,自己的波克夏也不配息,元大用價值投資的名義又用十塊錢上架,吸引投資人,高息就高息,又冠上價值投資,這樣不是很奇怪的手法嗎?我覺得篩選機制是一個重點,台灣跟美國的明情不同,不妨來研究一下篩選機制是否如大家所想,覺得合理才做投資,這集一