要点
- 提出者
- Bradley Efron,1979 年
- 关键特征
- 有放回地抽:一笔交易可能出现好几次,也可能一次都不出现
- 典型输出
- 分位数区间,例如 95 % 对应第 2.5 到第 97.5 百分位
- 相关数据
- 分块自助法把连续的观察绑在一起
它怎么运作
拿一次回测的 50 笔交易结果。从这个列表里随机抽 50 个结果,每抽一个之后再把它放回去,于是有些交易出现了两次,有些一次都没出现。在这个人造样本上算平均每笔交易。重复 10 000 次。这 10 000 个平均值的第 2.5 和第 97.5 百分位,就构成了平均每笔交易的一个近似 95 % 区间。这个方法不需要假设结果服从正态分布,而这正适合带着厚尾的交易数据。
当各个观察彼此相关时,比如相邻的交易日常常如此,抽取单个观察就把这种相关性打断了。分块自助法改为抽取一段段连续的观察。
自助法与重新排序
一次重新排序,或者说置换,是在不放回的情况下把观察到的结果重排:每一笔交易都恰好出现一次,变的只是顺序。它回答的是关于次序的问题,比如换一个顺序的话回撤可能有多深。自助法则制造出新的组合:一条路径里可能包含最好的那一天三次,而最糟的那一天一次都没有。这正是它在估计一个平均值的不确定性时有用的原因,也正是当问题是某个具体账户能不能活过那些真实发生过的日子时,它不合适的原因。
在 Senzoukria 里
应用刻意不对它的自营商模拟做自助重采样。蒙特卡洛模块的源码解释了这个选择:各个交易日是在不放回的情况下被打乱的,因此日度结果的分布严格保持为观察到的那一个,因为自助法会造出含有三份最好的一天、却没有最糟那一天的路径,而在账户存活这个问题上,这个假设是站不住的。Gauntlet 改用两种置换程序:对交易结果随机翻转符号,用来算夏普比率的 p 值;以及把交易顺序重排,用来得到最大回撤的分布,两者各抽 10 000 次。一个平均值的自助区间,仍然可以在软件之外、用一份导出的交易清单算出来,比如交易日志的 CSV 导出。
局限
- 自助法只能重新组合已经观察到的东西;它造不出一个比样本里最大那一笔还大的亏损。
- 在非常小的样本上,重采样出来的分布很粗糙,区间也不可靠。
- 它假设这个样本代表了那个过程;一个取自某一种市场状态的样本,对另一种状态什么也说明不了。
- 分块自助法里的块长是一个选择,而它会改变结果。
相关内容
同一栏目
其他语言版本
常见问题
- 为什么要用自助法,而不用一个公式来算置信区间?
- 建立在正态分布之上的公式,对交易结果可能是误导的,因为后者常常是偏斜且厚尾的。自助法用的是经验分布本身。在又大又规矩的样本上两者给出相近的答案;在偏斜的样本上,自助法通常更诚实。
- 蒙特卡洛模拟就是自助法吗?
- 不一定。蒙特卡洛只是说用随机抽取。一个在不放回的情况下重排观察结果的蒙特卡洛是置换;一个有放回抽取的才是自助法。两者回答不同的问题,给出的区间也不同。