预测股市?echart折线图展示CPI,PPI剪刀差和股市的关系

本文通过CPI、PPI与上证指数的对比,探讨二者与股市关联性,并揭示2018年猪周期及2022年通缩期间股市走势。分析显示,尽管CPI与PPI对股市有一定影响,但股市复杂因素众多,不能单纯依赖这两者预测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CPI:消费者物价指数,代表群众购买物品的价格的增长率。我们可以很暴力的认为CPI就是公司的物品售价增长率。

PPI:工业生产者出产价格指数,顾名思义是公司生产物品的成本价的增长率。

如果我们用CPI-PPI,那么我们可以粗略的的估算出公司的利润。我们将CPI,PPI和上证指数用echart在一张图上来展示出来,来看看利润的高低是不是与股市的涨跌正相关呢?

 我们来进入代码环节:

        创建index.html,为echart图表创建容器,加载echarts模块,和我们的代码index.js:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="./echarts.js"></script>
    <script src="./index.js" defer></script>
    <title>Document</title>
</head>
<body>
    <div id="echartPlot" style="width: 50%; height:500px"></div>
</body>
</html>

        在index.js中初始化echart,和CPI,PPI,股市数据:

let echart = echarts.init(document.getElementById("echartPlot"),"purple-passion");

let cpidataSource = {"data":[{"dateTime":"2016年1月","values":["1.8"]},{"dateTime":"2016年2月","values":["2.3"]},{"dateTime":"2016年3月","values":["2.3"]},{"dateTime":"2016年4月","values":["2.3"]},{"dateTime":"2016年5月","values":["2.0"]},{"dateTime":"2016年6月","values":["1.9","1.9","1.9"]},{"dateTime":"2016年7月","values":["1.8","1.8","1.5"]},{"dateTime":"2016年8月","values":["1.3","1.4","1.0"]},{"dateTime":"2016年9月","values":["1.9"]},{"dateTime":"2016年10月","values":["2.1"]},{"dateTime":"2016年11月","values":["2.3"]},{"dateTime":"2016年12月","values":["2.1","2.1","1.9"]},{"dateTime":"2017年1月","values":["2.5","2.6","2.2"]},{"dateTime":"2017年2月","values":["0.8","0.9","0.6"]},{"dateTime":"2017年3月","values":["0.9","1.0","0.6"]},{"dateTime":"2017年4月","values":["1.2","1.3","0.8"]},{"dateTime":"2017年5月","values":["1.5","1.7","1.1"]},{"dateTime":"2017年6月","values":["1.5","1.7","1.0"]},{"dateTime":"2017年7月","values":["1.4","1.5","1.0"]},{"dateTime":"2017年8月","values":["1.8","1.9","1.5"]},{"dateTime":"2017年9月","values":["1.6","1.7","1.4"]},{"dateTime":"2017年10月","values":["1.9","1.9","1.7"]},{"dateTime":"2017年11月","values":["1.7","1.8","1.5"]},{"dateTime":"2017年12月","values":["1.8","1.9","1.7"]},{"dateTime":"2018年1月","values":["1.5","1.5","1.5"]},{"dateTime":"2018年2月","values":["2.9","3.0","2.7"]},{"dateTime":"2018年3月","values":["2.1","2.1","1.9"]},{"dateTime":"2018年4月","values":["1.8","1.8","1.7"]},{"dateTime":"2018年5月","values":["1.8","1.8","1.7"]},{"dateTime":"2018年6月","values":["1.9","1.8","1.9"]},{"dateTime":"2018年7月","values":["2.1","2.1","2.0"]},{"dateTime":"2018年8月","values":["2.3","2.3","2.3"]},{"dateTime":"2018年9月","values":["2.5","2.4","2.5"]},{"dateTime":"2018年10月","values":["2.5","2.5","2.6"]},{"dateTime":"2018年11月","values":["2.2","2.2","2.2"]},{"dateTime":"2018年12月","values":["1.9","1.9","1.9"]},{"dateTime":"2019年1月","values":["1.7","1.8","1.7"]},{"dateTime":"2019年2月","values":["1.5","1.5","1.4"]},{"dateTime":"2019年3月","values":["2.3","2.3","2.3"]},{"dateTime":"2019年4月","values":["2.5","2.5","2.6"]},{"dateTime":"2019年5月","values":["2.7","2.7","2.8"]},{"dateTime":"2019年6月","values":["2.7","2.7","2.7"]},{"dateTime":"2019年7月","values":["2.8","2.7","2.9"]},{"dateTime":"2019年8月","values":["2.8","2.8","3.1"]},{"dateTime":"2019年9月","values":["3.0","2.8","3.6"]},{"dateTime":"2019年10月","values":["3.8","3.5","4.6"]},{"dateTime":"2019年11月","values":["4.5","4.2","5.5"]},{"dateTime":"2019年12月","values":["4.5","4.2","5.3"]},{"dateTime":"2020年1月","values":["5.4","5.1","6.3"]},{"dateTime":"2020年2月","values":["5.2","4.8","6.3"]},{"dateTime":"2020年3月","values":["4.3","4.0","5.3"]},{"dateTime":"2020年4月","values":["3.3","3.0","4.0"]},{"dateTime":"2020年5月","values":["2.4","2.3","3.0"]},{"dateTime":"2020年6月","values":["2.5","2.2","3.2"]},{"dateTime":"2020年7月","values":["2.7","2.4","3.7"]},{"dateTime":"2020年8月","values":["2.4","2.1","3.2"]},{"dateTime":"2020年9月","values":["1.7","1.6","2.1"]},{"dateTime":"2020年10月","values":["0.5","0.5","0.4"]},{"dateTime":"2020年11月","values":["-0.5","-0.4","-0.8"]},{"dateTime":"2020年12月","values":["0.2","0.2","0.2"]},{"dateTime":"2021年1月","values":["-0.3","-0.4","-0.1"]},{"dateTime":"2021年2月","values":["-0.2","-0.2","-0.1"]},{"dateTime":"2021年3月","values":["0.4","0.5","0.4"]},{"dateTime":"2021年4月","values":["0.9","1.0","0.7"]},{"dateTime":"2021年5月","values":["1.3","1.4","1.1"]},{"dateTime":"2021年6月","values":["1.1","1.2","0.7"]},{"dateTime":"2021年7月","values":["1.0","1.2","0.4"]},{"dateTime":"2021年8月","values":["0.8","1.0","0.3"]},{"dateTime":"2021年9月","values":["0.7","0.8","0.2"]},{"dateTime":"2021年10月","values":["1.5","1.6","1.2"]},{"dateTime":"2021年11月","values":["2.3","2.4","2.2"]},{"dateTime":"2021年12月","values":["1.5","1.6","1.2"]},{"dateTime":"2022年1月","values":["0.9","1.1","0.4"]},{"dateTime":"2022年2月","values":["0.9","1.0","0.5"]},{"dateTime":"2022年3月","values":["1.5","1.6","1.2"]},{"dateTime":"2022年4月","values":["2.1","2.2","2.0"]},{"dateTime":"2022年5月","values":["2.1","2.1","2.1"]},{"dateTime":"2022年6月","values":["2.5","2.5","2.6"]},{"dateTime":"2022年7月","values":["2.7","2.6","3.0"]},{"dateTime":"2022年8月","values":["2.5","2.4","2.7"]},{"dateTime":"2022年9月","values":["2.8","2.7","3.1"]},{"dateTime":"2022年10月","values":["2.1"]}],"code":200,"msg":"查询成功"};
let ppiDataSource = {"data":[{"dateTime":"2016年1月","values":["-5.3"]},{"dateTime":"2016年2月","values":["-4.9"]},{"dateTime":"2016年3月","values":["-4.3"]},{"dateTime":"2016年4月","values":["-3.4"]},{"dateTime":"2016年5月","values":["-2.8"]},{"dateTime":"2016年6月","values":["-2.6","-3.5","-0.1"]},{"dateTime":"2016年7月","values":["-1.7","-2.3","0.0"]},{"dateTime":"2016年8月","values":["-0.8","-1.0","0.0"]},{"dateTime":"2016年9月","values":["0.1"]},{"dateTime":"2016年10月","values":["1.2"]},{"dateTime":"2016年11月","values":["3.3","4.3","0.4"]},{"dateTime":"2016年12月","values":["5.5","7.2","0.8"]},{"dateTime":"2017年1月","values":["6.9","9.1","0.8"]},{"dateTime":"2017年2月","values":["7.8","10.4","0.8"]},{"dateTime":"2017年3月","values":["7.6","10.1","0.7"]},{"dateTime":"2017年4月","values":["6.4","8.4","0.7"]},{"dateTime":"2017年5月","values":["5.5","7.3","0.6"]},{"dateTime":"2017年6月","values":["5.5","7.3","0.5"]},{"dateTime":"2017年7月","values":["5.5","7.3","0.5"]},{"dateTime":"2017年8月","values":["6.3","8.3","0.6"]},{"dateTime":"2017年9月","values":["6.9","9.1","0.7"]},{"dateTime":"2017年10月","values":["6.9","9.0","0.8"]},{"dateTime":"2017年11月","values":["5.8","7.5","0.6"]},{"dateTime":"2017年12月","values":["4.9","6.4","0.5"]},{"dateTime":"2018年1月","values":["4.3","5.7","0.3"]},{"dateTime":"2018年2月","values":["3.7","4.8","0.3"]},{"dateTime":"2018年3月","values":["3.1","4.1","0.2"]},{"dateTime":"2018年4月","values":["3.4","4.5","0.1"]},{"dateTime":"2018年5月","values":["4.1","5.4","0.3"]},{"dateTime":"2018年6月","values":["4.7","6.1","0.4"]},{"dateTime":"2018年7月","values":["4.6","6.0","0.6"]},{"dateTime":"2018年8月","values":["4.1","5.2","0.7"]},{"dateTime":"2018年9月","values":["3.6","4.6","0.8"]},{"dateTime":"2018年10月","values":["3.3","4.2","0.7"]},{"dateTime":"2018年11月","values":["2.7","3.3","0.8"]},{"dateTime":"2018年12月","values":["0.9","1.0","0.7"]},{"dateTime":"2019年1月","values":["0.1","-0.1","0.6"]},{"dateTime":"2019年2月","values":["0.1","-0.1","0.4"]},{"dateTime":"2019年3月","values":["0.4","0.3","0.5"]},{"dateTime":"2019年4月","values":["0.9","0.9","0.9"]},{"dateTime":"2019年5月","values":["0.6","0.6","0.9"]},{"dateTime":"2019年6月","values":["0.0","-0.3","0.9"]},{"dateTime":"2019年7月","values":["-0.3","-0.7","0.8"]},{"dateTime":"2019年8月","values":["-0.8","-1.3","0.7"]},{"dateTime":"2019年9月","values":["-1.2","-2.0","1.1"]},{"dateTime":"2019年10月","values":["-1.6","-2.6","1.4"]},{"dateTime":"2019年11月","values":["-1.4","-2.5","1.6"]},{"dateTime":"2019年12月","values":["-0.5","-1.2","1.3"]},{"dateTime":"2020年1月","values":["0.1","-0.4","1.3"]},{"dateTime":"2020年2月","values":["-0.4","-1.0","1.4"]},{"dateTime":"2020年3月","values":["-1.5","-2.4","1.2"]},{"dateTime":"2020年4月","values":["-3.1","-4.5","0.9"]},{"dateTime":"2020年5月","values":["-3.7","-5.1","0.5"]},{"dateTime":"2020年6月","values":["-3.0","-4.2","0.6"]},{"dateTime":"2020年7月","values":["-2.4","-3.5","0.7"]},{"dateTime":"2020年8月","values":["-2.0","-3.0","0.6"]},{"dateTime":"2020年9月","values":["-2.1","-2.8","-0.1"]},{"dateTime":"2020年10月","values":["-2.1","-2.7","-0.5"]},{"dateTime":"2020年11月","values":["-1.5","-1.8","-0.8"]},{"dateTime":"2020年12月","values":["-0.4","-0.5","-0.4"]},{"dateTime":"2021年1月","values":["0.3","0.5","-0.2"]},{"dateTime":"2021年2月","values":["1.7","2.3","-0.2"]},{"dateTime":"2021年3月","values":["4.4","5.8","0.1"]},{"dateTime":"2021年4月","values":["6.8","9.1","0.3"]},{"dateTime":"2021年5月","values":["9.0","12.0","0.5"]},{"dateTime":"2021年6月","values":["8.8","11.8","0.3"]},{"dateTime":"2021年7月","values":["9.0","12.0","0.3"]},{"dateTime":"2021年8月","values":["9.5","12.7","0.3"]},{"dateTime":"2021年9月","values":["10.7","14.2","0.4"]},{"dateTime":"2021年10月","values":["13.5","17.9","0.6"]},{"dateTime":"2021年11月","values":["12.9","17.0","1.0"]},{"dateTime":"2021年12月","values":["10.3","13.4","1.0"]},{"dateTime":"2022年1月","values":["9.1","11.8","0.8"]},{"dateTime":"2022年2月","values":["8.8","11.4","0.9"]},{"dateTime":"2022年3月","values":["8.3","10.7","0.9"]},{"dateTime":"2022年4月","values":["8.0","10.3","1.0"]},{"dateTime":"2022年5月","values":["6.4","8.1","1.2"]},{"dateTime":"2022年6月","values":["6.1","7.5","1.7"]},{"dateTime":"2022年7月","values":["4.2","5.0","1.7"]},{"dateTime":"2022年8月","values":["2.3","2.4","1.6"]},{"dateTime":"2022年9月","values":["0.9","0.6","1.8"]},{"dateTime":"2022年10月","values":["-1.3"]}],"code":200,"msg":"查询成功"};
let stock = [2737.6,2687.98,3003.92,2938.32,2916.62,2929.61,2979.34,3085.49,3004.70,3100.49,3250.03,3103.64,3159.17,3241.73,3221.63,3154.66,3117.18,3192.43,3273.03,3360.81,3348.94,3393.34,3317.19,3307.17,3480.83,3259.41,3168.90,3082.23,3095.47,2847.42,2876.40,2725.25,2821.35,2602.78,2588.19,2493.90,2584.57,2940.95,3090.76,3078.34,2898.70,2978.88,2932.51,2886.24,2905.19,2929.06,2871.98,3050.12,2976.53,2880.30,2750.30,2860.08,2852.35,2984.67,3310.01,3395.68,3218.05,3224.53,3391.76,3473.07,3483.07,3509.08,3441.91,3446.86,3615.48,3591.20,3397.36,3543.94,3568.17,3547.34,3563.89,3639.78,3361.44,3462.31,3252.20,3047.06,3186.43,3398.62,3253.24,3202.14,3024.39,2893.48];

        做一些数据提取,把时间段,CPI,PPI提取出来,股市数据做等比减少,尽量让指数和CPI,PPI在同一量级上:

let dateSource = [];
let cpiSource = [];
let ppiSource = [];
let calStock=[];

for(let i = 0; i < dataSource.data.length; i++){
    dateSource.push(dataSource.data[i].dateTime);
    cpiSource.push(cpidataSource.data[i].values[0]);
    ppiSource.push(ppiDataSource.data[i].values[0]);
    calStock.push(stock[i]/150);
}

        配置echartOption:

let echartOption = {
    title:{
        text:"CPI PPI 剪刀差"
    },
    legend: {
        data: ["CPI","PPI"]
    },
    tooltip: {
        trigger: 'axis'
      },
    xAxis: {
        type: 'category',
        data: [...dateSource]
      },
    yAxis: {
    type: 'value',
    name: '同比增长百分比'
    },
    series:[
        {
            name: "消费者物价指数 CPI",
            type: "line",
            stack:"total",
            data : [...cpiSource],
            markArea: { //把CPI大于PPI的部分做标记,这部分可以用代码动态生成,我这里偷懒hardcode了
                itemStyle: {
                  color: 'rgba(255, 173, 177, 0.4)'
                },
                data:[
                    [
                        {
                          name: 'CPI-PPI >0',
                          xAxis: "2016年1月"
                        },
                        {
                          xAxis: "2016年10月"
                        }
                    ],
                    [
                        {
                          name: 'CPI-PPI >0',
                          xAxis: "2018年11月"
                        },
                        {
                          xAxis: "2020年12月"
                        }
                    ],
                    [
                        {
                          name: 'CPI-PPI >0',
                          xAxis: "2022年8月"
                        },
                        {
                          xAxis: "2022年10月"
                        }
                    ],
                ]
            }
        },
        {
            name: "工业生产者出厂价格指数 PPI",
            type: "line",
            data : [...ppiSource]
        },
        {
            name: "上证指数走势图",
            type: "line",
            data : [...calStock]
        }
    ]
};

echart.setOption(echartOption);

就此代码就完成了,我们来看看效果:

上图蓝色折线为CPI,绿色为PPI,黄色线代表的是上证指数。 

红色光柱的时间里,我们国家的CPI是大于PPI的,上证指数在红色光柱里大致是上升的,比如2018年11,我们的CPI和PPI正式重合,之后CPI慢慢与PPI拉开距离,所以股市有一段上扬,但2018,2019是典型的猪周期,猪肉价格暴涨,我们的CPI里猪肉又占很大的比重,所有CPI的大涨很大原因是猪肉,我们看到PPI又不断下降,说明公司并没有因为物价的大涨而想要多生产物品从而引起原材料的上涨,也就导致这段的股市涨的并不明显。显然影响股市的原因太多,CPI,PPI虽然重要但并不能只依赖他们。所以股市不可预测!

现在我们看到今年八月开始,PPI巨幅下滑,但CPI也在下滑,说明大家不买东西,物价上不去,公司看到大家都不买东西,再加上疫情更不敢扩大生产,也就看到了CPI,PPI,股市一起下滑的奇观,这应该就是传说中的通缩了。随着疫情的解封,CPI的上扬应该不远了。当我们的CPI开始上扬,PPI也开始随着CPI上扬(公司们看到大家都来买东西了,物价涨了,那肯定疯狂的扩建,多生产东西,期望更多的收益,新一轮的扩张周期也就来了),我相信股市会给我们惊喜的。

我们一起关注这张表吧,也许是明年,也许是后年,我们要坚信韭菜也有春天~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

go_with_dream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值