1. 课程导入

欢迎进入《宏观经济多步预测与情景建模实战》。在开始动手之前,我们需要先建立一张清晰的“认知地图”:这门课究竟要解决什么问题、用到哪些核心概念、整体框架如何搭建、以及从数据到决策的实战路线怎么走。本章不涉及复杂建模,而是帮助你把后续30章的知识点串成一条可执行的主线。

一、学习目标:从“看懂宏观”到“推演未来”

宏观经济分析常被误解为“解读新闻”。但真正的多步预测与情景建模,目标不是复述过去,而是在不确定性中给出可比较、可追溯、可更新的未来路径。学完本课程,你应当能够独立完成以下任务:

  • 目标1:构建多步预测思维。理解单期预测与多步预测的本质差异,掌握递归预测、直接预测与路径依赖的基本逻辑。
  • 目标2:掌握核心宏观变量体系。熟悉GDP、CPI、PPI、M2、社融、利率、汇率、失业率等指标的经济含义、发布节奏与相互传导关系。
  • 目标3:搭建情景建模框架。能够把“基准情景—乐观情景—悲观情景”转化为可计算的参数假设,并输出多步路径。
  • 目标4:完成端到端实战。从数据获取、清洗、特征工程、模型选择、滚动回测到情景推演与报告输出,形成完整闭环。
  • 目标5:识别并规避常见误区。包括数据窥探、过度拟合、忽略结构断点、混淆相关与因果等。
提示:本课程强调“可复现”。每一章的代码、参数与数据口径都会尽量保留,方便你在自己的环境中重跑并替换为最新数据。

二、核心概念:多步预测与情景建模的四个关键词

在进入框架之前,先锁定四个高频概念。它们会在后续章节反复出现,也是理解全课的基础。

核心概念 含义 在本课程中的典型应用
多步预测(Multi-step Forecasting) 一次性或递归地预测未来多个时间点,而非仅预测下一期 预测未来8个季度的GDP增速路径
情景建模(Scenario Modeling) 在不同外生假设下生成多条未来路径,用于比较与决策 油价上涨、政策收紧、出口下滑三种情景下的通胀路径
传导机制(Transmission Mechanism) 变量之间的因果与滞后关系,决定冲击如何扩散 利率→投资→就业→消费→通胀的链条
滚动回测(Rolling Backtest) 用历史数据模拟“当时可得到的信息”下的预测表现 评估模型在2015—2024年间的多步预测误差

这四个概念构成一个闭环:多步预测是任务,传导机制是逻辑,情景建模是扩展,滚动回测是检验。缺少任何一环,预测都容易沦为“拍脑袋”。

三、整体框架:从数据到决策的五层结构

本课程的整体框架可以概括为五层:数据层、特征层、模型层、情景层与决策层。它们不是简单的线性流程,而是带有反馈回路的迭代系统。下图展示了这一结构及其关键输入输出关系。

宏观经济多步预测与情景建模五层框架 数据层 GDP/CPI/M2/利率 特征层 滞后/差分/同比 模型层 ARIMA/VAR/ML 情景层 基准/乐观/悲观 决策层 路径比较与报告 反馈迭代 关键支撑机制 滚动回测 结构断点检验 误差分解 参数敏感性 数据层→特征层→模型层→情景层→决策层,并通过回测与检验形成闭环

需要强调的是,五层框架并非一次性瀑布流程。决策层的反馈会反向影响特征选择与模型设定,而滚动回测则贯穿始终。后续章节会逐层展开,并在第25章之后进入综合实战。

四、实战路线图:30章如何一步步走完

为了让你对学习节奏有预期,这里给出一个简化的路线图。课程整体分为四个阶段:

  1. 基础阶段(第1—6章):建立宏观变量体系、数据获取与清洗、描述性分析与可视化。
  2. 建模阶段(第7—16章):从单变量ARIMA到多变量VAR、状态空间模型、机器学习与混合模型。
  3. 情景阶段(第17—24章):情景设定、冲击传导、参数校准、多路径生成与比较。
  4. 实战阶段(第25—30章):端到端案例、滚动回测、报告输出与常见误区复盘。
实战路线图的核心原则:每一章都产出一个可复用的模块。第3章的数据管道、第9章的VAR模板、第18章的情景参数表,最终会在第28章的综合案例中被组装成一个完整系统。

五、案例场景与常见误区

假设你在一家研究机构,需要预测未来8个季度的CPI与GDP增速,并给出三种情景。一个典型的错误做法是:直接用历史平均增速外推,或者只跑一个ARIMA模型就下结论。更合理的做法是:先明确传导链条(如M2领先CPI约2—4个季度),再设定外生情景(如油价、汇率、财政力度),最后用多模型集成输出路径区间。

三个高频误区:
  • 误区一:用未来信息回测。在滚动回测中使用了当时尚未发布的数据,导致误差被严重低估。
  • 误区二:把情景当预测。情景不是概率预测,而是“如果……那么……”的条件推演,必须明确假设边界。
  • 误区三:忽略结构断点。疫情、政策转向、外部冲击都会改变参数关系,需定期检验并更新模型。

为了帮助你建立可复现的工作习惯,下面给出一个最小化的环境配置示例。后续章节的代码将默认在此基础上运行。

# 建议环境(Python 3.10+)
pip install pandas numpy statsmodels scikit-learn matplotlib seaborn
pip install pmdarima arch linearmodels

# 数据目录约定
# data/raw/        原始数据
# data/processed/  清洗后数据
# outputs/figures/ 图表输出
# outputs/reports/ 情景报告