活用蒙地卡罗法并透过回测估算未来回落的方法

avatar
· 閱讀量 60

每日教学


由于回测中的最大回落是基于过去数据的盈亏得出,因此难以作为估算未来回落幅度的依据。


透过单次的回测,并无法判断最大回落将会因为偶然因素而出现较大或较小的结果。


从回测的倾向来估算往后发生的回落极为重要,而非只于事后再透过回测来说明已经明显形成的回落。


活用蒙地卡罗法并透过回测估算未来回落的方法




在本篇文章中,将说明采用蒙地卡罗法来考察「未来必须容忍多大幅度的回落」的方法。


只要得知必须容忍的回落幅度,即可在未来发生回落的时候,判断应该持续进行或停止运用系统。


什么是蒙地卡罗法


在系统损益中的蒙地卡罗法,是利用乱数假设一个出现各种盈亏的系统场景,再以此来进行系统评估以及风险管理的手法。


为了掌握整体的概念,首先将简单说明蒙地卡罗法的步骤。


先准备好回测以及即时前瞻抽样得出的盈亏资料。


从准备好的盈亏资料当中,随机抽样取出n次的交易盈亏。

在此必须注意,随机抽样并非随机排序或是不重复抽样,而是采用重复抽样(允许重复抽出)。


可将此随机抽样得到的交易次数n制成新的损益资料。


藉由重复进行这样的过程,此随机抽样得出的交易次数n,将会产生无数个盈亏资料。

以下将举例说明。


下图为100次交易的随机抽样。


活用蒙地卡罗法并透过回测估算未来回落的方法

其次为重复1000次的100次交易随机抽样示意图。


活用蒙地卡罗法并透过回测估算未来回落的方法


从已经实现的盈亏资料当中,可得出复数(在此范例中为1000)的评鉴指标(获利因子、最大回落等等)。


蒙地卡罗法的目的


已经实现的损益资料并非来自于回测或即时前瞻的路径。


不同路径的盈亏资料可能会偏于正面,亦可能偏于反面。

当实际运用于系统上时,有可能时运不佳而出现偏向反面的结果,为了避免因为这样的状况导致预料之外的损失,便可事先利用蒙地卡罗法来估算「时运不佳而偏向反面的结果」。


由于蒙地卡罗法是利用随机采样的结果加以评估,并独立进行系统盈亏的假设,因此可能不适用于具有高度相依性的系统。


关于盈亏的相依性


以下将考察独立测试的假设不适用于模拟回落的理由。


独立测试可视为投掷硬币。

无论投掷硬币的结果已经连续出现了多少次的正面或反面,下一次的结果依然会是50%的机率。

独立测试便是如此,下一次的结果不会受到过去的结果所影响,机率与期望值都会维持固定不变。


而相依测试与独立测试有所不同,过去的结果将会影响下一次的机率与期望值。


以下为具有高度相依性的损益示意图。


活用蒙地卡罗法并透过回测估算未来回落的方法


与胜负随机发生的损益倾向(独立测试)相比,正向的高度相依性容易造成较大的最大回落,而反向的高度相依性则会带来较小的最大回落。


也就是说,若使用独立测试的蒙地卡罗法,在估算具有高度正向相依性的系统最大回落时,将会出现过小的评估结果。


同样地,当估算具有高度反向相依性的系统时,将会出现过大的评估结果。

调查有无相依性的连检定

验证有无相依性的方法众多,以下将针对连检定加以说明。


连检定可调查数列「有多接近独立测试」,并以数值加以显示。


连检定常用来查询大于中间值的数值将会连续抑或交互出现。


若将连检定用于交易中的损益,将可得知结果会大于0还是小于0,意即能够判断交易的结果会成功还是失败。


连续成功或失败的交易可统称为连,并如以下所示加以计算。


活用蒙地卡罗法并透过回测估算未来回落的方法


正向相依性越高则连的数量越少,反向相依性越高则连的数量越多。


当进行独立测试时,可以透过以下公式得出连的平均数与变异数,再从计算出的分数Z来判断「应该属于独立测试的范畴,还是当作相依测试」。


活用蒙地卡罗法并透过回测估算未来回落的方法


在此范例公式的数值中,分数Z若比±1.96更接近0便属于独立测试,高于+1.96则代表具有高度的反向相依性,反之低于-1.96就代表具有高度的正向相依性。

1.96这个数值是基于统计学的标准常态分布表所得出。


虽然可以透过连检定来调查是否具有相依性,但仍难以借此来精准判断是相依测试或独立测试。


此处相当重要的一点,即是模拟蒙地卡罗法中分数Z为0时的损益。


针对分数Z过低的系统,若使用蒙地卡罗法来估算最大回落,便会得到过小的评估结果,而针对分数Z过高的系统,若使用蒙地卡罗法来估算最大回落,则会得到过大的评估结果。


透过连检定所得出的分数Z,将可用于判断蒙地卡罗法估算出的最大回落「有多少参考价值」。

模拟最大回落

使用实际的资料来进行蒙地卡罗法,并将得出的复数最大回落以直方图来表示。


此处将单次抽样用于100次交易,并进行5000次的蒙地卡罗法测试。


也就是针对作为估算目标的系统,从回测与即时前瞻测试中随机取出100次交易,并制成新的盈亏路径,再将其重复5000次来产生5000条盈亏路径。


左侧图表即为产生的5000条盈亏曲线。


右侧则是分别计算5000条盈亏路径的最大回落并制成直方图。


活用蒙地卡罗法并透过回测估算未来回落的方法


将盈亏各自独立作为前提,产生的5000条盈亏路径可视为「若盈亏资料的特征不变,未来将可能出现的盈亏路径」。

在原本就具有优势的状况下,可将蒙地卡罗法的结果归纳为「只要能持续保持该优势,未来将可能形成这样的局势」。


若将得出的5000个最大回落合并分割成10个数据分组,将能目测判断可能发生的最大回落幅度。


活用蒙地卡罗法并透过回测估算未来回落的方法


以下来确认数据分组的资料内容。


活用蒙地卡罗法并透过回测估算未来回落的方法


针对最可能发生的第2个合并项目,可以见到实际测出的机率数值为38.04%、最大回落的幅度则是16431〜27073。

当运用此系统进行100次交易时,就应该设想可能会发生此幅度的最大回落。


接下来,要考量最大回落达到容忍度上限的的局势。


本次将95%作为必须容忍的发生机率。

以下来关注同表格的第5个项目。

由于第5个项目的累积(%)为96.46,因此可判断绝大多数的最大回落都止步于第5个项目。


活用蒙地卡罗法并透过回测估算未来回落的方法


因为第6个项目之后的最大回落发生机率低于5%,故若将其判断为异常状态,则第5个项目为止的最大回落幅度即为必须容忍的范围。


也就是说,最大回落到58998为止皆可以接受,一旦大于此数值就可视为异常状态。


总结


最后再回顾一次,判断蒙地卡罗法时「前提为使用独立测试,且验证资料的优势保持不变」,只要失去此前提便应视为异常状态(当最大回落超过容忍范围)。


如果是基于具有优势的验证资料来运用系统,那么一旦失去此前提就应该停止使用。


風險提示:本文所述僅代表作者個人觀點,不代表 Followme 的官方立場。Followme 不對內容的準確性、完整性或可靠性作出任何保證,對於基於該內容所採取的任何行為,不承擔任何責任,除非另有書面明確說明。

喜歡的話,讚賞支持一下
回覆 0

暫無評論,立馬搶沙發

  • tradingContest