使用Python绘制CPI和PPI曲线

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

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

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

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

import akshare as ak
import matplotlib.pyplot as plt

x = []
y = []
z = []
plt.figure(figsize=(10, 5))

# 获取CPI数据
macro_china_cpi_monthly_df = ak.macro_china_cpi_monthly()

# 获取PPI数据
macro_china_ppi_yearly_df = ak.macro_china_ppi_yearly()

for i in range(0, macro_china_cpi_monthly_df.size):
    val = macro_china_cpi_monthly_df[i]
    year = macro_china_cpi_monthly_df.axes[0][i].year
    month = macro_china_cpi_monthly_df.axes[0][i].month
    day = macro_china_cpi_monthly_df.axes[0][i].day
    date = str(year) + '-' + str(month) + '-' + str(day)
    if year < 2015:
        continue
    x.append(date)
    y.append(val)

for i in range(0, macro_china_ppi_yearly_df.size):
    val = macro_china_ppi_yearly_df[i]
    year = macro_china_ppi_yearly_df.axes[0][i].year
    month = macro_china_ppi_yearly_df.axes[0][i].month
    day = macro_china_ppi_yearly_df.axes[0][i].day
    date = str(year) + '-' + str(month) + '-' + str(day)
    if year < 2015:
        continue
    #x.append(date)
    z.append(val)

# https://data.eastmoney.com/cjsj/cpi.html
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,
     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,
     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,
     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,
     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]

plt.plot(x, Y, label='CPI')
plt.plot(x, z, label='PPI')
plt.legend(loc=0, ncol=2)
plt.grid()
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至今的月线来看更加合适。

使用Python绘制CPI和PPI曲线_第1张图片

使用Python绘制CPI和PPI曲线_第2张图片

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

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

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

你可能感兴趣的:(韭菜历险记,python,开发语言)