引言:
邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投Z,了解行业研究方向
这是邢不行第85期量化小课堂分享
只要你接触过股票市场一段时间,肯定会在行情软件最显眼的地方看过市盈率这个指标。
各种财经大V、各类财经新闻也时有提及。
很多投资大师更是偏爱用市盈率来选股。比如西格尔在《投资者的未来》中推崇的低市盈率策略,施洛斯提倡的捡烟蒂式投资(低估值策略)等等。
市盈率这个指标为何能够备受各路大师的推崇bsp;
下面我们就会给大家详细讲解什么是市盈率,并用07年至今的全部相关A股数据来验证,买低估值股票,最终到底是赚是赔。
01 市盈率简介
1 市盈率指标
首先我们来简单介绍一下什么是市盈率。
市盈率简称PE,是最常用的对股票进行估值的指标。
这个指标便于计算,用股票总市值除以最近四个季度的净利润即可。
比如在2021年12月1日,茅台市值2.43万亿, 它最近四个季度(20年Q4—21年Q3)的净利润总和是504亿。
用市值除以净利润,就能得到茅台的市盈率是48倍。
了解了什么是市盈率,我们再来看为何大师们会偏好低市盈率的股票。
2 低市盈率理论
上学的时候,老师也说公司的市盈率越低越好。因为理论上讲,公司的市盈率越低,你买下它花的钱相对越少。也就是它的估值越便宜,未来股价上涨的概率越大。
市盈率高的公司则相反。比如某公司市盈率是100,净利润是1亿,我们就需要用100亿才能买下它。
如果这家公司之后每年净利润仍是1亿,那么我们要100年才能回本,这个投资回 率显然很低。
当然以上仅仅是从理论出发,是那些可能从未投资实战过的大学老师教我们的,实际又会如何呢p>
买入低市盈率的公司,真的大概率会上涨吗strong>
下面我们让一切用数据说话。
02 数据获取
1 数据获取
我们首先需要获取每个股票每天的市盈率数据,你可以去新浪财经、东方财富这类 站上抓取,上面的数据较为全面。
但数据纰漏较大,还需要你有一定的爬虫技术。
为此,我提前给大家准备好了所需的数据,它里面包含了每个股票每天的总市值和净利润,两列相除就可以得到相应的市盈率。
如果你需要这个数据的话,可以私我,都是可以免费发给你的。
2 数据处理
需要注意的是,市盈率计算公式在实际应用中会遇到一些问题,特别是当净利润为0时,公式无法成立。
为此,我们使用它的倒数来规避,即1/市盈率,又叫EP。
数据到手后,我们先不买低市盈率的股票,而去买入老师口中需要远离的,也就是高估值、高市盈率、未来低回 的股票。
我们来看看买入之后效果如何p>
03 高估值策略
1 策略构建
我们构建如下量化策略:
在每个月的最后一个交易日,我们计算所有股票的EP,选择EP最小(即市盈率最大)的10只股票,在次月的第一个交易日开盘时均仓买入。
之后无论涨跌如何都持有不动,等到这个月的最后一个交易日收盘时再把股票卖光。
之后继续选择此时EP最小的股票并买入,如此循环往复。
比如在2009年的12月29日,我选出了当天EP最小的10只股票。
那我就在2010年1月的第一个交易日去均仓买入它们,并一直持有到1月31日再卖光。
此时再选出最新的10只股票去买入,每月重复上述操作即可。
2 策略结果
这个策略的收益我并不推荐手工计算。
我们用Python编程及相应的股票数据来得到结果。
如果你对数据和代码感兴趣的话,可以私我,都是可以免费发给你的。
代码运行结果如图所示:
黄色曲线是代表大盘的沪深300指数,它从2010年至今基本没涨,你可以永远相信A股。
蓝色曲线是我们策略的结果,甚至连沪深300指数都没有跑赢,属实拉垮。
如果仔细观察这张图,我们甚至还可以得到几个有趣的结论:
04 低估值策略
既然高市盈率的股票不能买,那我们买入那些低市盈率的股票会如何p>
1 策略构建
我们仍旧执行之前的策略,只不过这次选择EP最大(即市盈率最低)的10只股票,其他条件完全不变。
2 策略结果
我们还是用Python编程及相应的数据来计算。
如果你对数据和代码感兴趣的话,可以私我,都是可以免费发给你的。
代码运行之后,最终结果如图所示:
图中蓝色曲线是我们的策略净值,黄色曲线是沪深300指数。
低市盈率策略的收益确实比沪深300指数好了一点,但并不显著,年化收益只有6.66%,且最大回撤高达57%。
当然,我估计这已经跑赢在座的大多数了,毕竟大部分人炒股都是亏损的。
但这样的策略在量化投资中是不合格的,尤其是最近几年它的表现十分差劲。
那为什么买低市盈率股票的实践结果和理论有那么大的偏差呢p>
05 行业中性策略
1 行业影响
我们看这个策略每个月选出来的10只股票,发现它们都偏向于银行、地产、基建等行业。
这类行业的市盈率都比较低,所以这些行业的股票就很容易被我们选中。因此我们的策略选择是偏颇的。
比如银行业的平均市盈率是8,工行的市盈率低于行业平均,只有7。
假设互联 行业的平均市盈率是20,其中某只股票的市盈率是10。
这只股票和工行的市盈率哪个更低呢p>
绝对值看,工行的市盈率确实更低。
但从相对值来说,这家互联 公司它的市盈率是更低的。
因此我们尝试对之前的策略进行调整。
2 行业中性化
我们把所有股票根据申万一级行业进行分类。
在每个行业中选择EP最大(即市盈率最低)的3只股票。如果有10个行业就会选出30只股票。
其他条件完全不变。
这一步操作在我们专业术语中就是所谓的行业中性化,用来去除行业对市盈率指标的影响。
当然在实际操作当中会用到更专业的数学方法,这里就不多加赘述了。
3 策略结果
我们仍使用Python编程以及相应的数据来得到结果。
如果你对这个数据和代码感兴趣的话,可以私我,都是可以免费发给你的。
代码运行后,最终结果仍是令人失望:
与之前的结果相比有所改善,最大回撤有所减少,但年化收益基本一致。
06 市盈率应用
研究到这里,基本可以宣告通过低市盈率选股的策略长期来看是失败的。这其实也基本上算是业内公认的知识。
但这并不能说明市盈率指标没有用。它单独用的时候是无效的,但和其他财务指标结合起来使用时往往会有奇效。
因为我们可以任意组合众多财务指标,此时市盈率指标就会对整个模型起到巨大的辅助作用。
我建议一些刚入市场的同学,甚至那些在股市混了很久的同学,尽量少花时间在技术指标上,反而可以花更多的时间在财务数据上。
因为相比于技术指标,你通过研究财务数据得到好策略的性价比更高。
如果大家对其他财务指标感兴趣的话可以多多点赞,之后我们就会多讲一些基于财务指标的选股策略。
归根到底一句话,我们用数据说话。
07 后记
文章的最后,和大家分享一点量化投资的心得。
很多人问我小白如何开始学习量化投资,有什么可以书单推荐。
我的建议是千万不要直接找本书来看。
你找本编程书看,那跟着敲完“Hello World”就结束了;你找本数学书看,那看到第七页的公式就睡着了。
更好的学习方式是做实际的项目,在实践中学习量化策略。
研 就是很好的量化实践项目。
在此期间什么不会学什么,哪里不会点哪里,抱着解决问题的心态去学习,事半功倍。
熟读唐诗三百首,不会作诗也会吟。
那么哪里可以获取研 呢p>
你可以私我,我这里有分门别类几万份研 ,还会实时更新。
我会区分难度,精选之后发给你。
可以私我,交流量化投资相关问题,我比较忙,回复的比较慢,但是看到的都会回复。
聊的开心,聊得有缘,很多量化的数据、资料都是可以送给你的。
也可以翻翻我朋友圈的内容,很多量化干货。一些不会公开发的内容,都会在朋友圈说。
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览211494 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!