3. 金融预测任务与评价指标

在把 Transformer 用于金融多变量时序之前,必须先回答一个比模型结构更根本的问题:我们到底在预测什么,又用什么标准判断预测得好不好? 很多项目失败并非模型不够深,而是任务定义与评价指标错位——用回归的 MSE 去优化一个本质是分类的趋势判断,或用单点准确率去衡量一条需要靠交易兑现的收益率曲线。本节把金融预测任务拆成三类目标,并给出与之匹配的指标体系和回测评估方法。

一、三类预测任务的本质差异

金融时序预测通常落在三个层次上,它们的输出空间、噪声结构和可用信息完全不同。

  • 趋势预测(方向分类):输出未来一段时间的涨/跌/震荡,本质是分类任务。标签常由收益率阈值离散化得到,例如 sign(r_{t+h}) 或三分类阈值切分。它关心“方向对不对”,对幅度不敏感。
  • 收益率预测(数值回归):输出未来 h 期的收益率数值,本质是回归任务。金融收益率信噪比极低,R² 往往接近 0,因此更应关注方向命中率与风险调整后收益,而非单纯 MSE。
  • 波动率预测(风险回归):输出未来已实现波动率或方差,本质是回归任务但可预测性显著更高。波动率具有聚集性和长记忆性,Transformer 的注意力机制在捕捉多尺度波动依赖上有天然优势。
关键认知:收益率“难预测”是市场有效性的体现,而波动率“可预测”是风险聚集性的体现。把两者混为一谈,会导致对模型能力的误判。

二、任务与指标匹配关系

下表给出三类任务对应的标签构造、常用指标与注意事项,可作为建模前的检查清单。

任务类型 输出形式 标签构造 核心指标 常见陷阱
趋势预测 类别概率 阈值离散化 sign(r) Accuracy、F1、AUC 类别不平衡导致虚高准确率
收益率预测 连续数值 未来 h 期对数收益 MAE、IC、方向命中率 MSE 被极端值主导
波动率预测 连续正值 已实现波动率 RV RMSE、QLIKE、MSE 忽略波动率非对称性

三、分类与回归指标的正确用法

分类指标中,准确率在金融场景极易误导:当上涨样本占 70% 时,全预测上涨即可得 0.7 准确率。因此应优先看 F1、AUC 与混淆矩阵,并关注少数类召回。回归指标中,MSE 对大误差敏感,适合波动率这类量级稳定的目标;而收益率预测更适合 MAE、IC(预测值与真实值的秩相关)以及方向命中率。

# 收益率预测常用评估片段
from scipy.stats import spearmanr
import numpy as np

ic = spearmanr(y_pred, y_true).correlation      # 信息系数
hit = np.mean(np.sign(y_pred) == np.sign(y_true))  # 方向命中率
mae = np.mean(np.abs(y_pred - y_true))
print(f"IC={ic:.4f}  Hit={hit:.4f}  MAE={mae:.6f}")

波动率预测推荐使用 QLIKE 损失,它对低估波动率的惩罚更重,更贴近风险管理需求:

# QLIKE: 对波动率低估更敏感
qlike = np.mean(np.log(y_pred**2) + (y_true**2) / (y_pred**2))

四、回测评估:从指标到真实收益

离线指标好不代表能赚钱。回测评估要把预测信号转成持仓,再计算风险调整后收益。核心流程是:信号生成 → 仓位映射 → 交易成本扣除 → 绩效统计。常用指标包括年化收益、夏普比率、最大回撤与换手率。

  1. 用趋势预测概率生成多空仓位,例如概率大于 0.6 做多、小于 0.4 做空。
  2. 按日频调仓并扣除双边交易成本(如 5bp)。
  3. 计算净值曲线,统计夏普、最大回撤与卡玛比率。
  4. 与买入持有基准对比,确认超额收益来源。
回测中最常见的错误是前视偏差:用未来信息构造特征或标签,或未对齐预测时点与可交易时点。务必保证 t 时刻的预测只能使用 t 及之前的数据,并在 t+1 才能建仓。
金融预测任务与评价指标映射 趋势预测 分类 · 方向 收益率预测 回归 · 数值 波动率预测 回归 · 风险 Accuracy / F1 / AUC 混淆矩阵 · 少数类召回 警惕类别不平衡 MAE / IC / 命中率 秩相关 · 方向一致 MSE 易被极值主导 RMSE / QLIKE 低估惩罚更重 关注非对称性 回测评估:夏普 · 最大回撤 · 换手率 信号 → 仓位 → 扣成本 → 绩效

五、误区复盘与实操建议

最后总结三个高频误区。第一,用回归指标优化分类目标:趋势预测若用 MSE 训练,模型会倾向于输出接近均值的值,方向判别力下降,应改用交叉熵或 Focal Loss。第二,忽略交易成本与滑点:高频调仓的策略在扣除成本后往往由盈转亏,回测必须内生化成本。第三,用同一指标横跨三类任务:波动率预测看 QLIKE,收益率预测看 IC 与命中率,趋势预测看 F1 与 AUC,指标错配会让模型选择完全走偏。

实践建议:在项目启动阶段就固定“任务—标签—指标—回测”四件套,并写进实验配置。这样每次模型迭代都有统一、可复现的评判标准,避免被单次指标波动误导。

当任务定义与评价体系清晰后,Transformer 的建模才有明确优化方向:趋势预测关注分类头与阈值校准,收益率预测关注低信噪比下的正则化与集成,波动率预测关注多尺度注意力与正值约束。下一阶段的特征工程与数据管线,都将围绕这三类目标展开。