← 返回文章库

把收益一天天打乱会丢掉什么:循环块抽样怎样保留局部关系

2026-10-24 · L5

把每日收益独立抽取,容易打散相邻日的共同状态;循环块抽样先抽连续索引块,再把块拼成同长度新序列,从而保留块内部的局部关系。它不是原序列的随机换序,样本允许重复和遗漏。本页公开固定种子、每块起点、环绕位置和全部十六次均值,说明区间怎样从有限构造分布取出。

十二期收益和抽样目标

构造十二个等间隔实验日,收益以百分数点输入,依次为3、4、5、4、负3、负4、负5、负4、2、3、4、3。这里的3表示百分之三,计算均值后仍以百分数点显示,不先换成增长因子,也不连乘复利。目标是这段日收益算术均值的不确定性演示,不是最大回撤或资金路径的概率。

原始均值为1个百分点,负收益连续四天出现,正收益也聚集。循环块长三时,每次抽四个起点;每个起点扩展成连续三个零基索引,越过十一就从零继续。四个块连起来恰好十二个观测。固定Python标准库Random种子6061,每种块长各自重新初始化同一随机源,抽样次数固定十六,不声称与其他库随机数算法逐条一致。

零基原索引日收益百分数点
03
14
25
34
4-3
5-4
6-5
7-4
82
93
104
113

块起点、环绕和截断怎样复算

对于起点s、块内偏移j,取索引(s+j)模十二。起点十、块长三就给出十、十一、零,最后一项是环绕;这人为接上了样本尾部与头部,目的是让各观测被块覆盖的机会对称,不代表真实市场第十二日之后回到第一日。若长度不是块长的整数倍,则先抽足ceil(n/L)块,拼接后只保留前n项,不能让样本长度随最后一块多出几行。

下表列出块长三全部十六次抽样。starts是四个块首,blocks给出扩展后的分块索引,wrap与四块一一对应;均值直接从最终十二个索引查回原始收益再相加除十二。遇到同一原日重复出现,不要去重;有放回抽样就是需要允许重复。

重复号块起点块内索引每块是否环绕最终样本索引均值百分数点
1[11, 5, 2, 3][[11, 0, 1], [5, 6, 7], [2, 3, 4], [3, 4, 5]][是, 否, 否, 否][11, 0, 1, 5, 6, 7, 2, 3, 4, 3, 4, 5]0
2[7, 10, 4, 7][[7, 8, 9], [10, 11, 0], [4, 5, 6], [7, 8, 9]][否, 是, 否, 否][7, 8, 9, 10, 11, 0, 4, 5, 6, 7, 8, 9]0
3[1, 4, 3, 9][[1, 2, 3], [4, 5, 6], [3, 4, 5], [9, 10, 11]][否, 否, 否, 否][1, 2, 3, 4, 5, 6, 3, 4, 5, 9, 10, 11]0.66666667
4[10, 3, 11, 3][[10, 11, 0], [3, 4, 5], [11, 0, 1], [3, 4, 5]][是, 否, 是, 否][10, 11, 0, 3, 4, 5, 11, 0, 1, 3, 4, 5]1.16666667
5[11, 2, 1, 10][[11, 0, 1], [2, 3, 4], [1, 2, 3], [10, 11, 0]][是, 否, 否, 是][11, 0, 1, 2, 3, 4, 1, 2, 3, 10, 11, 0]3.25
6[9, 7, 2, 4][[9, 10, 11], [7, 8, 9], [2, 3, 4], [4, 5, 6]][否, 否, 否, 否][9, 10, 11, 7, 8, 9, 2, 3, 4, 4, 5, 6]0.41666667
7[4, 4, 6, 2][[4, 5, 6], [4, 5, 6], [6, 7, 8], [2, 3, 4]][否, 否, 否, 否][4, 5, 6, 4, 5, 6, 6, 7, 8, 2, 3, 4]-2.08333333
8[1, 10, 3, 6][[1, 2, 3], [10, 11, 0], [3, 4, 5], [6, 7, 8]][否, 是, 否, 否][1, 2, 3, 10, 11, 0, 3, 4, 5, 6, 7, 8]1.08333333
9[4, 6, 6, 5][[4, 5, 6], [6, 7, 8], [6, 7, 8], [5, 6, 7]][否, 否, 否, 否][4, 5, 6, 6, 7, 8, 6, 7, 8, 5, 6, 7]-3.25
10[9, 0, 3, 5][[9, 10, 11], [0, 1, 2], [3, 4, 5], [5, 6, 7]][否, 否, 否, 否][9, 10, 11, 0, 1, 2, 3, 4, 5, 5, 6, 7]0.5
11[8, 3, 3, 11][[8, 9, 10], [3, 4, 5], [3, 4, 5], [11, 0, 1]][否, 否, 否, 是][8, 9, 10, 3, 4, 5, 3, 4, 5, 11, 0, 1]1.08333333
12[1, 9, 0, 11][[1, 2, 3], [9, 10, 11], [0, 1, 2], [11, 0, 1]][否, 否, 否, 是][1, 2, 3, 9, 10, 11, 0, 1, 2, 11, 0, 1]3.75
13[2, 11, 8, 0][[2, 3, 4], [11, 0, 1], [8, 9, 10], [0, 1, 2]][否, 是, 否, 否][2, 3, 4, 11, 0, 1, 8, 9, 10, 0, 1, 2]3.08333333
14[11, 3, 2, 0][[11, 0, 1], [3, 4, 5], [2, 3, 4], [0, 1, 2]][是, 否, 否, 否][11, 0, 1, 3, 4, 5, 2, 3, 4, 0, 1, 2]2.08333333
15[0, 11, 3, 6][[0, 1, 2], [11, 0, 1], [3, 4, 5], [6, 7, 8]][否, 是, 否, 否][0, 1, 2, 11, 0, 1, 3, 4, 5, 6, 7, 8]1
16[5, 0, 2, 0][[5, 6, 7], [0, 1, 2], [2, 3, 4], [0, 1, 2]][否, 否, 否, 否][5, 6, 7, 0, 1, 2, 2, 3, 4, 0, 1, 2]1.41666667

十六次分布和块长变化

块长一等于逐日有放回抽样,会破坏本例相邻收益聚集。块长三保留每块内部两次相邻关系,块长六保留更长局部状态,但每次只有两个块,抽到的组合更少。块与块的接缝仍会人为制造邻接,不存在“选择任意块长就完整保留所有依赖”的承诺。

重复号块长1均值块长3均值块长6均值
10.7501
22.666666670-1.41666667
3-1.333333330.666666672.83333333
42.666666671.166666670
52.753.25-0.83333333
60.416666670.416666671
71.66666667-2.083333331.08333333
811.083333330.5
9-0.58333333-3.250.75
101.750.52
111.751.083333332.75
12-0.53.75-1.5
130.833333333.08333333-1.83333333
141.752.08333333-0.33333333
150.0833333312
163.833333331.41666667-0.58333333
块长重复数重复均值平均2.5%分位97.5%分位最小最大
1161.21875-1.052083333.42708333-1.333333333.83333333
3160.88541667-2.81253.5625-3.253.75
6160.46354167-1.708333332.80208333-1.833333332.83333333

分位点使用排序位置(B-1)q线性插值,B为十六。块长三的演示百分位区间为负2.8125至3.5625个百分点;块长一和六并列,显示选择块长会改变结果。它们不必按块长单调变宽:有限随机抽样、原始周期结构与可用组合共同影响端点。不能从本例块长六区间更窄推导“长块更准确”。

区间叫什么,不能说成什么

我们把两端分位数称作本次构造bootstrap百分位区间,标名义百分之九十五只是说明取了百分之二点五与九十七点五分位。十六次重复远不足以稳定估计尾部分位,输入也只有十二期;固定种子保证复算一致,不保证区间具有百分之九十五真实覆盖率。覆盖率是反复从目标数据生成机制采样时覆盖真参数的频率,需要另行理论条件或校准实验,本页没有执行。

增加重复次数只减少给定经验重抽分布的蒙特卡洛误差,不会凭空增加原始市场信息。把十六改成十万,仍只有这十二个原始日和块内模式。样本没出现过的极端事件、交易成本跳升或流动性枯竭,不会从索引里自己生成。趋势和结构突变还可能破坏局部平稳近似,循环首尾连接尤其需要谨慎解释。

百分位区间跨零也不能直接翻译成某个零均值检验的精确p值;bootstrap分布以样本经验结构为中心,不是已经强制满足零均值的原假设分布。若要检验零均值,需要明确重中心化、检验统计量和依赖假设。本文故意只做均值估计演示,不输出策略显著性或未来盈利概率。

怎样发现索引实现错误

先检查每次最终索引长度都为十二,所有索引在零到十一之间;再从任意一个wrap为真的块核对模运算,确认尾部不会直接丢弃。其次人工挑一次重复,把十二个收益相加并除十二,与表中mean比较。最后核对三个块长都从原始数组读取,而不是在上一次已抽样结果上继续抽,后者会悄悄改变实验定义。

实践中还应记录序列频率、交易日缺口、抽样统计量、块长选择方法与原数据版本。多资产组合要在同一索引下同步抽所有资产列,分别抽各列会破坏共同市场冲击。若比较两套模型,应同步抽它们的配对日期,而不是各自造一条互不相关的历史。

arch时间序列bootstrap官方说明区分固定长度循环块、固定长度非循环块与随机长度平稳bootstrap,支持本文的首尾环绕定义。它没有为本例十二期、十六次重复提供覆盖率保证;程序仅用标准库重建这里的透明索引,不宣称重现arch库的随机数实现或完整置信区间功能。

环绕优势与代价应分别看

非循环固定块只允许完整落在样本内的起点,边缘日进入候选块的机会往往少于中部日;循环方案让每个位置都能作为块首,修正这种几何不对称。但是它把末尾正收益和开头正收益连接起来,也额外保留了原样本不存在的接缝。两种方法的差异来自抽样设计,不能因为循环名字更完整就认为所有数据都应采用。真实序列若首尾处于不同状态,应先评估拼接的可解释性,并将块长和环绕政策写进研究方案。

继续核对研究流程时,可回到时序交叉验证母题;遇到相邻任务,再分别查看IC均值Newey West标准误、因子多重检验Holm与BH。本文的滚动验证工具链接仅作基础流程说明,新增审计和统计计算由本页独立表格与模型交付。

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

复算资料

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

这个页面有问题?

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