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

avatar
· Views 58

每日教学


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


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


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


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




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


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


什么是蒙地卡罗法


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


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


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


从准备好的盈亏资料当中,随机抽样取出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