专栏首页钱塘小甲子的博客宏观经济指标分析与数据可视化——PMI

宏观经济指标分析与数据可视化——PMI

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qtlyx/article/details/102903912

PMI是一个很有意思的东西,一般都会认为PMI是一个领先指标。PMI中文名叫做采购经理人指数,听起来有点不知所云,说白了就是一个问卷调查。

1、PMI是怎么来的?

我们来假设一个场景。话说在小天才幼儿园里面,老师很关心小朋友的开心程度,于是每个月快到月底的时候都会让小朋友填一个问卷,问卷内容很简单,就是一个判断题:

你这个月比上个月开心吗?请选择开心、不开心、一样开心。

然后每个小朋友都会回答。假设我们班里面有100个小朋友,其中40个小朋友回答是开心;10个小朋友回答不开心;50个小朋友回答一样开心。

于是,我们就可以计算一个扩散指数:40除以100 * 1 + 50 除以100 * 0.5,最后等于0.65,也就是说,开心的扩散指数是65,也就是,目前这个班的孩子还会继续开心。

PMI就是一种扩散指数。所谓的扩散指数就是通过上面这样的问卷调查表,最后进行正反面和持平反馈的统计的出来的。PMI的问卷问的当然不会是你开不开心啦,毕竟开心不开心和经济发展其实没有那么大的关系,这也是很悲哀的一点。

统计局会向他需要调查的企业,一般是国企,发一张问卷调查表,问一下各方面和上个月相比怎么样,包括这个月生产情况怎么样啊,和上个月相比是造的多了还是少了?新的订单是多了还是少了?仓库里面的原材料呢?等等等等,每一种类型的问题形成了一个PMI,每一个PMI都是一个问卷调查之后计算的扩散指数。

而把这些分项加权组合起来就是某一个整体的PMI了。

所谓的某一个整体,言下之意就是不止一个整体。对应的,我们有两个PMI,制造业PMI和服务业PMI。我们知道,制造业和服务业是最重要的两个产业,而这两个产业的根本逻辑是不一样的,所以对制造业和服务业的问卷调查设计的也是不一样的。

我们先来看一下制造业PMI:

图片来源:联讯证券

虽然制造业PMI的问卷调查有这么多项目,但是最后在加权的时候其实只使用了蓝色虚线框圈起来的四个。

制造业PMI=新订单指数×30%+生产指数×25%+从业人员指数×20%+(100-供应商配送时间指数) ×15%+主要原材料库存×10%

有的同学就问了,那剩下那些干嘛,也不参加制造业PMI的计算。不参加就不参加喽,单独看看就可以了呀。

非制造业PMI也是一样 蓝色框框中的一项就构成了非制造业pmi

图片来源:联讯证券

到这里 我就知道pmi是怎么来的了。首先假设经济没有变好也没有变坏 那么 pmi是多少呢?很显然 就是大家都说这个月和上个月一样 所以pmi就是50。

当然啦,肯定不会大家那么一致,所以有一半的人说好,有一半的人说坏的时候,pmi也是50 神奇吧。这就是为什么我们说pmi等于50是经济的荣枯线,大于50说明经济在扩张,小于50说明经济在衰退。同时 pmi的绝对数值变化还可以来判断扩张是在加速还是在减缓、判断经济有没有处于过热的状态。

2、PMI的分析框架

PMI是一个很好的经济指标,因为她在每个月月底就公布当月的,时效性上很高。而由于我国是一个制造业大国,所以制造业PMI对整个经济体具有更加重要的指导意义。而制造业PMI可以分成下面这样的几个方面:

既然这样,那么我们就可以从上面这四个方面来考察PMI这个指标了。

3、PMI的可视化

PMI直觉上是一个环比指标,虽然统计局说他公布的是一个季调之后的数据,但是看起来季节性依然很强,所以比较前一个月之外,我们还会进行同比的比较。

我们先来看一下我们的原始数据:

对于这样多方面的比较,最合适的就是雷达图了。

代码大概张这样,用的是pyecharts:

from pyecharts import options as opts
from pyecharts.charts import Radar


y2016 = [[49.27,51.10,47.50, 59.05 ]]
y2017 = [[49.53 ,51.48 ,47.35 ,59.30 ]]
y2018 = [[47.33 ,49.68 ,47.15 ,55.00 ]]
y2019 = [[47.17 ,48.70 ,47.05 ,49.20 ]]



def radar_base():
    c = (
        Radar()
        .add_schema(
            schema=[
                opts.RadarIndicatorItem(name="需求", max_=60,min_=40),
                opts.RadarIndicatorItem(name="供给", max_=60, min_ = 40),
                opts.RadarIndicatorItem(name="库存", max_=60, min_ = 40),
                opts.RadarIndicatorItem(name="价格", max_=60, min_ = 40),

            ]
        )
        .add("2016", y2016, color="#f9713c")
        .add("2017",y2017,color="#b3e4a1")
        .add("2018",y2018, color="#f3e4a1")
        .add("2019",y2019, color="#03e4a1")
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(title_opts=opts.TitleOpts(title="PMI"))
    )
    return c
radar_base().render(path='PMI-雷达图.html')

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 多因子模型之组合构建与优化器(上)

            根据多因子模型,或者说alpha策略的开发顺序,我们应当是按照:因子--》alpha 模型--》风险模型--》组合构建 这样几个模块来的。今天...

    钱塘小甲子
  • Excel ActiveX教程(一)

            VBA真的是一个很强大的东西,当人家手工黏贴的时候,你只要编好代码,然后一劳永逸。不过最近发现ActiveX用起来好像更加方便的样子,特别是对于...

    钱塘小甲子
  • 时间序列分析这件小事(一)--基本概念与R-studio入门

    数据处理,python其实比R有很多优势,但是,单纯的做一些实验和研究,其实R更加合适,特别是时间序列分析,R的包很完备。

    钱塘小甲子
  • 打卡群刷题总结0707——旋转图像

    链接:https://leetcode-cn.com/problems/rotate-image

    木又AI帮
  • LeetCode 48. 旋转图像

    你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。

    freesan44
  • AI时代就业指南:商业分析师的前世今生

    大数据时代,诞生了很多新兴岗位和就业机会。商业分析、数据分析、数据挖掘、数据科学.....一时间把大家弄得云里雾里,傻傻分不清的情况下干脆把这些人都叫“搞大数据...

    小莹莹
  • 如何有效使用Mysql的Query Cache

    须要根据Query Cache失效机制来判断哪些表适合使用Query哪些表不适合。 由于Query Cache的失效主要是因为Query所依赖的Table数据发...

    dys
  • 性能分析之又见jbd2引起IO高

    之前遇到过jbd2引起IO高的问题,直接关掉了日志的功能解决的。写了一个文章,但写的不够细。最近又见类似问题,这里重新整理下对jbd2的内容。

    高楼Zee
  • .Net微服务实践(三):Ocelot配置路由和请求聚合

    在上篇.Net微服务实践(二):Ocelot介绍和快速开始中我们介绍了Ocelot,创建了一个Ocelot Hello World程序,接下来,我们会介绍Ocl...

    我思故我在
  • openssl编程入门(含完整可编译和运行示例)

    第一次跑起openssl示例并不太简单,本文的目的是为了让这个过程变得非常简单。在开始之前,要非常感谢周立发同学,正是通过他共享的示例,较轻松的入了门。

    一见

扫码关注云+社区

领取腾讯云代金券