← 返回主页面 | ARIMA 模型 | TabPFN-X 模型 | 宏观研究

📊 模型数据说明

本文档详细说明 AUTO-ARIMAX 和 TabPFN-X 模型使用的其他特征变量(外生变量)。

🔵 AUTO-ARIMAX 模型外生变量

配置方式

AUTO-ARIMAX 模型根据每个指标的配置文件(config/indicators.yml)中的 exog 字段来选择外生变量。

各指标使用的外生变量

目标指标 外生变量 说明
PCE_Core
(核心PCE物价指数)
Initial_Claims,
Yield_10Y2Y
使用初请失业金和10Y-2Y利差
CPI_Core
(核心CPI)
Initial_Claims,
Yield_10Y2Y
使用初请失业金和10Y-2Y利差
NonFarm_Payrolls
(非农就业人数)
Initial_Claims,
Yield_10Y2Y
使用初请失业金和10Y-2Y利差
Ind_Production
(工业产出)
Yield_10Y2Y 仅使用10Y-2Y利差
Yield_10Y
(10年期国债利率)
不使用外生变量
Yield_2Y
(2年期国债利率)
不使用外生变量
Yield_10Y2Y
(利差)
不使用外生变量
Initial_Claims
(初请失业金)
不使用外生变量(使用ARIMA模型)

外生变量说明

1. Initial_Claims (初请失业金)

2. Yield_10Y2Y (10Y-2Y美债利差)

代码位置:
  • 配置: config/indicators.ymlsrc/macro_config.py
  • 构建函数: src/run_pipeline.py 中的 _build_exog_for_indicator()
  • 使用: src/model_auto_arimax.py 中的 auto_arimax_forecast()

🟢 TabPFN-X 模型外生变量

配置方式

TabPFN-X 模型使用多变量方法,自动使用所有可用的指标作为外生变量(除了目标变量本身)。

可用外生变量列表

TabPFN-X 模型尝试使用以下12个指标作为外生变量:

  1. Initial_Claims (初请失业金)
  2. Yield_10Y2Y (10Y-2Y美债利差)
  3. Yield_10Y (10年期国债利率)
  4. Yield_2Y (2年期国债利率)
  5. PCE_Core (核心PCE物价指数)
  6. CPI_Core (核心CPI)
  7. NonFarm_Payrolls (非农就业人数)
  8. Unemployment_Rate (失业率)
  9. Retail_Sales (零售销售)
  10. Ind_Production (工业产出)
  11. Housing_Starts (新屋开工)
  12. HighYield_Spread (高收益债利差)

各指标实际使用的外生变量

由于 TabPFN-X 会排除目标变量本身,每个指标实际使用的外生变量数量如下:

目标指标 实际使用的外生变量数量 排除的变量
PCE_Core 11个 排除 PCE_Core 本身
NonFarm_Payrolls 11个 排除 NonFarm_Payrolls 本身
Ind_Production 11个 排除 Ind_Production 本身
Yield_10Y 11个 排除 Yield_10Y 本身
Yield_2Y 11个 排除 Yield_2Y 本身
Yield_10Y2Y 11个 排除 Yield_10Y2Y 本身

外生变量构建逻辑

# 定义可用的外生变量(排除目标变量本身) available_exog = [ "Initial_Claims", "Yield_10Y2Y", "Yield_10Y", "Yield_2Y", "PCE_Core", "CPI_Core", "NonFarm_Payrolls", "Unemployment_Rate", "Retail_Sales", "Ind_Production", "Housing_Starts", "HighYield_Spread" ] # 移除目标变量 if target_name in available_exog: available_exog.remove(target_name)

数据对齐和处理

  1. 频率对齐: 使用 build_mixed_freq_exog() 函数将不同频率的数据对齐到目标序列的频率
  2. 缺失值处理:
    • 前向填充 (ffill)
    • 后向填充 (bfill)
    • 最后用0填充剩余缺失值
  3. 数据要求: 每个外生变量至少需要10个数据点才会被使用
代码位置:
  • 构建函数: src/run_tabpfn_x_forecast.py 中的 build_multivariate_exog()
  • 使用: src/model_tabpfn.py 中的 tabpfn_forecast()

📈 外生变量详细说明

指标名称 FRED代码 频率 数据来源 经济含义 使用场景
Initial_Claims
(初请失业金)
ICSA 周频 (W) 美国劳工部 反映劳动力市场状况,是就业市场的领先指标 AUTO-ARIMAX: PCE_Core, CPI_Core, NonFarm_Payrolls
TabPFN-X: 所有指标(除自身)
Yield_10Y2Y
(10Y-2Y美债利差)
T10Y2Y 月频 (M) 美联储 反映市场对未来经济前景的预期,利差倒挂(负值)通常预示经济衰退风险 AUTO-ARIMAX: PCE_Core, CPI_Core, NonFarm_Payrolls, Ind_Production
TabPFN-X: 所有指标(除自身)
Yield_10Y
(10年期国债利率)
DGS10 月频 (M) 美联储 反映长期利率水平,影响投资和消费决策 AUTO-ARIMAX: 不使用
TabPFN-X: 所有指标(除自身)
Yield_2Y
(2年期国债利率)
DGS2 月频 (M) 美联储 反映短期利率水平,受货币政策影响较大 AUTO-ARIMAX: 不使用
TabPFN-X: 所有指标(除自身)
PCE_Core
(核心PCE物价指数)
PCEPILFE 月频 (M) 美国经济分析局 美联储关注的核心通胀指标 AUTO-ARIMAX: 不使用(作为目标变量)
TabPFN-X: 作为其他指标的外生变量
CPI_Core
(核心CPI)
CPILFESL 月频 (M) 美国劳工统计局 核心消费者物价指数,反映通胀水平 AUTO-ARIMAX: 不使用
TabPFN-X: 作为其他指标的外生变量
NonFarm_Payrolls
(非农就业人数)
PAYEMS 月频 (M) 美国劳工统计局 反映就业市场状况,是重要的经济指标 AUTO-ARIMAX: 不使用(作为目标变量)
TabPFN-X: 作为其他指标的外生变量
Unemployment_Rate
(失业率)
UNRATE 月频 (M) 美国劳工统计局 反映劳动力市场状况 AUTO-ARIMAX: 不使用
TabPFN-X: 作为其他指标的外生变量
Retail_Sales
(零售销售)
RSAFS 月频 (M) 美国人口普查局 反映消费者支出状况 AUTO-ARIMAX: 不使用
TabPFN-X: 作为其他指标的外生变量
Ind_Production
(工业产出)
INDPRO 月频 (M) 美联储 反映工业生产状况 AUTO-ARIMAX: 不使用(作为目标变量)
TabPFN-X: 作为其他指标的外生变量
Housing_Starts
(新屋开工)
HOUST 月频 (M) 美国人口普查局 反映房地产市场状况 AUTO-ARIMAX: 不使用
TabPFN-X: 作为其他指标的外生变量
HighYield_Spread
(高收益债利差)
BAMLH0A0HYM2 日频 (D) 美银美林 反映市场风险偏好和信用风险 AUTO-ARIMAX: 不使用
TabPFN-X: 作为其他指标的外生变量

🔄 数据对齐机制

混频对齐

由于不同指标的数据频率不同(日频、周频、月频),系统使用 build_mixed_freq_exog() 函数进行对齐:

缺失值处理

  1. 前向填充 (ffill): 用前一个有效值填充
  2. 后向填充 (bfill): 用后一个有效值填充
  3. 零填充: 剩余缺失值用0填充

📊 模型对比总结

特性 AUTO-ARIMAX TabPFN-X
外生变量选择 根据配置文件,每个指标独立配置 自动使用所有可用指标(除目标变量)
外生变量数量 0-2个(根据配置) 最多11个
配置方式 手动配置(config/indicators.yml 自动选择
灵活性 需要手动调整配置 自动适应
模型复杂度 相对简单 更复杂(多变量)
计算成本 较低 较高

💡 使用建议

AUTO-ARIMAX

TabPFN-X

🔍 查看实际使用的外生变量

在网站仪表盘上,每个预测图表会显示:

模型参数: TabPFN-X (Multivariate with 11 features) X: Initial_Claims, Yield_10Y2Y, Yield_10Y, Yield_2Y, CPI_Core, ...等11个变量