← 返回文章库

新因子让模型均值提高一点,怎样区分新增信息和随机波动

2026-10-24 · L5

新增因子模型的平均损失小一点,先比较同一个日期、同一个训练随机种子下的配对差,再把同日种子汇总成一个日期结果。新增种子只增加训练随机性的观察,不能制造更多独立市场日。本页给出日期乘种子乘模型的全部损失,并把非配对误差、伪重复误差与按日期块重抽结果摆在一起。

八个日期、两个种子和两套损失

构造八个等间隔外层测试日,两模型使用相同训练边界、目标标签与损失定义。损失无量纲,越低越好;本页直接给定损失矩阵,没有真的训练机器学习模型,因此不能从这些数字解释某个经济因子的作用。两个种子编号十一与二十二只是实验身份,不是时间编号。

基线日损失依次为1、1.2、2、2.2、1.4、1.6、2.5、2.7;种子十一在基线上减0.04,种子二十二加0.04。预设日改善为0.08、0.06、负0.03、负0.05、0.10、0.12、负0.04、负0.02;种子十一的改善再减0.01,种子二十二再加0.01。新模型损失等于相应基线损失减改善,下面所有数值由这些输入公式生成。

差值统一定义为基线损失减新增损失,因此正数表示新增模型损失下降。不能把有些日写成new-base、有些日写成base-new。每个配对必须使用同日同种子,缺任意一边都应标记不完整;不能挑另一日或另一种子凑齐。

测试日种子基线损失新增损失配对改善差
1110.960.890.07
1221.040.950.09
2111.161.110.05
2221.241.170.07
3111.962-0.04
3222.042.06-0.02
4112.162.22-0.06
4222.242.28-0.04
5111.361.270.09
5221.441.330.11
6111.561.450.11
6221.641.510.13
7112.462.51-0.05
7222.542.57-0.03
8112.662.69-0.03
8222.742.75-0.01

先把训练随机性与日期变化分开

每个日期对两种子差值等权平均,得到八个日改善;也把两模型损失分别取同日平均,以供非配对对照。这里每个日期两个种子都齐全,因此“先逐对作差再同日平均”和“同日分别平均再作差”完全等价。如果每天可用种子数不同,应先规定日权重,不能让某天多跑几十个种子就自然获得几十倍市场权重。

日期日均基线日均新增日均配对改善
110.920.08
21.21.140.06
322.03-0.03
42.22.25-0.05
51.41.30.1
61.61.480.12
72.52.54-0.04
82.72.72-0.02

八日平均改善为0.0275。正负改善都有,第四日为负0.05、第六日为正0.12;只报一个平均会藏掉这种阶段差异。种子平均消除了本构造中对称的种子扰动,但真实系统的种子分布未必对称,也可能与市场日交互。它能减少某一来源的噪音,不能自动消除同日横截面依赖和相邻日相关。

非配对与把种子当独立日的两种错误

若暂时额外假定八个日期相互独立,日差的样本标准差除sqrt(8)约0.02454951,这是配对日期iid参照,不是最终块区间。错误非配对法把日基线和日新增看成两个独立八日样本,标准误取sqrt(s_base²/8+s_new²/8),约0.32477327;它丢掉共同难易市场日造成的正协方差,当前例子大幅放宽了误差。

另一种错误把十六个种子差值当十六个独立市场观测,样本标准差除sqrt(16),得到约0.01696811。它忽略同日两种子共享相同市场信息,制造了虚假的独立日期。两类错误方向可以不同:不配对可能太宽,把种子伪重复可能太窄。不能把“更保守”的结果一律当成正确设计,也不能选择较小误差帮助新增模型过线。

日均改善配对日期iid参照SE错误非配对SE错误种子独立SE两日块百分位区间
0.02750.024549510.324773270.01696811[-0.035, 0.09]

按日期块重抽保留什么

本例把八个日差组成四个不重叠两日块:一二、三四、五六、七八。每次有放回抽四个块,按块内原顺序拼成八日差,重算均值。不是把基线和新增各自独立抽,也不是把同一日种子拆成不同块。四个块四次选择,共4的四次方等于256种等权组合,本页全部穷举,没有随机种子,也没有蒙特卡洛抽样误差。

这些组合不是256个独立市场历史,只是给定四块经验分布的全部重抽结果。块内两日关系得到保留,块之间依赖被切断;如果真实依赖持续更久,当前块长不充分。完整输出记录每次所选块和八个日期,下面把相同均值合并成频数,频数总和仍为256,不丢掉重复组合的权重。

重抽均值组合频数经验权重
-0.0410.00390625
-0.037540.015625
-0.03560.0234375
-0.032540.015625
-0.0310.00390625
-0.012540.015625
-0.01120.046875
-0.0075120.046875
-0.00540.015625
-0.002540.015625
-0120.046875
0.0025120.046875
0.00540.015625
0.01560.0234375
0.0175120.046875
0.0260.0234375
0.025120.046875
0.0275240.09375
0.03120.046875
0.03560.0234375
0.0375120.046875
0.0460.0234375
0.042540.015625
0.04540.015625
0.0525120.046875
0.055120.046875
0.0625120.046875
0.065120.046875
0.0710.00390625
0.072540.015625
0.07540.015625
0.0840.015625
0.0960.0234375
0.140.015625
0.1110.00390625

按排序位置255*q线性插值取百分之二点五和九十七点五分位,区间为负0.035至0.09。区间跨过零,说明在这个经验块分布中平均改善的正负仍不稳定;不能据此宣称新增信息不存在,也不能把零跨越解释成某个精确p值。四个块过少、块定义人为且数据为构造,名义百分之九十五不等于已证明真实覆盖率。

新增信息的结论还缺什么

模型比较要冻结除新增因子之外的训练预算、调参权限、目标、外层日期和损失。若新增模型多获得一轮调参,差值混合了特征和搜索资源影响;若基线使用旧预处理、新模型使用更新数据版本,比较也不再隔离因子贡献。本例让这些条件假定一致,只审计配对统计流程,没有验证因果机制。

多个新增因子逐一比较后只报告最好的那个,又产生多重选择;配对设计不会免疫这种筛选。还应检查改善是否集中在某些股票池、成本前后是否保留、推理延迟是否可接受。统计损失下降与可交易净收益不同,本表既没有仓位也没有成交,因此不能推广到投资建议或资金规模。

执行复核从一条种子记录开始,核对baseline-new等于difference,再按日期平均,确认总平均0.0275;随后逐一展开四块,核对256个组合都含八日、总频数守恒,最后重算两个端点。若输入少一个种子,先报告不完整配对,不能补一个零改善来维持矩阵外观。

arch时间序列bootstrap说明支持按块保留局部时间结构的思路,本页采用自定义不重叠块穷举,未声称运行arch循环块实现。数据泄漏官方说明支持比较流程不能把测试参与拟合或选择。二者都不为八日模型改善提供真实显著性背书,结论范围由本页公开的构造输入和抽样单元限定。

重抽结果为什么保留正负号

展示改善时不能先对差值取绝对值再抽样,绝对值会把新增模型变差的日期也改写成正贡献。也不能只抽改善为正的四日作为“有效阶段”,那相当于依据测试结果重定义适用范围。若经济假设确实限定某些市场状态,应在外层预测发生前由当时可得变量划分状态,并对各状态保留足够样本。当前八日只足以验证配对和权重,不提供重新划分状态的统计余量。

继续核对研究流程时,可回到时序交叉验证母题;遇到相邻任务,再分别查看PBO组合对称交叉验证、涨跌预测概率Brier校准。本文的滚动验证工具链接仅作基础流程说明,新增审计和统计计算由本页独立表格与模型交付。

道积君编辑组,AI辅助编写与核算。本文为构造教学实验,来源说明方法,数字由明示输入计算,不代表真实策略、收益预测或统计审定。

复算资料

本篇编号DJ4-065。下载Python复算脚本(文本)与构造输入输出JSON,按编号核对本篇。脚本改存为.py后可用Python标准库运行,数据不是实际用户记录。

这个页面有问题?

提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。