- 独立成分分析 ICA:把混合信号拆回相互独立的源
PCA 只能把信号解相关,ICA 能把它们解独立——这一字之差在金融里是天壤之别。合成实验:3 个独立的非高斯潜在驱动(重尾冲击、偏态动量、区制切换)经一个混合矩阵变成 3 条观测『资产收益』,观测间相关高达 0.72~0.83。FastICA 用 tanh 非线性做定点迭代,把三个源全部还原到 |相关|=0.999;PCA 拿同样数据只做到 0.66~0.87——因为不相关不等于独立,PCA 找的是方差最大的正交方向,不是统计独立的方向。核心引擎:中心极限定理让混合信号趋近高斯(观测源峰度从 2.82 掉到 1.45),所以『最大化非高斯性』就能反解出源,还原后峰度回到 2.83。纯 numpy 实现白化+deflation FastICA,并拆穿『ICA 能定源顺序/能定幅度/源一定有金融意义/高斯源也能分/成分越多越好』五类陷阱(中高阶)。
16 min Chinese - Informer 长序列预测:用概率稀疏注意力砍复杂度
标准 Transformer 注意力是 O(L²):序列拉到 4096 步,一层注意力就要算 1600 万对相似度。Informer(AAAI 2021 最佳论文)的 ProbSparse 注意力抓住一个经验事实——注意力矩阵天然长尾,绝大多数查询行近乎均匀分布、对输出没贡献。它用采样估计每个查询的稀疏度 M(q,K)=max−mean,只让 top-u=c·lnL 个「活跃查询」做完整注意力,懒查询直接输出 V 的均值,复杂度砍到 O(L·lnL)。纯 numpy 从零实现 ProbSparse + 单层注意力回归(手写反向传播、有限差分梯度校验 1e-10 级),实测 L=4096 时提速 53 倍;但诚实披露:在 L=96 的短窗口预测任务上,注意力行不够长尾,c=10 的 ProbSparse 推理 R²=−0.40 远差于 full 推理 0.746,c 扫到 20(u/L≈96%)才恢复 0.727——稀疏近似的前提是分布真的稀疏。另附 OLS-96滞后 R²=0.834 反超注意力的诚实对照,拆穿「ProbSparse 无损/长序列必用 Transformer/加速免费/M 度量万能/金融直接落地」五类真实陷阱(中阶)。
10 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 - Johansen 协整检验:用迹统计量与最大特征值锁定多变量长期关系
Engle-Granger 两步法只能处理两条序列、只能找一个协整关系,选谁当因变量还会改变结果。Johansen 检验把问题升级成特征值分解:对 VECM 的 Π 矩阵做约化秩回归,一次性回答『k 条序列里藏着几个协整关系』。纯 numpy 实现完整流程:三元系统(2 条共同随机趋势)迹统计量 176.1 >> 29.7 拒绝 r=0,r≤1 时 4.5 < 15.4 停下——精确识别协整秩 r=1;估出的协整向量 [1, −1.874, 1.247] vs 真值 [1, −1.875, 1.250],误差不到 0.3%。对照组:独立随机游走迹统计量 22.6 徘徊在临界值边缘,秩=2 系统两级统计量全部爆表。样本外 600 天三腿价差交易:z>2 开仓、|z|<0.5 平仓,净费后 Sharpe 3.15、最大回撤 6.6。诚实说明:合成数据协整永不破裂;迹检验对滞后阶数敏感(观测噪声的 MA 结构会让 nlag 选小时假拒绝);三腿组合的执行成本是两腿的 1.5 倍。拆穿『迹检验显著=能赚钱』『特征值大=价差好交易』等误区(中高阶)。
16 min Chinese - 流形学习资产表征:用降维把高维因子铺成可看的地图
几十个因子把每只资产变成高维空间里的一个点,但这些点往往不是均匀撒开的——它们卷在一张低维曲面(流形)上,比如『板块轮动相位』这条一维曲线被揉进 30 维。PCA 是线性投影,遇到弯曲流形只会把它拍扁、撕裂:把卷在一起的两端硬凑到一块。Isomap 换个距离度量——不走欧氏直线(会穿过流形空洞造成近邻假象),而走 kNN 图上的最短路径(测地距离,沿曲面爬行),再用经典 MDS 展开。合成实验:一条一维流形(swiss-roll 式)升到 30 维,Isomap 的局部近邻保持率 0.927 碾压 PCA 的 0.681——谁挨着谁的结构被保住了。纯 numpy 从零实现 Isomap(kNN 图→Floyd-Warshall 测地距离→MDS),并诚实暴露它的死穴:对近邻数 k 极敏感(k=3 轴相关 0.65、k=40 到 0.88),k 太小图断裂、太大短路穿洞;样本外无自然投影;测地距离 O(n³)。拆穿降维=可视化即真相/Isomap 必胜 PCA/k 随便选/流形假设永成立五类陷阱(中阶)。
11 min Chinese - 马尔可夫区制转移 VAR:让宏观变量在牛熊状态间自行切换
线性 VAR 假设股票收益和宏观动量的联动关系恒定不变——但牛市里动量是温和的助推器,熊市里却变成下跌的加速器,一套系数怎么可能同时描述两种世界。MS-VAR 给 VAR 挂一条隐藏马尔可夫链:每个 regime 一套独立的截距、系数矩阵和协方差,用 EM + Hamilton 滤波从数据里把牛熊自动切出来。纯 numpy 实现 2-regime MS-VAR(1):合成数据上 EM 17 次迭代收敛,转移矩阵估到 [0.97,0.954] vs 真值 [0.97,0.94],regime 识别准确率 95.9%,熊市方差 6.27 vs 真值 6.0。择时端:样本外 300 周,滤波概率仓位 Sharpe 1.06 vs 买入持有 −1.90,回撤从 89% 压到 26%。诚实说明:实盘只能用滤波概率而非平滑概率(后者用了未来数据),滤波概率在 regime 边界处会迟疑几周;EM 对初始化敏感、样本外恰逢长熊市放大了择时优势。拆穿平滑概率直接进回测、regime 数越多越好等经典陷阱(中阶)。
16 min Chinese - 非负矩阵分解 NMF:把资产收益矩阵压成可解释的基与权重
PCA 的成分有正有负,你没法把 PC1 读成『40% 科技 + 30% 消费』——因为它允许负载荷,本质是方差最大的正交方向,不是构成。NMF 强制 W、H 全非负,分解出的每个基就是一个可加的『主题』,每个资产是这些主题的非负叠加,读起来像占比。合成实验:12 个资产由 3 个非负时间主题混合而成,NMF 乘法更新 400 次把重构误差从随机初值压到 2.536,还原的时间基激活与真实基相关 0.82~0.92、权重矩阵相关 0.80~0.91;PCA 拿同样数据,58.3% 的载荷是负的,PC1 根本没法解释成资产构成。秩选择靠误差肘部:K 从 1→2→3 时误差 17.48→10.98→2.52 断崖下跌,K=3 之后拐平(2.52→2.51→2.30)精确对上真实秩。纯 numpy 实现 Lee-Seung 乘法更新,拆穿 NMF 唯一解/成分自动对齐/负值数据也能用/秩越大越好/基一定有金融意义五类陷阱(中阶)。
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
返回