股票實(shí)證研究--A股中有哪些偉大的公司?

背景和理論

2019年5月4日, 第54屆伯克希爾·哈撒韋股東大會(huì)在美國中部小鎮(zhèn)奧馬哈市舉行。至少有3萬人參加了此次大會(huì),盛況空前,舉世矚目。89歲的巴菲特與95歲芒格,兩位當(dāng)今世上的偉大的智者仍然頭腦清楚、反應(yīng)迅速,讓人嘆為觀止、深受感動(dòng)!

兩位老人對(duì)中國市場(chǎng)仍然十分看好,但投了哪些股票我們不得而知。但從以前透露的信息來看,他們對(duì)中國公司的選股標(biāo)準(zhǔn)是“連續(xù)10年每年的凈資產(chǎn)收益率不低于20%,而且能穩(wěn)定增長(zhǎng)的企業(yè)才能進(jìn)入其研究范疇”

A股有哪些偉大的公司?

能夠連續(xù)10年凈資產(chǎn)收益率>20%的公司足以稱為偉大的公司。究竟是哪些A股公司能夠如此優(yōu)秀可以完全滿足這些條件呢?我們可以利用聚寬量化交易平臺(tái)的數(shù)據(jù)來進(jìn)行實(shí)證研究找到答案(原代碼見最后面)。我們可以得知,能夠滿足條件的A股公司只有8家,分屬于3個(gè)行業(yè)。日常消費(fèi)行業(yè)4家,分別是貴州茅臺(tái),洋河股份,伊利股份,承德露露。 醫(yī)療行業(yè)3家,分別是華東醫(yī)藥、恒瑞醫(yī)藥、信立泰。可選消費(fèi)行業(yè)只有1家,格力電器。 (有媒體報(bào)道說有9家滿足條件,他們肯定是錯(cuò)了)。

A股最偉大的公司

假設(shè)一:穿越回10年前

如果我們?cè)?0年前于2009年5月,投入10萬元,平均投入到這幾只股票,不止損和不止盈,當(dāng)有分紅,第二個(gè)月5號(hào)繼續(xù)買入這幾只股票,現(xiàn)在是什么情況呢? 這種策略從2009年5月到2019年5月,年化收益為25%,總收益近800%,同期滬深300指數(shù)收益為49%,妥妥跑贏大盤。但回報(bào)率和北上廣深的房?jī)r(jià)漲幅差好象不多,所以過去10年還是買房劃算。當(dāng)然這種穿越設(shè)想是不現(xiàn)實(shí)的,策略包含有未來函數(shù),人不可能有時(shí)空穿越的能力。

image.png

假設(shè)二 定投模式。

如果我們采取定投模式,每個(gè)月5號(hào)發(fā)工資后,定投4000元,用于平均購買滿足“連續(xù)10年每年的凈資產(chǎn)收益率不低于20%”的公司股票。結(jié)果會(huì)怎么樣呢?對(duì)不起,這個(gè)策略只有從2015年5月起才能夠買。為什么?因?yàn)橹皼]有公司能滿足條件。2015年中國A股首先滿足條件的只有兩只股票:萬華化學(xué),貴州茅臺(tái)。 無論從哪個(gè)角度年地,貴州茅臺(tái)真不愧是中國第一股。
該策略從2015年5月大股災(zāi)時(shí)進(jìn)入到2019年5月,策略年化收益為15.93%, 總收益為78.06%,同其滬深300指數(shù)是-17.61%,妥妥跑贏大盤指數(shù)。當(dāng)然,要能執(zhí)行此策略,投入的錢必須是判死刑的閑錢,投資人需要有非一般人的定力,因?yàn)橐皇亲畲蠡爻?9.85%,一般人是扛不下來的。 二是從2015年5月到2017年5月,長(zhǎng)達(dá)兩的的持續(xù)虧損,一般人也熬不住的。
從這個(gè)測(cè)試中,我們也可以看到,滬深300指數(shù)在過去4年的回報(bào)是-17.6%。國內(nèi)有人鼓吹不用腦閉著眼睛采用股指定投就一定妥妥賺錢是不成立的,是片面的理解巴菲特和芒格的話。美國的標(biāo)普500是十年連續(xù)上升,而中國A股不是這樣的。未來如果有時(shí)間,我們可以在量化平臺(tái),采用股指定投策略回測(cè)加以實(shí)證檢驗(yàn)。

image.png

附Python代碼:

#看看A股有哪些公司的ROE連續(xù)10年20%以上
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import datetime
from jqdata import *

#---------1. 設(shè)置參數(shù)----------------------
n=10      #連續(xù)幾年
r=20      #roe要求
today = datetime.date.today()  #今天
thisyear=today.year   #今年
thismonth=today.month

if int(thismonth) >= 5:       #5月以后,去年的財(cái)報(bào)全都出來了
    years=range(thisyear-n,thisyear,1)  #過去10年list
else:
    years=range(thisyear-n-1,thisyear-1,1) 

#---------2. 查找符合條件(連續(xù)n年ROE>r)的股票代碼清單-----------
stocklist=[]  #用于存放股票代碼
i=1  #用于判斷是否是第一年
for y in years:   
    if i==1:
        pdt= get_fundamentals(query(
                balance.code,
                indicator.roe, #凈資產(chǎn)收益率ROE(%)
                ).filter(indicator.roe >r
                ),statDate=y)
    else:
        pdt= get_fundamentals(query(
                balance.code,
                indicator.roe, #凈資產(chǎn)收益率ROE(%)          
                ).filter(indicator.roe >r,
                         balance.code.in_(stocklist)
                ),statDate=y)
    i+=1
    stocklist=list(pdt.code)   # 獲取股票代碼
    
stocklist
    

#---------3.獲取這個(gè)股票當(dāng)年的主要財(cái)報(bào)數(shù)據(jù)-----------
pdt= get_fundamentals(query(
            balance.code,
            income.operating_revenue,  #營業(yè)收入
            income.operating_profit, #營業(yè)利潤
            income.net_profit, #凈利潤
            indicator.net_profit_margin,     #銷售凈利率(%)
            indicator.roe, #凈資產(chǎn)收益率ROE(%)
            indicator.eps, #每股收益EPS(元)           
        ).filter(balance.code.in_(stocklist)
        ),statDate=str(thisyear-1))  #StateDate1是今年
#pdt=pdt[pdt.net_profit > 1e+10]  #查看10億以上利潤的企業(yè)
pdt.index=pdt.code    
    
#---------4. 加上股票的中文公司名稱---------------
b=get_all_securities(types=['stock'])
b['code']=b.index
b=b[b['code'].isin(stocklist)]
b=b[['display_name']]
pdt=pd.concat([pdt,b],axis=1)

#---------5. 加上股票的行業(yè)名稱-------------
mm=get_industry(security=stocklist, date=today)                #獲取股票的行業(yè)信息,生成dick類型數(shù)據(jù)
nn=[(x,mm[x]['jq_l1']['industry_name']) for x in mm.keys()]    #按聚寬1類行業(yè)分類取數(shù)據(jù)
df=pd.DataFrame(nn,columns=['code','industry'])
df.index=df.code
pdt=pd.concat([pdt,df],axis=1)

#---------6.整理下數(shù)據(jù),按ROE降序排列-----------
pdt=pdt[['display_name','industry','roe','eps','operating_revenue','net_profit_margin']]
pdt=pdt.sort_values(by='roe',ascending=False)
pdt=pdt.head(40)
pdt 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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