交易员们都知道要想提出有可持续优势的系统有多难。许多人可以通过看图表并确定完全适合该图表的交易策略。然而,当他们在一个较长的市场周期里来测试其策略时,却发现他们的系统并不可行。
还有一些交易员开发的系统忽略了佣金和滑点。交易系统看上去很棒,交易员也充满激情,但将现实的摩擦成本加进去后,这个成功的系统就成了一个仅仅盈亏平衡的系统,甚至更糟。
有了适当的测试和开发方法之后,对于交易员来说,在找到真正有效的那一个交易策略之前,测试其千百种想法将变得很常见。一个好的开发过程将会去除大量无用的交易系统。
然而,交易系统通过了初步的开发和测试之后,工作还远远没有完成。在将一个交易系统在真正的基金中运用之前,还需要更多的步骤。遵循这些“开发后”规则可以为交易员节省数千美元,也为其省去了很多令之心痛的难题。
一、蒙特·卡洛模拟
交易员常犯的一个错误是根据历史回溯测试资金曲线的形状做出交易决策。许多人盯着资金曲线,同时想着“因为历史最大跌幅为X元,那应该不会有更大的下跌了”。或者他们会得出结论“这个系统每年都盈利了,所以用它交易会很安全。”很不幸,这两个假设都太天真了,因为历史曲线仅仅是交易系统随着时间的推移可能会采取的许多路径之一,如下图所示。重新安排几个零星分散的交易,则最大跌幅会变得更大,而盈利期则很容易变为亏损期。另一方面,效果可能会比原来的更好。二、选择哪种方式?
交易系统的历史路径只是一种可能的结果。而将这段时间内交易系统的不同表现进行对比,不失为一个好办法。有没有一种办法能分析这一现象——可以看到一个交易系统所采取的各种不同的路径?答案是,有,蒙特·卡洛分析的方法就可以做到。蒙特·卡洛分析是基于这样一种观点,该观点认为历史交易在未来发生,但是是以不同的或未知的次序发生。将这些交易的次序搅浑,则会产生不同的资金曲线。虽然在有些情况下,蒙特·卡洛模拟是不合适的,但对于大多数的交易系统,蒙特·卡洛分析是有效的,同时还可以洞察交易系统。你只需记录每笔交易的结果,然后按各种次序选择出交易来创建一个资金曲线。显然,用电脑处理这种采样过程要快得多,并能创建成千上万的模拟资金曲线。当你分析成千上万的蒙特·卡洛模拟时,你会得到最大跌幅、可能年收益和破产风险的统计数据。如果你的业绩目标倾向于模拟结果,那么你可以很容易地看到你的系统能否满足你的目标。仅看历史资金曲线是无法获取这些信息的。三、观察策略的孵化期
当大多数交易员完成了一项策略的制定时,他们通常会很兴奋并马上投入真实的交易。这是一个很大的错误,尤其是对新的交易员来说。所有这一切都与交易软件有关。大多数的现代交易软件可以很容易的创建系统,修改规则和进行多种优化。实际上,大多数软件的开发是为了鼓励优化,因为软件使优化变得更容易。因此,由于软件促使了很多坏习惯的养成,在每经过一个新的测试后,历史资金曲线总会得到一些改善。然而,大多数时候看起来比较好的回测与未来的表现相关性为零(甚至是负的)。为什么会这样呢?简而言之,加入规则、引入过滤以及运行更多的优化将会使交易策略与历史数据相匹配,在优化时,这是一个巨大的风险。很多情况下,在开发后通过观察策略可以得到一些重要的线索。这个过程被称为孵化期。其最简单的形式是,让该策略自由运行三至六个月,期间并不进行实际的交易。每个月你可以观察下结果,并把这些新的结果添加到历史回测的曲线中。如下图所示,在这里面孵化期的结果被添加到“向前走”的历史结果里面。从这种情况来看,孵化期的结果看起来和历史结果相似,表明该策略开发的表现是正确的。在制定了一个系统之后,实际的资金交易并不是下一步。最好的办法是一直保持谨慎并作更多的分析。从蒙特卡洛模拟到孵化期再到相关性分析,以及有限的实际资金测试,通过这些额外的步骤可以节省资金以及减少那些让你心痛的时刻。最后,你将会拥有一个更稳健的策略。