pe估值 python_Python编程学习笔记(7)

欢迎关注我的公众号【小散逆袭大本营】

学到目前这个程度,我们已经可以画出个股的PE和PB曲线图了。但是我们知道,对于个股来说,PE或者PB的参考价值很有限,不同类型企业,其PE的市场认可程度是不同。我们几乎不可能通过仅仅判断个股的PE和PB来做出一个像样的量化交易策略。

不过对于指数而言,特别是宽基指数(沪深300之类的),其历史PE和PB值的参考价值就非常大了。我在《小散逆袭手把手教你做量化定投》这本书中已经做了示范,指数的PB可以说是一把不错的衡量该指数估值高低的尺子。

那么我们下面就在聚宽中,用python来做出一个指数的PE走势图吧。

小目标三:

计算出上证50指数过去10年每天的PE数值,并画出走势图。

拿到问题后,首先需要思考解决问题的思路。有一点可以明确,聚宽中并没有提供指数的PE数据获取函数,我们只能自己计算。那么先从简单的情况入手,怎么计算出一天的上证50指数PE数值呢?

我们先得知道,指数的PE数值是怎么计算的。严格来说,应该参照中证网的计算规则进行计算,但是分类靠档的计算很复杂,所以目前比较通用的近似计算公式就是PE = 成份股市值之和÷成份股净利润之和。比如我要计算9月10日上证50的PE,就得知道当天上证50指数的成份股有哪些,然后计算出这些成份股的总市值之和,再算出成份股的净利润之和,二者一除就是当天的指数PE了。

获取某个指数成份股,聚宽已经提供了函数,如下

a8012d0157c47636fafe0df2f8bfd3e5.png

这个函数的使用很简单,大家自己练习一下就清楚了。

成份股有了,下面就需要得到每个成份股的总市值和净利润了。这里有个问题需要说明一下。市盈率有两种,一种叫静态市盈率,一种叫滚动市盈率。静态市盈率=当前股价÷上一财年的每股收益。滚动市盈率=当前股价÷过去四个季度每股收益。显然,滚动收益率更能有效的反应股票当前的PE水平。所以,一般情况下,我们都默认市盈率为滚动市盈率(PE(TTM))。

在聚宽的财务函数中没有直接能获取过去四个季度净利润的函数,但是可以获取个股的PE(TTM)和总市值,那么通过这两个数据可以计算出过去四个季度的净利润。

这样,计算指数某天的PE数值具体实现如下

819abb5b486239f0b86f94e912728dce.png

为了后面计算方便,我把这个功能定义为一个函数,指数代码和日期都是参数。(这里我要感谢一位群友(ID:I20181129),他给了我一段代码,我稍加修改就成了上面这个代码。他的这个代码比我之前自己弄的效率高出很多很多,大大缩减了计算时间。)我试验了一下上证50指数9月10日的PE数值,计算出的结果和雪球网公布的是一样的。

好了,今天就写到这里。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值