交易策略的优化在期货和外汇交易中,很多人都在使用手工进行交易。如果你的交易系统能够持续盈利,你可以考虑把他写成一个可以让电脑执行的交易策略,在MT4或MT5中被称为EA(专家顾问)。写成EA有主要有以
在期货和外汇交易中,很多人都在使用手工进行交易。如果你的交易系统能够持续盈利,你可以考虑把他写成一个可以让电脑执行的交易策略,在MT4或MT5中被称为EA(专家顾问)。写成EA有主要有以下几个原因:
1、更容易回测:在手动交易的过程,很难找出一个交易策略在哪些情况下不够完美。通过使用EA进行机器交易,可以对历史数据进行回测,看看该策略在过去是否能够成功的执行。这是自动交易的主要优势之一,有助于交易者在正式使用该系统前发现并消除交易系统的缺陷;
2、准确性更高:在手动交易中,很有可能对买卖信号判断错误出现误买或者操作失误。而电脑操作不会出现这种问题;
3、速度更快:EA是由电脑自动执行的,速度是人类不可比拟的;
4、可降低交易成本:与手动交易相比,EA可的下单速度更快,从而降低交易成本;
5、消除情绪化:交易机器人严格按照规矩执行,不会出现人们操作时出现过早或过晚操作的问题。
尽管EA有这么多优点,但是为什么在交易过程中却经常失败呢?原因是对EA的优化不足或优化过度造成的。
金融市场是动态的,并且是持续不断变化的。EA应该过一段时间优化一次,比如半年或1年一次,以根据新的市场条件调整交易策略。
什么是EA(交易策略)的优化?
优化策略是指在EA策略中找出最大化的利润或其他任何指定标准(如夏普比率)对应的输入参数。
举个例子,有一个双均线交易系统,在金叉处做多,双死叉处做空。而优化策略的目的就是找到快速均线和慢速均线的最佳值,从而实现在历史期间内的利润最大化。
什么是曲线拟合?
曲线拟合也简称为拟合。在交易策略系统中,曲线拟合是指在EA设计过程中,过度优化参数而达到非常漂亮的测试结果,以至于它失去了在未来盈利的能得,因为这样的参数只有符合过去某个特定时间段,而不一定对未来有用。
EA优化是门科学也是门艺术。如果优化过度就失去预测能力,而如果优化不足,就会达不到预期。
下面以EURUSD币在H1上的策略优化为例:
拟合是EA优化的副产品,不可能完全避免,但我们尽可能通过遵循特定的优化方法,通过优化每一个参数来使拟合产生的副作用最小。
优化流程:
下面以某个基于CCI指标的EA来说明优化过程。
先看看未优化之前的结果
图中的利润因素可以理解为盈亏比。
由图中可知,使用默认参数回测的结果非常不理想。
优化输入参数
到此有必要了解一下最优化(是应用数学的一个分支,主要指在一定条件限制下,选取某种研究方案使目标达到最优的一种方法。具体可自行查看百科)。
根据最优化的概念,我们首先要选择一个优化目标。
如果选择优化净利润值,结果可能是净利润值提高了,但回撤值也跟着变大了。
如果选择优化盈亏比,结果可能会使盈亏比提升到90%甚至更高,但净利润却可能会变成负值。
那么你会选择改进哪些优化目标的方法,来提高整体的收益呢?
为了解决这个问题,我们使用了MT5程序中策略参数优化功能,该功能允许使用任何自定义值来优化 EA。
将所有的优化结果存入Excel表格:
注:为了在优化数据中找到一个稳定的值,必须创建一个二维图。
得到最佳参数为CCI Period=46,因此使用该参数后得到的结果如下图:
从以上优化后的参数回测的结果来看,CCI 周期从 14 到 46 的简单更改使净利润增加了 280%,同时将回撤从 88% 的大量回撤减少到 27%。
到目前为止我们还没有添加任何过滤器或设置止损/止盈,这是一个很惊人的改进。
有同学可能会问为什么不选择最优的结果参数50,而选择了46,这是因为50已经在稳定值范围的最边上,因此选择了一系列稳定值的最中间参数46。这里就给出一个原则:
选择参数时尽量选择一系列连续的参数集中都有较高收益值的中间参数,并且这个相邻参数的范围越大越好。
优化过滤器
所谓过滤器可以理解为,在程序中增加一些条件,比如对日期和时间的过滤,或者余额波动范围、回撤范围或动态止盈之类的条件以参数的形式,传递给MT5优化程序,运行回测后得到的最优结果值。如果下图所示是一系列过滤器参数的设置。
在上图演示中以日期作为过滤条件,即在周一到周五中在某天是否开启交易来做优化。下图是使用优化出来的最佳值回测的结果。
通过添加过滤器略微提升了净利润,但将亏损从 27% 显著地降低到 13%,同时将盈亏比从 1.21 提高到了 1.50。
止盈和止损优化
在演示中,将使用ATR指标来做动态止盈和止损,而不使用固定止盈止损。
先优化止损值
止损值优化结果如下图
再优化止盈值
以下为盈利结果二维图
从结果得知止盈的最佳参数为140。
以下为使用优化后的止盈和止损值做回测的结果。
优化前后结果对比:
净利润 增长了334%;
我们在 ea 优化后得到的显著改进之一是回撤从 88% 的高值减少到仅 9%;
总交易数量减少到685,这仍然是一个具有统计意义的好数字;
利润率从 54% 提高到 67%;
盈亏比从 1.06 增加到 1.58。
结论
1、整个优化过程都是以0.1 手的固定手数完成的测试,如果使用固定百分比等资金管理方式的话,净利润可能会呈现指数级提升。
2、高级交易者可以使用一些压力测试来验证最终模型,例如蒙特卡罗模拟、样本外(out of sample)或前向分析。
3、优化后,建议使用模拟账户或小型真实账户密切监控模型在真实市场中的表现至少六个月。
这篇文章以EA策略优化方法为主要内容,不需要纠结具体策略,希望此文能对在做量化程序开发路上的朋友们一点提示和借鉴,愿您早日实现交易愿望。
原创文章,作者:币圈吴彦祖,如若转载,请注明出处:https://www.kaixuan.pro/news/457910/