6.2 高级策略与机器学习集成


文档摘要

6.2 高级策略与机器学习集成 机器学习大规模进入高频交易,起因是一场尴尬:二零一零年代前期,各家发现单一价差信号的有效期越来越短——你刚挖到一个预测短时价格的因子,几个月后同行也挖到了,超额收益随之蒸发。应对的路径有两条:挖更多信号让衰减互相抵消,以及用更强的模型从同样的数据里榨出更细的规律。两条路殊途同归,都指向同一套工程形态:多信号组合框架加机器学习组件。本节讲这套形态怎么搭、学习组件嵌在链路的哪里、以及两个比模型本身更决定生死的问题——过拟合与信号衰减。 学习目标 搭建多信号组合的最小框架:信号标准化、权重分配、冲突消解; 说明订单流预测的常见目标与特征族,理解"预测的是分布不是点位"; 判断机器学习组件在链路中的正确落点,论证执行层与风控层为什么不嵌入;

6.2 高级策略与机器学习集成

机器学习大规模进入高频交易,起因是一场尴尬:二零一零年代前期,各家发现单一价差信号的有效期越来越短——你刚挖到一个预测短时价格的因子,几个月后同行也挖到了,超额收益随之蒸发。应对的路径有两条:挖更多信号让衰减互相抵消,以及用更强的模型从同样的数据里榨出更细的规律。两条路殊途同归,都指向同一套工程形态:多信号组合框架加机器学习组件。本节讲这套形态怎么搭、学习组件嵌在链路的哪里、以及两个比模型本身更决定生死的问题——过拟合与信号衰减。

学习目标

  1. 搭建多信号组合的最小框架:信号标准化、权重分配、冲突消解;
  2. 说明订单流预测的常见目标与特征族,理解"预测的是分布不是点位";
  3. 判断机器学习组件在链路中的正确落点,论证执行层与风控层为什么不嵌入;
  4. 设计离线与在线一致的推理管线,避免训练与实盘的特征口径分裂;
  5. 建立信号衰减监控与自动降权机制,为策略组合续命。

一、组合框架:从单信号到信号池

单信号策略的数学很简单:信号超过阈值就行动。信号多了之后,新的问题全是工程性的。标准化:不同信号的量纲与分布不同,先各自滚动标准化(常用分位数变换,对厚尾更稳)。加权:每个信号按近期的预测表现分配权重,表现用与未来收益的滚动相关或回归系数度量,权重本身要有惰性(缓慢调整),防止某段行情把权重甩得到处都是。冲突消解:信号打架时按权重投票是底线做法,更好的做法是承认冲突本身是信息——分歧大往往意味着状态不清,此时缩仓比选边更聪明。

这套框架的本质是把"策略"从"一个聪明的信号"改写成"一群平庸信号的纪律化组合"。它看起来不够浪漫,却是行业的主流形态:单信号的半衰期以月计,信号池整体的有效性可以靠新陈代谢维持多年。研究团队的产能指标因此不是"今年挖到几个新信号",而是"信号池的健康度曲线"。

图:信号池的组合流水线与代谢循环

图:信号池的组合流水线与代谢循环

二、学习组件:嵌在哪、怎么嵌

订单流预测是学习组件最成功的落点。目标通常是短窗口的价格方向或成交概率分布——注意是分布:预测"上行的概率几成"比预测"会涨到哪"诚实得多,也让下游的仓位规则(按期望与方差定仓)有了直接可用的输入。特征族按 2.3 节的不对称分类铺开:盘口失衡类(各档量的比值与斜率)、队列动态类(挂撤速率、队列年龄结构)、跨市场类(关联品种的领先滞后)、微观统计类(短窗波动、成交强度)。

链路落点的判断标准只有一条:延迟预算与可解释性要求的交集。信号层落点(特征计算与短窗预测)预算通常给到微秒级,轻量模型(线性模型、小型梯度提升、浅层网络)用编译好的推理代码可以塞进预算;执行层落点不行——那里的预算是数百纳秒,而且定价逻辑要能被逐笔审计;风控层落点绝对不行——拦截规则必须是显式的、可向监管解释的规则,任何"模型觉得"都不行。一个常被忽视的坑是训练与实盘的特征口径分裂:研究环境里特征用历史数据离线算,实盘里同名的特征用增量流现算,浮点累加顺序不同就会产生微小偏差,积累起来足以让线上表现与回测脱节。对策是把特征计算写成一份代码、两种喂入(回放与实时同一实现),口径差异在灰度阶段用逐值比对抓出来。

def score_and_combine(features, weights): """热路径内的组合打分:预权重、无分配、O(信号数)""" s = 0.0 for i in range(N_SIGNALS): s += weights[i] * features[i] # weights 由冷路径慢速更新 if abs(s) < THETA: return 0 # 阈值以下不动,避免噪声驱动 return s # 权重更新不在热路径:冷路径按滚动表现重新估计,写时加版本号, # 热路径原子地换指针读到一致版本 —— 热路径永远不做拟合计算。

三、两大生存问题:过拟合与衰减

过拟合在高频语境下有一个残忍的放大器:数据量大。数亿笔的历史数据让任何复杂模型都能找到"显著"的样本内规律,而微观结构的规律本底噪声极高,样本内的显著与样本外的失效之间隔着一条鸿沟。纪律性的对策老三样但件件要较真:严格的时间序列切分(杜绝随机打乱)、参数敏感性曲线(好信号在参数邻域内平滑,坏信号只在孤岛上显著)、多标的交叉验证(真规律在同类标的上方向一致)。再加一条高频特有的:交易成本重压测试——把成本假设上浮五成再看净值,很多"显著"策略死在这一关,而它们本来就不该上线。

信号衰减在 2.3 已经从机理上讲过,本节落到操作:每个信号有健康度仪表(滚动预测相关、贡献分布、参数邻域稳定性),跌破水位线自动降权而非等人工发现;降权决策本身要留痕,供季度复盘校准水位线。衰减管理的最高境界不是延长单个信号寿命,而是保持信号池的新陈代谢速度——排水口畅通,进水口的产能才是关键资产。

案例复盘:一套订单流预测组件的完整上线史

背景:研究组用梯度提升模型预测未来两秒的成交方向概率,离线样本外表现稳定,进入上线流程。

操作:上线按三步走。第一步口径对齐:同一特征代码接回放流与实盘流,逐值比对一周,抓出两处浮点累加顺序导致的偏差并修复。第二步影子运行:模型输出只记录不驱动交易,与在役策略的决策并行对比一个月。第三步灰度接管:先给一成仓位按模型输出加权,逐周上调。

结果:影子期发现模型在行情急变时段(开盘首分钟)输出不稳定,据此给模型输出加了状态闸门——高波动状态下权重自动归零。灰度六周后全量,组合夏普提升约一成半,主要贡献来自普通时段,极端时段由闸门保护未受影响。

解读:这个流程的价值排序值得记牢:口径对齐大于影子验证大于灰度上线。多数失败案例败在第一步——特征口径分裂让线上模型实际上不是那个被验证过的模型。另外,状态闸门是个通用模式:任何学习组件都该有"知道自己不知道"的开关,把不擅长的状态显式让位给保守规则。

变式:模型越重,闸门要越多。端到端的深度模型(直接从原始盘口到下单指令)在研究上吸引人,但审计与失效模式的复杂度使其难以通过风控与监管两道审查,实用形态是"重模型做信号、显式规则做决策"的分工。强化学习直接输出仓位同样卡在可解释性上,行业的折中是用它优化参数而非替代决策。

本节要点回顾

  • 信号池框架:标准化、惰性加权、冲突缩仓,一群平庸信号比一个聪明信号活得久;
  • 订单流预测输出分布而非点位,特征族按不对称分类铺设;
  • 学习组件只进信号层与组合层:执行层预算放不下,风控层必须可解释;
  • 训练与实盘共用一份特征代码,口径分裂要在灰度前逐值比对消灭;
  • 过拟合靠时间切分、参数邻域、成本重压三关拦截;衰减靠健康度仪表与自动降权续命。

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U