• 使用Python绘制CPI和PPI曲线


    CPIPPI是一组联系比较紧密的经济学名词。

    CPI全称Consumer Price Index,消费者物价指数,是老百姓衣食住行的物价指数。如果这个指数一直涨,说明消费者口袋的钱越来越不值钱。

    PPI全称Producer Price Index,生产者物价指数,是企业产品出厂价格指数。如果这个指数一直涨,说明企业生产成本来越来高。

    老规矩,使用akshare库,代码如下:

    1. import akshare as ak
    2. import matplotlib.pyplot as plt
    3. x = []
    4. y = []
    5. z = []
    6. plt.figure(figsize=(10, 5))
    7. # 获取CPI数据
    8. macro_china_cpi_monthly_df = ak.macro_china_cpi_monthly()
    9. # 获取PPI数据
    10. macro_china_ppi_yearly_df = ak.macro_china_ppi_yearly()
    11. for i in range(0, macro_china_cpi_monthly_df.size):
    12. val = macro_china_cpi_monthly_df[i]
    13. year = macro_china_cpi_monthly_df.axes[0][i].year
    14. month = macro_china_cpi_monthly_df.axes[0][i].month
    15. day = macro_china_cpi_monthly_df.axes[0][i].day
    16. date = str(year) + '-' + str(month) + '-' + str(day)
    17. if year < 2015:
    18. continue
    19. x.append(date)
    20. y.append(val)
    21. for i in range(0, macro_china_ppi_yearly_df.size):
    22. val = macro_china_ppi_yearly_df[i]
    23. year = macro_china_ppi_yearly_df.axes[0][i].year
    24. month = macro_china_ppi_yearly_df.axes[0][i].month
    25. day = macro_china_ppi_yearly_df.axes[0][i].day
    26. date = str(year) + '-' + str(month) + '-' + str(day)
    27. if year < 2015:
    28. continue
    29. #x.append(date)
    30. z.append(val)
    31. # https://data.eastmoney.com/cjsj/cpi.html
    32. Y = [1.5,0.8,1.4,1.4,1.5,1.2,1.4,1.6,2.0,1.6,1.3,1.5,
    33. 1.6,1.8,2.3,2.3,2.3,2.0,1.9,1.8,1.3,1.9,2.1,2.3,2.1,2.5,0.8,0.9,1.2,1.5,1.5,1.4,
    34. 1.8,1.6,1.9,1.7,1.8,1.5,2.9,2.1,1.8,1.8,1.9,2.1,2.3,2.5,2.5,2.2,1.9,1.7,1.5,2.3,
    35. 2.5,2.7,2.7,2.8,2.8,3.0,3.8,4.5,4.5,5.4,5.2,4.3,3.3,2.4,2.5,2.7,2.4,1.7,0.5,-0.5,
    36. 0.2,-0.3,-0.2,0.4,0.9,1.3,1.1,1.0,0.8,0.7,1.5,2.3,1.5,0.9,0.9,1.5,2.1,2.1,2.5,2.7]
    37. plt.plot(x, Y, label='CPI')
    38. plt.plot(x, z, label='PPI')
    39. plt.legend(loc=0, ncol=2)
    40. plt.grid()
    41. plt.show()

    代码里面有一些问题需要注意:

    1、ak.macro_china_ppi_yearly()获得的不是年利率,而是月利率。

    2、ak.macro_china_cpi_monthly()和ak.macro_china_ppi_yearly()在199几年的日期不统一,所以只用了2015年之后的数据。

    3、ak.macro_china_cpi_monthly()获取到的数据是CPI的环比增长,ak.macro_china_ppi_yearly()获取到的是PPI的同比增长,为了统一一下,手动输入了CPI的同比增长的数据。

    代码运行结果如下,参照上证2015至今的月线来看更加合适。

    CPI和PPI的三个交点,对应上证指数的三个红色框区域。感觉时间还可以往前画一些,7年的数据好像还是太少。不过如果大趋势相似的话,我们可以猜想:PPI比CPI高的时候,市场走势会不太好,宏观来说是这样。

    引用一本书的话:“PPI跑赢CPI,说明生产者的成本增加速度明显超过了终端消费品的提价速度,这会给企业经营带来巨大的经营压力。”

    (后天出差了,老天保佑顺利!!!)

  • 相关阅读:
    Docker 入门到实战教程(一)介绍Docker
    【Linux】3.切换操作系统
    机器学习之IV编码,分箱&WOE编码
    Ubuntu18.04安装ROS系统+turtle测试
    30 个数据工程必备的Python 包
    C# 实现刘谦春晚魔术
    Java:异常
    SpringCloud 三种服务调用方式,你学会了吗?
    字符串:比较、拼接、切割、转义字符;相关切割、替换、查找、去除空白、转大小写函数的方法
    Level-based Foraging 多智能体游戏仿真环境
  • 原文地址:https://blog.csdn.net/XLcaoyi/article/details/126324032