4. Pointwise方法

在Learning to Rank的三类建模范式中,Pointwise是最直观、最容易落地的一类。它把排序问题“拆解”为对单个股票(或单个样本)的独立预测问题:模型只看一只股票自身的特征,输出一个分数,再按分数从高到低排序选股。理解Pointwise,是理解后续Pairwise、Listwise方法为何被提出的起点。

一、核心原理:把排序还原为逐样本预测

Pointwise的核心假设是:如果每只股票的“好坏”都能被准确打分,那么按分数排序自然就得到好的组合。它不直接建模股票之间的相对关系,而是把训练数据组织成“特征 → 标签”的监督学习样本,用回归或分类的方式学习一个打分函数 f(x)。

根据标签形态不同,Pointwise主要有两种思路:

  • 回归思路:标签是连续的未来收益(或超额收益、风险调整收益)。模型拟合收益数值,预测值即打分。常用损失为均方误差MSE、Huber损失。
  • 分类思路:标签是离散的涨跌方向或分档(如涨/跌、前30%/中间/后30%)。模型输出概率或类别,用概率作为打分。常用损失为交叉熵、Focal损失。

两种思路的共同点是:训练时样本相互独立,排序信息只在预测后通过排序体现,而不进入损失函数。这正是Pointwise与Pairwise/Listwise最本质的区别。

Pointwise 建模范式:逐样本独立打分 训练样本 股票A 特征 → 收益+3% 股票B 特征 → 收益-1% 股票C 特征 → 收益+5% 学习目标 回归:拟合收益数值 分类:预测涨跌概率 损失:MSE / 交叉熵 打分函数 f(x) A: 0.82 B: 0.31 C: 0.91 排序选股 C > A > B 取Top-K 构建组合 关键特征:样本独立 • 损失函数只关心单只股票预测值与真实标签的差距 • 股票之间的相对顺序不进入训练目标,只在预测后排序时体现 • 训练效率高、实现简单,但可能忽略“排序”这一最终目标

二、方法流程:从标签构造到组合生成

在选股场景中,Pointwise的完整流程通常包含以下步骤:

  1. 确定预测目标:选择未来N日收益、超额收益、是否跑赢基准等作为标签。
  2. 构造样本:每个“股票-日期”组合作为一个样本,特征包括估值、动量、质量、情绪等因子。
  3. 选择损失函数:回归用MSE/Huber,分类用交叉熵/Focal。
  4. 训练模型:常用LightGBM、XGBoost、神经网络等。
  5. 预测打分:对当前股票池逐只打分。
  6. 排序选股:按分数排序,取Top-K构建组合,定期调仓。

下面是一个用LightGBM做回归式Pointwise选股的简化配置示例:

# Pointwise回归选股:LightGBM配置示例
params = {
    "objective": "regression",      # 回归目标
    "metric": "mse",                # 均方误差
    "learning_rate": 0.05,
    "num_leaves": 63,
    "feature_fraction": 0.8,
    "bagging_fraction": 0.8,
    "bagging_freq": 5,
    "min_data_in_leaf": 200,
    "lambda_l2": 1.0
}

# 标签:未来20日超额收益
# 特征:估值、动量、质量、波动率等因子
# 训练后按预测分数排序,取Top 50等权持有

三、损失函数对比与适用场景

不同损失函数对Pointwise选股效果影响显著,下表给出常见选择的对比:

损失函数 标签类型 优点 局限 选股适用性
MSE 连续收益 简单、可导、收敛稳定 对极端收益敏感,易被噪声主导 适合收益分布较平稳的宽基选股
Huber 连续收益 对异常值更鲁棒 需调阈值,训练稍慢 适合收益厚尾、含涨停跌停的A股
交叉熵 涨跌/分档 输出概率,便于阈值控制 分档边界人为设定,信息有损 适合方向性择时或二分类选股
Focal 类别不平衡 聚焦难分样本 参数敏感,易过拟合 适合极端行情下少数强势股识别
实践提示:在A股选股中,由于收益分布厚尾且存在涨跌停,直接使用MSE容易被极端值带偏。可先对标签做截面标准化或排名变换,再配合Huber损失,往往比原始MSE更稳健。

四、适用性与局限:为什么Pointwise不是终点

适用性方面,Pointwise在以下场景表现良好:

  • 股票池较大、因子维度高,需要快速建立基线模型;
  • 预测目标本身接近绝对收益,而非相对排序;
  • 需要输出可解释的分数用于风控和仓位管理。

局限方面,Pointwise存在三个关键问题:

  1. 目标错位:训练优化的是单样本预测精度,而选股真正关心的是组合内相对排序。预测误差小不等于排序正确。
  2. 忽略截面信息:同一日不同股票之间的相对强弱关系没有被建模,模型可能对整体市场风格变化不敏感。
  3. 标签噪声敏感:单只股票的未来收益受个股事件影响大,噪声高,逐样本回归容易过拟合。
常见误区:很多初学者把Pointwise回归的MSE降到很低,就认为选股效果一定好。实际上,MSE低可能只是模型学会了预测市场平均收益,而Top-K组合的超额收益并不理想。评估时必须看IC、RankIC、分组回测和多空收益,而不是只看回归误差。

一个典型的复盘场景是:某模型在训练集上MSE仅0.002,但分组回测中Top组与Bottom组收益差几乎为零。排查后发现,模型预测值集中在均值附近,排序区分度不足。这正是Pointwise“重预测、轻排序”的典型表现,也是后续Pairwise和Listwise方法要解决的核心问题。

理解Pointwise的边界,才能明白:它不是不好,而是它优化的目标与选股真正需要的排序目标之间存在一道鸿沟。这道鸿沟,正是Learning to Rank后续方法演进的动力。