在优化结果上需要帮助 - 页 3

 
Invalid:

我发现很难从优化的结果中决定一个最佳设置。

谁能告诉我,从优化结果中选择哪个是最好的,最低跌幅利润系数 或任何其他我应该考虑的东西?

谢谢!


只是想分享一下我的经验,我对这6个栏目做了一个判别分析,看是否能猜到哪些设置与随机选取相比会有最好的前向表现,我的结论是不能用。它在代理人适应市场时选择最好的,在不适应时选择较差的,而不能知道它在目前是否适应。在我使用的代理中,最关键的一栏是交易数量,最佳选择是交易数量、利润和缩减之间的一种微妙的平衡,但我无法表达一个明确的规则。

现在我正在尝试zzuegg建议的方法。我从优化中提取每一个有利可图的设置,并在过去进行测试,以保留最好的设置。我的想法是要有同时适应短期和长期市场的设置。正如你可以想象的那样,我们的目标是实现自动优化

 
pindurs:


只是为了分享我在这方面的经验,我对这6个栏目进行了判别分析,看看我是否能猜到哪些设置会比随机挑选的表现最好,我的结论是,这是不可行的。它在代理人适应市场时选择最好的,在不适应时选择较差的,而不能知道它在目前是否适应。在我使用的代理中,最关键的一栏是交易数量,最佳选择是交易数量、利润和缩减之间的一种微妙的平衡,但我无法表达一个明确的规则。

现在我正在尝试zzuegg所建议的方法。我从优化中提取每一个有利可图的设置,并在过去进行测试,以保留最好的设置。我的想法是要有同时适应短期和长期市场的设置。正如你可以想象的那样,我们的目标是实现自动优化。


IMO,使用优化器作为希望的发生器可能是棘手的事情。正如菲利普斯总是说:"这就像期望市场的行为和它在优化时期的行为完全一样"。优化器是一个#紧缩器,它根据(通常根据)sl_tp或period_time来定制结果。我自己看了一下,我怀疑很多有前途的参数 在优化期之外或在远期测试中的表现都很差。我认为,人们应该创建独立于优化器的策略,在2010年的数据上进行测试,如果显示有希望,就转移到2009、2008、2007......等。即使在过去10年中取得了最好的结果,你仍然要保持冷静,不要认为你有一个圣杯,因为没有圣杯存在。我认为,一个人在市场上采用的任何策略都有风险,比如说无法控制的风险。IMO,像Phillip、Gordon、WHRoeder、BB和本网站所有其他有天赋的分析师/程序员所提供的工具的最佳用途是帮助比较系统A是否<比>系统B更好。那么,我是否创建了任何系统,在第一次运行时就通过了10年的回测?但最近,我一直在为更多的系统编程,这些系统在2010->2008年表现良好,但在某一阶段出现了问题。与新手教科书上的程序相比,这是一种进步,这些程序看起来像如果RSI>80 && MA-1穿过MA-2,那么就卖出。像这样的系统通过反向测试,99%的时间都会失败。然后大多数人就会落入通过优化器的陷阱。对于我新形成的系统,我仍然很想只看它表现不好的短时期,并找到方法将其从系统中排除。但我担心这只是另一种形式的曲线拟合。我不只是在说硬编码(周一1-5-2003=不交易),那是完全错误的,笑。我是指使用任何类型的指标或震荡器。当一个系统出现这样的故障时,对我来说最好的办法是把有效的东西记录到内存中,并把EA存档,然后从头开始编程。不管怎么说,这个话题很好。我真的很喜欢关注这个问题。









 
ubzen:


对于我新形成的系统,我仍然很想只看它表现不好的短时期,并想办法将其从系统中排除。但我担心的是,这只是另一种形式的曲线拟合。我不只是在说硬编码(周一1-5-2003=不交易),那是完全错误的,笑。我是指使用任何类型的指标或震荡器。当一个系统出现这样的故障时,对我来说最好的办法是把有效的东西记录到内存中,并把EA存档,然后从头开始编程。

是的,我也试过根据不同的斜率或ATR水平将历史分成几个不同的时期,但在中断的时期上进行优化或多或少就像在最后三个月上进行优化一样,曲线拟合的风险仍然存在,就像在第一天。

最难理解的是,即使你到达一个代理,在过去10年中,当对最后几个月的大范围值进行优化时,是有利可图的,你仍然不确定你在历史数据上过度优化的程度,因为为了达到这个目的,你扔掉了数百个不错的想法,这正是优化器的遗传算法。

不,真的,我们有一个艰难的工作。

 
1005phillip:

你使用毁灭风险计算的方式是你定义一个时间段(月、周、年等),或某种增量(每笔交易、每10笔交易等),然后你把这些时间段的统计数据汇总。就毁灭风险计算的结果输出的实际含义(其单位)而言,这很重要。

有时,首先要集中精力确保你问的问题是正确的(换句话说,确保你试图计算的答案实际上是要回答你需要/想要回答的问题)。

例如,我的客户在每月的时间轴上运作。他们不关心每天或每周的事情,对他们来说,这一切都是为了每月的结果。因此,在我的案例中,我计算每周结果或每笔交易的毁灭风险对任何人都没有好处。

因此,我在回测中必须做的是捕捉每月的平均回报率(利润、损失、ROR等)。类似于下面这样的情况。


为了计算毁坏风险指标,你必须首先收集你的时间框架的数据。在我这个例子中,我需要收集月度回报率的结果,计算平均月度回报率,然后计算这些月度回报率的标准差。

在这个例子中,平均月回报率为12%,标准差为8%......从回测结果来看,这应该是未来的黄金,但事实并非如此(如你所见)。请注意,我把毁坏的风险称为损失的风险(ROL),因为我对知道我的账户何时会被毁坏不感兴趣(这是一个微不足道的问题),而我更感兴趣的是知道我应该多频繁地预期账户会被某个固定数额的资金淹没,例如20%。

因此,12%的月回报率和8%的标准偏差意味着我可以预期我的账户在6.5%左右的时间里会出现7.4%的账户价值损失(6.5%的月末事件,或者大约每15个月一次)。



因此,虽然我最初被这个看似莫名其妙的正向测试结果弄得措手不及,但根据回测结果,预期这样的月度结果是完全合理的,一旦非常15个月,我可以预期我账户的高水位会出现这样的负缩减。

所以你看,为了让你计算出一个有意义的损失风险评估,你必须首先决定什么时间段与你有关,然后你必须把结果集合在一起,以便于计算该时间段的平均和标准偏差的RoR。

一旦你有了回测的数据,你就可以用毁灭风险(或我喜欢的损失风险)计算来进行无数基于统计的分析。

这是我30组50次交易的结果(从2001年3月18日至2010年12月21日)。

初始存款为700美元


以下是我计算的结果。

平均ROR为=>2.9%。

标准差=>6.5%。

(这是很糟糕的.... 对吗?)

现在每组50笔交易...我可以预期的最大损失率是:0.1美元 X 50 X (20点+3点点差) = 115美元

115/700 = 16.5%

每50次交易中,我的损失不能超过这个数字。

有什么方法可以让我在计算损失风险时考虑到这一点吗?

 
sergeyrar:

以下是我计算出来的。

平均ROR为=>2.9%。

Stdev=>6.5%。

(这很糟糕....,对吗?)


是的,你希望你的μ/σ比大于1,最好至少是2。

仅有夏普还不够,σ值本身对确定任何给定夏普值的ROL很重要(这是一个不太为人所知的事实,但这是杠杆有问题的根本原因,也是美国CFTC正在减少最大杠杆的原因)。



这就是为什么存在着 "Beta值会死 "的说法。世界上最好的μ并不能挽救你的账户,因为σ很大,最终会有毁灭的风险。杠杆使σ变大,过度的仓位规模使σ变大,而人们却在追求大μ。

但是,如果你能实现大μ的唯一方法是使σ变大,那么你就注定要毁灭了。这是一个数学上的确定性,许多人不准备去理解或调查,所以CFTC将为他们做这件事,通过剥夺新手拨出大头寸的能力,强制规定σ可以达到多大的上限。

有很多人对CFTC在外汇中的杠杆控制感到愤怒,但CFTC实际上是想把人们从他们自己最大的敌人那里拯救出来。

sergeyrar:

现在每组50笔交易...我可以预期的最大损失率是:0.1美元 X 50 X (20点+3点点差) = 115美元

115/700 = 16.5%

每50次交易中,我的损失不能超过这个数字。

在计算损失风险时,有什么办法可以考虑到这一点吗?


损失的风险本身是一个概率分布,你可能损失的最大价值(115美元)只是这个分布上的一个点。你可能感兴趣的是知道这种情况可能发生的频率。你会每5年经历一次115美元的损失,还是每5个月经历一次?

这些都是你用RoL来回答的问题。"我多久会失去XYZ?"你问的是你有多大可能失去115美元,根据你的步骤允许的最大RoL,答案是9%。

 
sergeyrar:

哦......。

有一件事我还是不明白....,难道就没有任何其他因素影响这个计算吗?

让我们来看看你按月计算的ROR结果吧

让我们假设(为争论起见),一个月内的交易越多,你的ROR就越高

例如:0次交易,你赚0%。

10笔交易,你赚取5%(平均)

20笔交易,你可以赚到10%(平均)。

以此类推...

让我们假设在这30个月里,在ROR分布中存在一个很高的数值分布(每个月都有完全不同的交易数量)。

因此,平均回报率为10%,标准偏差为20%,没有负的ROR(你不可能有负的交易数量......)。

现在计算一个标准差的损失风险,也就是20%,我们会得到大约37%......这真的没有任何意义。

你知道我在说什么吗?


我真的不是想犯傻,但我不明白。我不明白你在这里提出的论点。一个月扔10次硬币,或者一个月扔20次,不管迄今为止扔硬币的历史如何,每次扔到正面的概率总是50/50。抛掷硬币的实际情况有时与统计数字不同,但这并不意味着统计数字无效,只是使它们的作用有限。

计算RoL的目的是,它在数学上是有效的,但它不保证。它只是一个指南,一种评估结果的方法,能更好地捕捉和呈现你交易策略中的指示性(系统性)风险。但机会就是这样,机会。有一个机会你永远不会经历损失,也有一个机会你会经历全部损失。

RoL帮助你计算这种机会,使其适合于交易策略和优化参数 的排序和下选。它不是圣杯,因为它不能预测未来,但如果未来在统计学上与过去相当,那么你就有合法的要求,试图将过去的统计数字映射到未来的统计数字(这就是气象建模师在准备他们的预测时使用的模型集合),以努力不预测未来市场,而只是预测未来市场的统计特征。

这是你有权希望得到的最好结果,真的。

 

谢谢你的时间!!我真的很感激

根据以下测试结果,我只是非常幸运。

在整个期间(大约有23组50次交易--无法在一次测试中全部完成),最大的连续亏损交易量是41次(这可能是在两组50次交易中分裂出来的)。

我应该更频繁地看到这种缩水?

最终,如果我继续 "玩 "这个游戏,我将得到9%的时间,这种损失的打击?

现在还有一件事

根据这份报告

我的平均盈利机会是8.85%,亏损机会是91.15%。

所以根据这个报告,连续50次亏损的机会是:0.9115^50 = 0.97% ...

这与9%相差甚远...这怎么可能呢?

如果我在95.3%的时间内输掉,这将是正确的,在这样的百分比下,我的期望值将是负的O_O

Ex= 0.953*(-23)+0.047*(247) = -10.31点每笔交易的利润

 

我在这里看到的一件事是,你赋予分布以高斯分布的功能形式,而我的理解是,毁灭风险的计算是基于泊松/随机过程的预期而得出的。

如果你想了解这些方程的推导,我建议你继续阅读以下书籍。考克斯和米勒的《随机过程理论》(The Theory of Stochastic Processes

,他们是毁灭风险方程的引用作者。

在我自己的工作过程中,为了将损失风险评估落实到我的回测/正向测试特征中,我采用了考克斯和米勒以及查姆尼斯的方程,对变量进行了一些简单的替换,(IMO)进行了有益的整合步骤,结果方程帮助我在正常化ROR基础上对交易策略参数的损失风险进行排序。(类似于1的RAROC)

 
1005phillip:

我在这里看到的一件事是,你把分布赋予了高斯分布的函数形式,而我的理解是,毁灭风险的计算是基于泊松/斯托克过程的期望值得出的。

如果你想了解这些方程的推导,我建议你继续阅读以下书籍。考克斯和米勒的《随机过程理论》(The Theory of Stochastic Processes

,他们是毁灭风险方程的引用作者。

在我自己的工作过程中,为了将损失风险评估落实到我的回测/正向测试特征中,我采用了考克斯和米勒以及查姆尼斯的方程,对变量进行了一些简单的替换,(IMO)进行了有益的整合步骤,结果方程帮助我在正常化ROR基础上对交易策略参数的损失风险进行排序。(类似于1的RAROC)


以我的方式对待它是错误的(作为瓜氏分布)?

这本书似乎很重

但还是买了......会试着钻研和理解。

谢谢!

 

它没有错,只是不会给你带来你认为的计算结果。

例如,说 "1+1=2 "是没有错的......因为数学计算显然是正确的。

但如果你说 "1+1=2,这意味着我可以在6个月内将我的账户翻倍,因为我的计算结果是2",那就错了。

无论如何,你要把你的注意力引向第61页上导致公式91的推导。