公司估值越低越好吗?买市盈率低的股票究竟是赚是赔?python量化给你答案【附代码】| 邢不行

31 篇文章 7 订阅
20 篇文章 6 订阅

引言:

邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投Z,了解行业研究方向

 这是邢不行第85期量化小课堂分享

作者 l 邢不行、密斯锌硒

只要你接触过股票市场一段时间,肯定会在行情软件最显眼的地方看过市盈率这个指标。

 

各种财经大V、各类财经新闻也时有提及。

很多投资大师更是偏爱用市盈率来选股。比如西格尔在《投资者的未来》中推崇的低市盈率策略,施洛斯提倡的捡烟蒂式投资(低估值策略)等等。

市盈率这个指标为何能够备受各路大师的推崇? 

下面我们就会给大家详细讲解什么是市盈率,并用07年至今的全部相关A股数据来验证,买低估值股,最终到底是赚是赔。

01 市盈率简介

1 市盈率指标

首先我们来简单介绍一下什么是市盈率。

市盈率简称PE,是最常用的对股票进行估值的指标。

这个指标便于计算,用股票总市值除以最近四个季度的净利润即可。

 

比如在2021年12月1日,茅台市值2.43万亿, 它最近四个季度(20年Q4—21年Q3)的净利润总和是504亿。

市值除以净利润,就能得到茅台的市盈率是48倍。

 

了解了什么是市盈率,我们再来看为何大师们会偏好低市盈率的股票。

2 低市盈率理论

上学的时候,老师也说公司的市盈率越低越好。因为理论上讲,公司的市盈率越低,你买下它花的钱相对越少。也就是它的估值越便宜,未来股价上涨的概率越大。

 

市盈率高的公司则相反。比如某公司市盈率是100,净利润是1亿,我们就需要用100亿才能买下它。

如果这家公司之后每年净利润仍是1亿,那么我们要100年才能回本,这个投资回报率显然很低。

 

当然以上仅仅是从理论出发,是那些可能从未投资实战过的大学老师教我们的,实际又会如何呢?

买入低市盈率的公司,真的大概率会上涨吗?

下面我们让一切用数据说话

02 数据获取

1 数据获取

我们首先需要获取每个股票每天的市盈率数据,你可以去新浪财经、东方财富这类网站上抓取,上面的数据较为全面。

但数据纰漏较大,还需要你有一定的爬虫技术。

为此,我提前给大家准备好了所需的数据,它里面包含了每个股票每天的总市值和净利润,两列相除就可以得到相应的市盈率。

 

如果你需要这个数据的话,可以私我,都是可以免费发给你的。

2 数据处理

需要注意的是,市盈率计算公式在实际应用中会遇到一些问题,特别是当净利润为0时,公式无法成立。

为此,我们使用它的倒数来规避,即1/市盈率,又叫EP

数据到手后,我们先不买低市盈率的股票,而去买入老师口中需要远离的,也就是高估值、高市盈率、未来低回报的股票。

我们来看看买入之后效果如何?

03 高估值策略

1 策略构建

我们构建如下量化策略:

在每个月的最后一个交易日,我们计算所有股票的EP,选择EP最小(即市盈率最大)的10只股票,在次月的第一个交易日开盘时均仓买入

之后无论涨跌如何都持有不动,等到这个月的最后一个交易日收盘时再把股票卖光。

之后继续选择此时EP最小的股票并买入,如此循环往复。

 

比如在2009年的12月29日,我选出了当天EP最小的10只股票。

那我就在2010年1月的第一个交易日去均仓买入它们,并一直持有到1月31日再卖光。

此时再选出最新的10只股票去买入,每月重复上述操作即可。

 

 2 策略结果

这个策略的收益我并不推荐手工计算。

我们用Python编程及相应的股票数据来得到结果。

如果你对数据和代码感兴趣的话,可以私我,都是可以免费发给你的。

 

代码运行结果如图所示:

黄色曲线是代表大盘的沪深300指数,它从2010年至今基本没涨,你可以永远相信A股。

蓝色曲线是我们策略的结果,甚至连沪深300指数都没有跑赢,属实拉垮。

 

如果仔细观察这张图,我们甚至还可以得到几个有趣的结论:

 

04 低估值策略

既然高市盈率的股票不能买,那我们买入那些低市盈率的股票会如何?

1 策略构建

我们仍旧执行之前的策略,只不过这次选择EP最大(即市盈率最低)的10只股票,其他条件完全不变。

 

 2 策略结果

我们还是用Python编程及相应的数据来计算。

如果你对数据和代码感兴趣的话,可以私我都是可以免费发给你的。

 

代码运行之后,最终结果如图所示:

 

图中蓝色曲线是我们的策略净值,黄色曲线是沪深300指数。

低市盈率策略的收益确实比沪深300指数好了一点,但并不显著,年化收益只有6.66%,且最大回撤高达57%。

当然,我估计这已经跑赢在座的大多数了,毕竟大部分人炒股都是亏损的。

但这样的策略在量化投资中是不合格的,尤其是最近几年它的表现十分差劲。

那为什么买低市盈率股票的实践结果和理论有那么大的偏差呢?

05 行业中性策略

1 行业影响

我们看这个策略每个月选出来的10只股票,发现它们都偏向于银行、地产、基建等行业。

这类行业的市盈率都比较低,所以这些行业的股票就很容易被我们选中。因此我们的策略选择是偏颇的。

 

比如银行业的平均市盈率是8,工行的市盈率低于行业平均,只有7。

假设互联网行业的平均市盈率是20,其中某只股票的市盈率是10。

这只股票和工行的市盈率哪个更低呢?

 

绝对值看,工行的市盈率确实更低。

但从相对值来说,这家互联网公司它的市盈率是更低的。

因此我们尝试对之前的策略进行调整。

2 行业中性化

我们把所有股票根据申万一级行业进行分类。

在每个行业中选择EP最大(即市盈率最低)的3只股票。如果有10个行业就会选出30只股票。

其他条件完全不变。

这一步操作在我们专业术语中就是所谓的行业中性化,用来去除行业对市盈率指标的影响。

 

当然在实际操作当中会用到更专业的数学方法,这里就不多加赘述了。

3 策略结果

我们仍使用Python编程以及相应的数据来得到结果。

如果你对这个数据和代码感兴趣的话,可以私我,都是可以免费发给你的。

代码运行后,最终结果仍是令人失望:

 

 

 与之前的结果相比有所改善,最大回撤有所减少,但年化收益基本一致。

06 市盈率应用

研究到这里,基本可以宣告通过低市盈率选股的策略长期来看是失败的。这其实也基本上算是业内公认的知识。

但这并不能说明市盈率指标没有用。它单独用的时候是无效的,但和其他财务指标结合起来使用时往往会有奇效

因为我们可以任意组合众多财务指标,此时市盈率指标就会对整个模型起到巨大的辅助作用。

我建议一些刚入市场的同学,甚至那些在股市混了很久的同学,尽量少花时间在技术指标上,反而可以花更多的时间在财务数据上

因为相比于技术指标,你通过研究财务数据得到好策略的性价比更高

如果大家对其他财务指标感兴趣的话可以多多点赞,之后我们就会多讲一些基于财务指标的选股策略。

归根到底一句话,我们用数据说话。

07 后记

文章的最后,和大家分享一点量化投资的心得

很多人问我小白如何开始学习量化投资,有什么可以书单推荐

我的建议是千万不要直接找本书来看。

你找本编程书看,那跟着敲完“Hello World”就结束了;你找本数学书看,那看到第七页的公式就睡着了。

更好的学习方式是做实际的项目,在实践中学习量化策略。

研报就是很好的量化实践项目。

一篇研报就是一个策略,作者都是年薪百万的高学历券商分析师,你要做的就是读懂策略研报,并用代码实现。

在此期间什么不会学什么,哪里不会点哪里,抱着解决问题的心态去学习,事半功倍。

熟读唐诗三百首,不会作诗也会吟。

那么哪里可以获取研报呢?

你可以私我,我这里有分门别类几万份研报,还会实时更新

我会区分难度,精选之后发给你。

可以私我,交流量化投资相关问题,我比较忙,回复的比较慢,但是看到的都会回复。

聊的开心,聊得有缘,很多量化的数据、资料都是可以送给你的。

也可以翻翻我朋友圈的内容,很多量化干货。一些不会公开发的内容,都会在朋友圈说。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值