EA策略测试的常见误区与优化思路
近期关注到不少朋友展示的所谓高收益交易系统,其回报率看似惊人,但仔细查看交易明细后,往往能发现一些问题。以下结合个人观察,梳理几个常见的测试误区。
1、图表周期的选择。有人习惯用很小的周期图,比如一分钟图,这类图表的数据精度与实际交易存在差异,可能影响实盘效果。若是打算做超短线,交易成本中的点差因素也必须计入,尤其是那些每次只追求10到20点盈利的策略,其可靠性往往不足。这类策略设置的止损幅度过小,也很容易被市场波动扫掉。使用EA进行测试时,建议选择盈亏空间在50点以上的系统,周期越大,测试结果与实际运行的偏差就越小。个人经验是,15分钟至1小时的图表精确度相对较高,做中长线交易时,历史回测与实盘结果较为接近。若周期过大,比如使用4小时线,由于决策总会滞后一个图柱,遇到快速行情时可能会产生较大的点位损失。
2、数据源的应用。测试数据应当使用历史数据,而不是带有预测性质的数据。当前图柱的计算应完全基于已完成的K线数据,不能引入当前尚未走完的数据,更不能使用未来数据,否则测试会带有明显的未来函数,导致成功率虚高。如果使用了当前图柱的数据,那么测试结果与实盘表现往往会不一致。因为当前K线的实时变化与仿真时所用的内插方法有本质区别,产生误差也是正常现象。
3、同周期内的操作频率。使用较大时间周期时,应避免在同一个时间柱内进行多次开平仓。一个可行的原则是,一个时间柱内只做一次操作,这样既能避免信号重叠带来的偏差,也能降低CPU占用,使系统运行更为稳定。经常看到有人使用一小时图,但买卖信号却都发生在同一个小周期内,这种操作方式与实盘存在较大差异。因为EA在测试时是基于插值来估算价格路径,而真实的市场走势是随机且不规则的,这样容易产生“葡萄串”式的密集交易信号,影响测试的有效性。
4、交易手数的设定。下单手数不宜过大,否则会显著受点差影响。此外,每年每日的库存费利息也在不断变化,难以被完全仿真。如果交易手数设置得较低,例如我的系统十年总共交易700多手,平均每年约70手,那么仿真结果与实际结果就会比较接近。我也曾逐一进行过图形核对,总体偏差不大。手数大小对结果影响明显,即便将亏损的EA反向操作,最终结果依然可能亏损,其主要原因就在于点差成本。
5、参数优化与稳健性。EA策略常常包含多个参数,因此数据优化是必要环节。优化的重点不应仅是追求高盈利,而应关注盈利区域是否对参数变化具有足够的稳定性。换言之,应当在参数平面上寻找一个相对宽广的盈利平台区,使得参数在小幅变动时,盈利结果不会出现剧烈波动。否则系统将十分脆弱,一旦市场状态发生转变,策略就可能失效。
个人研究多年,目前所构建的趋势跟踪系统仍不尽完美,主要问题在于最大回撤仍然偏高,约有30%以上。当然,通过降低仓位可以控制回撤,但盈利水平也会相应下降。若能将最大回撤控制在20%左右,系统的总盈利比例约在1500%左右,其他各项指标尚可接受。盈利交易比例约为36%,但单笔盈利金额大于亏损金额,这与华尔街一些成熟交易员所描述的系统特征相符,爱华官网未来有潜力用于实盘操作。
不过任何系统都有短板。趋势系统在震荡行情中通常表现不佳,而震荡系统在单边趋势里也容易遭遇亏损。想找到一种能完全适应两种行情的万能系统,基本是不现实的。因为如果能轻易判断当下的市场状态,那么也无需过度依赖EA工具了。生活与交易本就难以做到尽善尽美。
请记住,不要试图预测市场的未来。无论明天如何运行,保持跟随市场的节奏即可。拐点我无法精准捕捉,但能够在趋势启动时及时跟上,在趋势转向时果断跟随。
