Advertisement

A股市场统计(营业收入增长率、净利润增长率及净利润比市值近十年的平均数、中位数)

阅读量:

就资产配置而言,在A股市场中投资的资产报酬率是多少?作为一个长期投资标的是否具有配置价值?本文将重点分析其在收入增长、利润提升以及估值水平等方面的表现,并提出一套评估A股资产回报率的方法论。该方法的核心公式如下所示:

成长性指标统计

沪深300统计

年份 平均营业收入增长率 平均净利润增长率
2010 36.50% 36.39%
2011 23.27% 13.55%
2012 8.45% 2.25%
2013 8.28% 13.69%
2014 3.91% 4.72%
2015 -5.60% -4.18%
2016 3.60% 5.00%
2017 15.68% 18.90%
2018 12.32% 9.01%
2019 8.92% 8.55%
年份 中位数营业收入增长率 中位数净利润增长率
2010 26.88% 29.76%
2011 17.85% 5.53%
2012 7.99% -5.34%
2013 8.29% 7.47%
2014 5.20% 4.37%
2015 1.45% 0.28%
2016 5.03% 3.36%
2017 12.96% 12.76%
2018 9.19% 6.53%
2019 7.75% 2.93%

中证800统计

年份 平均营业收入增长率 平均净利润增长率
2010 36.16% 37.91%
2011 22.47% 12.75%
2012 8.28% 1.62%
2013 8.25% 13.55%
2014 4.11% 4.85%
2015 -3.16% -4.06%
2016 5.86% 7.85%
2017 16.08% 20.77%
2018 11.89% 6.73%
2019 9.22% 8.23%
年份 中位数营业收入增长率 中位数净利润增长率
2010 24.41% 23.54%
2011 15.20% 6.14%
2012 5.08% -10.03%
2013 6.58% 3.76%
2014 3.94% 2.77%
2015 0.66% -3.96%
2016 6.12% 3.73%
2017 12.71% 11.82%
2018 7.81% 3.81%
2019 5.15% -2.59%

净利润比总市值

沪深300

年份 净利润比市值平均数 净利润比市值中位数
2010 4.40% 3.96%
2011 4.76% 4.41%
2012 4.82% 5.06%
2013 4.97% 5.14%
2014 6.06% 5.03%
2015 2.68% 3.55%
2016 3.74% 3.39%
2017 6.14% 5.09%
2018 5.67% 5.10%
2019 7.63% 7.07%

可以看出2019年沪深300的资本回报率平均数=7.63%*03+8.55%=10.84%,收益水平还是不错的。

中证800

年份 净利润比市值平均数 净利润比市值中位数
2010 3.45% 3.09%
2011 3.33% 2.89%
2012 3.79% 3.84%
2013 3.69% 3.97%
2014 4.21% 3.51%
2015 1.97% 2.42%
2016 3.06% 2.25%
2017 4.74% 3.17%
2018 3.67% 3.57%
2019 4.82% 5.38%

2019年中证800的平均资本报酬率=4.82%*0.3+8.23%=9.68%。

附录

python code

复制代码
    from WindPy import *
    import pandas as pd
    import numpy as np
    from datetime import datetime
    from WindCharts import *  
    
    w.start()
    hs300_stock_list=w.wset("sectorconstituent", "date=2009-05-02;windcode=000300.SH", usedf=True)
    zz800_stock_list=w.wset("sectorconstituent", "date=2009-05-02;windcode=000906.SH", usedf=True)
    zz800=list(zz800_stock_list[1]['wind_code'])
    hs300=list(hs300_stock_list[1]['wind_code'])
    data_df=pd.DataFrame()
    for i in range(11):
    #统计近十年的营收、净利润增长率及净利润比市值的中位数及平均数
    year=2009+i
    #选择股票标的的范围
    target_stocks=hs300
    data_df11=w.wss(target_stocks, "oper_rev,net_profit_is", "rptDate="+str(year)+"1231;rptType=1", usedf=True)[1]
    data_df11.rename(columns={'OPER_REV':str(year)+'-营收','NET_PROFIT_IS':str(year)+'-净利润'}, inplace = True)
    
    market_value=w.wss(target_stocks,"ev", "tradeDate="+str(year)+"1231", usedf=True)[1]
    market_value.rename(columns={'EV':str(year)+'-市值'}, inplace = True)    
    data_df=pd.concat([data_df11,market_value,data_df],axis=1)
     #输出格式为表格格式,可直接复制生成表格 
    print('年份|平均数数营业收入增长率|平均数净利润增长率')
    print('-------- | -----|-----')
    for i in range(10):
    year=2009+i
    data_df[str(year+1)+'营收增长率']=data_df.apply(lambda x:(x[str(year+1)+'-营收']-x[str(year)+'-营收'])/x[str(year)+'-营收'],axis=1)
    data_df[str(year+1)+'净利增长率']=data_df.apply(lambda x:(x[str(year+1)+'-净利润']-x[str(year)+'-净利润'])/x[str(year)+'-净利润'],axis=1)
    mean_revenue=data_df[str(year+1)+'营收增长率'].mean()
    mean_net_profit=data_df[str(year+1)+'净利增长率'].mean()
    print(year+1,'|','%.2f%%'% (mean_revenue*100),'|','%.2f%%' % (mean_net_profit*100))
    
    
    
    
    print('年份|中位数营业收入增长率|中位数净利润增长率')
    print('-------- | -----|-----')
    for i in range(10):
    year=2009+i
    data_df[str(year+1)+'营收增长率']=data_df.apply(lambda x:(x[str(year+1)+'-营收']-x[str(year)+'-营收'])/x[str(year)+'-营收'],axis=1)
    data_df[str(year+1)+'净利增长率']=data_df.apply(lambda x:(x[str(year+1)+'-净利润']-x[str(year)+'-净利润'])/x[str(year)+'-净利润'],axis=1)
    median_revenue=data_df[str(year+1)+'营收增长率'].median()
    median_net_profit=data_df[str(year+1)+'净利增长率'].median()
    print(year+1,'|','%.2f%%'% (median_revenue*100),'|','%.2f%%' % (median_net_profit*100))
    
    print('年份|净利润比市值平均数|净利润比市值中位数')    
    
    print('-------- | -----|-----')
    for i in range(10):
    year=2009+i
    
    
    data_df[str(year+1)+'净利润/股价']=data_df.apply(lambda x:(x[str(year+1)+'-净利润']/x[str(year)+'-市值']),axis=1)
    mean_ni_ev=data_df[str(year+1)+'净利润/股价'].mean()
    median_ni_ev=data_df[str(year+1)+'净利润/股价'].median()  
    print(year+1,'|','%.2f%%'% (mean_ni_ev*100),'|','%.2f%%' % (median_ni_ev*100))
    
    
    
    
    python
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-14/yR42gPz5iunSCTcZD6qLWrbjkVlf.png)

通过假设所有公司均分配30%的分红比例来减少由于分红政策差异所带来的影响,并采用调整后的永续股利增长模型:R=D/P+g的形式。

全部评论 (0)

还没有任何评论哟~