- 多臂老虎机与策略动态配置:探索-利用权衡的量化实战
多臂老虎机与策略动态配置 - halo的量化交易专栏
13 min Chinese - 累积局部效应 ALE:用条件期望修正相关因子下的边际效应
PDP 有个绕不过的死穴:因子彼此相关时,它会把某个因子强行设成某值、其余保留原值,从而外推到根本不存在的样本组合,把相关因子借来的效应算成自己的。ALE(Accumulated Local Effects)换个算法——把因子取值切成窄箱,在每个箱内只用真实存在的样本算『局部差分』(同一批样本换到箱边界两侧的预测之差),再沿因子方向累加。这样它永远不外推、只在数据支撑的邻域里说话。本文用相关系数 0.92 的两个因子做对照:一个是真驱动、一个纯冗余,看 PDP 如何被冗余因子骗、ALE 如何把它的伪效应修正回近零,附纯 numpy 从零实现的 ALE(中阶)。
14 min Chinese - 局部依赖图 PDP:把单个因子与收益的边际关系画成曲线
机器学习因子模型跑出了收益,你却说不清『动量到底怎么影响预测』——因为模型是黑箱,特征重要性只给排名不给形状。PDP(Partial Dependence Plot)把某个因子在其取值范围上扫一遍、其余特征原样保留后对全样本预测求平均,画出这个因子与预测收益的边际曲线:是单调、倒U 还是阶梯,一眼看穿。本文用合成因子数据训练梯度提升树,画动量的倒 U 型甜区、四因子 PDP 面板、动量×规模的二维交互热图,并诚实拆穿 PDP 最致命的陷阱——相关因子下它会强行外推到根本不存在的样本组合、把借来的效应算成自己的(附完整 Python,中阶)。
15 min Chinese - 路径签名粗糙路径:用迭代积分把价格轨迹写成可学习的特征
传统特征工程把一段价格轨迹压成几个统计量——均值、波动、动量——路径怎么走的信息全部丢掉。路径签名换思路:用粗糙路径理论中的迭代积分,把整条轨迹按阶数展开成一列数,level-1 是净位移、level-2 是 Lévy 面积(转了多少圈)、level-3 编码更精细的时序几何,理论上无限阶签名唯一决定路径形状。本文用纯 numpy 通过 Chen 恒等式递推实现 2 维时间增广路径的 level-3 截断签名,在三类合成路径(趋势/均值回复往返/噪声)上做特征对决:签名 level-1~3 样本外 IC 0.737,碾压 6 维手工统计特征(0.597);消融揭示关键信息藏在三阶项——level-1~2 只有 0.434,加入 level-3 一步跳到 0.737,因为『先冲高后回落』的往返形状是三阶几何量。诚实拆穿维度爆炸陷阱:d 维路径 level-L 签名共 Σdᵏ 项,d=5 到 level-5 已是 3905 维,必须靠时间增广+低阶截断+正则化续命。拆穿签名=万能特征/平移不变性丢失绝对价位/采样频率敏感/树内核近似取舍四类陷阱(中高阶)。
14 min Chinese - SHAP 因子解释:用博弈论份额拆开每个特征对预测的贡献
树模型自带的 gain 重要性有两个死穴:它偏爱高基数特征、而且只给全局排名,答不了『这一只股票为什么被模型看多』。SHAP 借来博弈论里的 Shapley 值——把预测当成一场合作博弈,每个因子是玩家,公平分配它对这次预测的贡献。本文讲清 Shapley 值的可加性从哪来、为什么 base value 加上所有 SHAP 值恰好等于 f(x),用合成因子数据做单样本瀑布图、全局重要性对比、依赖图揭示交互效应,并诚实指出相关特征分摊、计算成本、因果幻觉三大陷阱,附完整 Python(中阶)。
15 min Chinese - 孤立森林异常检测:用随机孤立路径给极端行情打分
传统异常检测先给『正常』建模——估个分布、算个距离,再看谁离得远。孤立森林反着来:异常点本来就少、本来就偏,随机切几刀就能把它单独隔出来,正常点则要切很多刀。于是『被孤立所需的平均路径长度』直接变成异常分数,不需要距离度量、不需要分布假设。合成实验:1000 个交易日、4 维特征(绝对收益、5 日已实现波动、成交量 z、相关性尖峰 z),注入 25 个崩盘日。孤立森林 AUC 0.984,只看收益 z-score 的单变量基线 AUC 0.782——差距来自多维联动:单独看每一维都不算极端、但『量价相关性同时抬升』的日子,只有多维方法抓得住。top-25 命中精度 60% vs 基线 44%。森林规模敏感性:5 棵树 AUC 0.964,50 棵 0.986,100 棵之后彻底平台化——路径长度平均的收敛速度快得惊人。纯 numpy 实现(随机特征+随机分割点递归建树、c(n) 修正项、2^(-h/c) 分数归一化),拆穿分数有绝对阈值/无监督=不用验证/维度越多越好/能检测=能预测/训练集必须干净五类陷阱(中阶)。
12 min Chinese - 非线性 Granger 因果:用神经网络把『谁预测谁』的单向箭头放宽
线性 Granger 因果检验只问一个问题:x 的滞后项能否线性地改善对 y 的预测。但如果 x 通过 x² 驱动 y——波动传导、恐慌放大这类金融常见机制——线性 F 检验会完全漏检。合成实验实测:y 被 0.6·x²(t-1) 强驱动,线性 F 统计量只有 0.17(临界值 3.0),检验结论『无因果』;换成 16 隐单元的小 MLP,加入 x 滞后让样本外 MSE 从 2.72 降到 1.35(改善 50.5%),而线性回归加同样的 x 滞后只改善 1%。显著性用置换检验解决:打乱 x 滞后重训 30 次,最大伪改善仅 3.9%,真实改善 50.5% 的 p 值 < 0.033。方向准确率 74.2%,简单择时把日均收益从 0.10 抬到 0.51。诚实说明:NN Granger 的检验功效换来了解释性损失;置换检验计算量是线性检验的百倍;非线性因果在真实数据中远比合成数据微弱,且极易与波动聚集混淆。拆穿『相关为零=无关系』『NN 改善=真因果』『因果=可交易』等误区(中高阶)。
14 min Chinese - One-Class SVM 异常检测:用高维边界圈出『不正常』的交易日
高斯类方法(马氏距离)默认『正常』只有一个中心,偏离中心越远越异常。但真实市场的正常状态往往是多峰的——平静区制和承压区制是两团各自正常的云。麻烦就藏在两团之间的『山谷』:那些既不像平静、也不像承压的交易日,恰恰是最危险的,而马氏距离会把山谷判成中心(AUC 仅 0.080,方向都反了)。One-Class SVM 用 RBF 核学一条非凸的支撑边界,把两团正常各自圈住、山谷留在外面:合成实验 1000 个正常日(两区制)+ 30 个山谷异常日,OC-SVM AUC 0.961、top-30 命中 33%,而马氏距离几乎为零。纯 numpy 实现带盒约束单纯形投影的对偶求解器,附 ν / γ 双参数敏感性曲线与五类真实陷阱(中阶)。
14 min Chinese
返回