市盈率(二):Graham價值策略

著名的Graham公式:
![][equtation]
[equtation]: http://latex.codecogs.com/svg.latex?\sqrt{22.5(EarningPerShare)(BookValuePer~Share)}
據(jù)說巴菲特早期就是用這個公式選股的,至于賺不賺不知道。

插句話,想起小時候我爸炒股的時候,就是還有深發(fā)展的那個時代,電視上就有人在講巴菲特怎么買可口可樂的,記憶最深的是那人吹“美國憲法都有修正案,但可口可樂的配方不能改”(實際上也改過)。最近也看了看被抓大佬徐翔的報道。

我的大致感受是,其實這種人買股票對小資金的參考意義不大。巴菲特建倉某個股票可以直接換掉公司管理層;徐翔炒股也靠內(nèi)幕消息可以賭重大利好。我能干嘛?寫代碼跑回測找bug。

不說了上代碼(ricequant):

import pandas as pd
import numpy as np
import datetime
import math

def init(context):
    scheduler.run_monthly(rebalance,8)
    #按月調(diào)倉,每月第八個交易日
    
def handle_bar(context, bar_dict):
    pass
    
def before_trading(context):
    num_stocks = 10
    #刪選股票
    fundamental_df = get_fundamentals(
        query(
            fundamentals.eod_derivative_indicator.pb_ratio,
            fundamentals.eod_derivative_indicator.pe_ratio,
            fundamentals.financial_indicator.inc_earnings_per_share,
            fundamentals.financial_indicator.inc_profit_before_tax,
            fundamentals.financial_indicator.quick_ratio,
            fundamentals.financial_indicator.earnings_per_share,
            fundamentals.financial_indicator.book_value_per_share,
        )
        .filter(
            fundamentals.eod_derivative_indicator.pe_ratio<15
        )
        .filter(
            fundamentals.eod_derivative_indicator.pb_ratio<1.5
        )
        .filter(
            fundamentals.financial_indicator.inc_earnings_per_share>0
        )
        .filter(
            fundamentals.financial_indicator.inc_profit_before_tax>0
        )
        .filter(
            fundamentals.financial_indicator.current_ratio>2
        )
        .filter(
            fundamentals.financial_indicator.quick_ratio>1
        )
        .order_by(
            fundamentals.eod_derivative_indicator.market_cap.desc()
        ).limit(
            num_stocks
        )
    )

    context.fundamental_df = fundamental_df
    context.stocks = context.fundamental_df.columns.values

    
def rebalance(context,bar_dict):
    
    #調(diào)倉
    for stock in context.portfolio.positions:
        if stock not in context.fundamental_df:
            order_target_percent(stock, 0)
    #倉中不符合條件的股票全部賣出
    weight = update_weights(context, context.stocks)

    for stock in context.fundamental_df:
        if weight != 0 and stock in context.fundamental_df:
            order_target_percent(stock,weight)
    #新選進來的股票按比例建倉
def update_weights(context,stocks):
    if len(stocks) == 0:
        return 0 
    else:
        weight = .95/len(stocks)
        return weight

回測結(jié)果如下:


發(fā)現(xiàn)四年間的收益還是很不錯的,但是最大回撤有些受不了。

同樣我測了一下16年初到現(xiàn)在的情況:

發(fā)現(xiàn)在15、16年上半年,出現(xiàn)了很長時間的空倉,篩不出來符合條件的股票,當(dāng)然我們也可以買國債。但我們也可以修正一下參數(shù),畢竟pe<15和pb<1.5或許只是符合七十年代的美股。

如果我們把參數(shù)改到了20和1.8:

被現(xiàn)實打了臉,還不如原來的。
原來15、16空倉期的確很危險!

反思

回到策略,這個公式的大致思路是還是只買便宜的,可以認為是一種非常保守的價投策略。由上一篇文章我們可以知道,單純的市盈率因子是很有問題的,那么結(jié)合了PB之后的Graham呢?看看知乎大神是怎么說的。我們挑選兩個看上去比較有價值的回答粘在這里。

市盈率越低的股票越好嗎?

@leon:

P/E只是一種估值方式,重點不在倍率本身,而在和同業(yè)的P/E比較、和公司歷史上的P/E比較,行業(yè)景氣度。在內(nèi)地股市,行業(yè)龍頭的估值相對低廉,反映市場投機傾向明顯,小盤股的機構(gòu)投資者占比相對少,波動大,久而久之估值也較高。




市盈率長期處于低位暗示著較大的discount,恰恰說明存在不少負面因素。我舉幾個例子銀行:低P/E+低P/B反映投資人對地產(chǎn)泡沫,透明度(港股投資人擔(dān)憂中央政府不按套路出牌),SOE性質(zhì)(沒有約束機制,完全可以忽視中小投資人利益),不成熟的金融系統(tǒng),企業(yè)治理,過速擴張導(dǎo)致資產(chǎn)質(zhì)量下滑,互聯(lián)網(wǎng)金融等的諸多擔(dān)心。資源:資源價格的超級下降周期仍未結(jié)束,環(huán)保議題削弱需求預(yù)期。地產(chǎn):分歧加大,退化成低成長性行業(yè),商業(yè)地產(chǎn)應(yīng)使用NAV估值。家電:普及期結(jié)束,更換周期變長,即便挖掘新功能仍伴隨單價下降,投資人的興趣下降。高速公路:非常穩(wěn)定,應(yīng)使用DCF法估值。

@馮迅(果仁老板):

很多人認為市盈率越低,股票越便宜,股票越安全,未來收益會越好。這個觀點在A股是否適用,做一些量化分析很容易驗證。我的分析方法是將2千多只A股按照PE由小到大排名, PE越小的股票得分越高,并按照排名的先后分成10個排名段,每個排名段大約有2百只股票,然后計算每個股票排名段的年化收益(假設(shè)股票在排名段中是等權(quán)重), 再比較各個排名段的收益。回測區(qū)間從2011年8月3日開始到2016年8月3日。 每隔20 個交易日,對所有股票重新排名,調(diào)整排名分段中的股票。在下圖中,最右面90-100分段里的股票PE最小也就是最便宜的股票,最左面0-10分段里的股票PE最大或者干脆就是負數(shù),也就是投機最強的股票。最左面的紅色柱子是滬深300在過去五年的年化收益, 藍色柱子是各個PE分段在過去5年的年化收益。比較藍色柱子的收益,我們可以看出PE最小的股票的收益率并不是最好的,收益最好是得分80-90分段的股票,也就是PE較小但不是最小的股票。而PE最大股票收益是最差的。(細心的朋友會觀察到所有股票分段的收益都超過紅色的滬深300收益,這里面的原因,是大盤股在過去5年的收益遠不如小盤股。)


全A股PE分段過去5年年化收益比較

所以一個簡單的結(jié)論是我們應(yīng)該回避PE最高的股票, 但是買PE最低的股票并不能給我們帶來特好的收益。但是如果我們把投資域限制在滬深300內(nèi),則會見到完全不一樣的圖形。滬深300的市盈率和市凈率分段收益我將滬深300按PE排名分成10段,每段大約30只股票。在下圖中,最左面90-100分段里的股票PE最小,最右面0-10分段里的股票PE最大。


滬深300成分股PE分段過去5年年化收益比較

我們可以看到滬深300中PE最小的股票(最右面分段)的收益率最高,而PE最高分段的收益率最低,在過去4年為負數(shù)。 這確實印證了市盈率越低越有投資價值的觀點。滬深300大都是成熟的股票, 對于成熟的股票,選股使用PE這樣的基本面指標(biāo)更靠譜些。最后的結(jié)論是投資者應(yīng)回避PE最高的或者是盈利是負數(shù)的股票。投資滬深300,選取PE小的股票會的得到更好的收益, 而投資一般的A股, PE最小的股票不一定最有優(yōu)勢。

我個人的看法:

Graham策略在長期來看能保證在25%左右的年收益率,如果在價值投資的角度來看,其實已經(jīng)是一種堪用的策略,但回撤基本和大盤保持一致,或者說容災(zāi)能力不夠強,遇上大跌會被客戶按在車庫打。

現(xiàn)在我們來做一件很枯燥的事情,如果我們認為按月調(diào)倉太乏味,我們可以改為按周調(diào)倉,回測了2016-01-01至2017-5-11的數(shù)據(jù),然后分別將調(diào)倉時間由每周第一個交易日到第五個交易日跑了一遍,發(fā)現(xiàn)一個事情:

調(diào)倉頻率,第n個交易日 回測年化收益 基準(zhǔn)年化收益 Alph Beta Sharpe Volatility 最大回撤
weekly,1 28.951% -2.815% 0.274 0.545 1.1932 0.2135 14.727%
weekly,2 28.895% -2.501% 0.2318 0.5177 0.9963 0.216 14.725%
weekly,3 12.275% -2.501% 0.1273 0.4612 0.5684 0.198 14.742%
weekly,4 17.982% -2.501% 0.1809 0.5286 0.7889 0.2078 14.73%
weekly,5 13.01% -2.815% 0.1342 0.4431 0.6043 0.1963 14.728%

有意思的事情發(fā)生了,收益差這么多!但最大回撤基本上保持了一致。
看看持倉記錄,原來第一筆交易:威孚高科(000581) 在一月份正在漲,選擇后面幾天建倉就踏空了。

說明的問題:

  1. 拍腦門決定調(diào)倉日是不行的,應(yīng)該包含一個合適的擇時策略??!
  2. 單純的Graham策略基本可以保證讓利潤奔跑,但無法截斷虧損?。】少F的利潤都在大盤回調(diào)中吐了出來,甚至在四月底這次大跌中都沒有及時調(diào)整倉位,一個與大盤相關(guān)的倉位控制系統(tǒng)是保證勝利果實的關(guān)鍵。
  3. 在合乎條件的股票數(shù)量不多時,該系統(tǒng)選擇了一兩只股票全倉殺進殺出,沒有合理分散風(fēng)險,這是非常愚蠢的。

所以說接下來的工作,我們可以將精力放在與之配套的擇時策略和倉位控制策略上。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問:樓主對浮虧和持有時間是怎么的標(biāo)準(zhǔn)?非周期類股介入點在哪里? 答:持有到高估,或者找到其它更適合買入的股票的時候...
    養(yǎng)豬的琪琪閱讀 4,129評論 3 11
  • 今天休息,天氣好熱,不是很愿意出門,拿鋼筆想寫寫讀書筆記,把鋼筆摔破了。我在廚房煮了一鍋銀耳,等著湯好的時候,我突...
    幸滿閱讀 457評論 0 0
  • (接上)為了孩子我承受了太多的苦,淚水忍不住嘩嘩往下流。第二天我找了人頂班,本想趁著公公外出旅游的這幾天把自己的東...
    方華1閱讀 239評論 0 0
  • 三千難拔去,六欲又橫生。 故趣何時伴,煮酒到酉征。
    風(fēng)雪長閱讀 226評論 1 1
  • 有種幸福叫,最好的朋友就在身邊,最愛的人就住對面??筛嗟?,卻是錯失愛人,朋友漸遠。我分明記得當(dāng)初你一句我有故事誰...
    Land_Young閱讀 652評論 0 0

友情鏈接更多精彩內(nèi)容