AI量化交易:从因子挖掘到高频策略的智能化
量化交易的竞争本质上是"信息处理效率"的竞争。当基本面因子、价量因子被挖掘得越来越充分,人工构造因子的边际收益持续下降,机器学习成了新的突破口:从海量数据里自动发现非线性规律,用模型替代人的经验直觉。但这条路坑也极多——金融数据的信噪比低得惊人,过拟合的回测曲线比股市里的韭菜还多。本文梳理 AI 在量化链路各环节的真实用法和工程陷阱。
因子挖掘:从手工构造到自动搜索
传统多因子体系靠研究员手工构造因子,再用 IC 检验筛选。AI 介入后有两条主流路线:
符号回归与遗传规划:把因子表达为算子树(如rank(delta(close,5)) / std(volume,20)),用遗传算法在表达式空间里进化搜索。开源项目 AlphaGen 用强化学习替代遗传算法做算子组合,效率更高,挖出的量价因子在 A 股数据上能达到不错的 IC 水平。
端到端深度学习:干脆放弃"显式因子",让模型直接从原始行情序列学习表征。LSTM、GRU 处理时序,Transformer 捕捉长程依赖,近年还有用 Mamba 这类状态空间模型做行情建模的尝试。缺点是解释性差,风控合规难交代。
实战建议:两条路线可以并行——符号方法产出可解释因子入库,深度模型作为黑盒 Alpha 单独跑小仓位,两者相关性低,组合起来更稳。
收益预测模型的工程现实
学术界爱卷模型结构,工业界真正拉开差距的往往是数据处理和训练范式。几个关键点:
- 标签设计:直接预测未来 N 日收益噪声太大,常用分位数标签(把收益转成截面排名)、三分类(涨/平/跌)或风险调整后收益。
- 样本权重:近期样本权重调高,应对市场风格漂移;极端行情样本可以单独加权或剔除。
- 截面归一化:A 股几千只股票量纲差异巨大,特征必须在每个交易日做截面 rank 或 z-score,否则模型学到的是股票身份而不是规律。
- 集成与平滑:单模型预测噪声大,用多个不同种子、不同窗口的模型集成,再对预测分数做时序平滑,换手率和回撤都会改善。
代码实战:LightGBM 截面因子模型
树模型(LightGBM/XGBoost)至今仍是量化收益预测的主力——训练快、对特征尺度不敏感、输出特征重要性便于归因。一个最小示例:
import lightgbm as lgb import pandas as pd # factor_df: index=(date, stock),列为因子值 # label: 未来5日收益的截面分位数(0~1) def train_alpha(factor_df: pd.DataFrame, label: pd.Series, train_end: str, valid_end: str): feats = factor_df.columns.tolist() train_mask = label.index.get_level_values(0) <= train_end valid_mask = (label.index.get_level_values(0) > train_end) & \ (label.index.get_level_values(0) <= valid_end) params = { "objective": "regression", "learning_rate": 0.03, "num_leaves": 63, "feature_fraction": 0.7, "bagging_fraction": 0.8, "bagging_freq": 5, "lambda_l2": 10.0, "verbose": -1, } dtrain = lgb.Dataset(factor_df[train_mask], label[train_mask]) dvalid = lgb.Dataset(factor_df[valid_mask], label[valid_mask], reference=dtrain) model = lgb.train(params, dtrain, num_boost_round=2000, valid_sets=[dvalid], callbacks=[lgb.early_stopping(100)]) return model # 每日推理:model.predict(当日因子) 得到分数,取 Top N 构建组合注意这里的时间切分必须严格按日期,绝不能随机打乱——随机切分会让未来信息泄漏进训练集,回测好看到离谱,实盘直接崩盘。
高频与执行环节的强化学习
在中低频选股之外,AI 在高频领域另有打法。做市策略里,强化学习(PPO、DQN)用来学习"在什么价位挂单、挂多少、何时撤单",目标是最大化价差收入同时控制库存风险。执行环节的智能算法单(用 RL 优化 TWAP/VWAP 的拆单节奏)已经在不少券商实盘运行。高频场景对延迟极度敏感,模型推理通常要编译到 FPGA 或用 C++ 重写,Python 只负责离线训练。
传统量化 vs AI量化对比
| 维度 | 传统量化 | AI量化 | |------|---------|--------| | 因子来源 | 人工构造,经济学含义明确 | 自动搜索/端到端学习 | | 规律假设 | 线性或简单非线性 | 复杂非线性、交互效应 | | 解释性 | 强,便于归因和合规 | 弱,黑盒风险高 | | 主要风险 | 因子拥挤、失效 | 过拟合、分布漂移 | | 基础设施 | 因子库+回测框架 | 加特征平台、GPU 训练、模型管理 |