量化交易软件:在真实分时基础上测试交易策略
交易策略
赫兹量化已经开发了一款简单的交易策略, 它基于在最后 RangeLength 范围内的柱线突破其范围。交易规则如下: 在新柱线开盘伊始, 计算最后 N 根柱线的最高价和最低价的范围。附加 EA 的 RangeLength 参数省缺值为 20 根柱线。它代表我们所建立范围的窗口宽度。
在首次向上突破范围 - 或者向下时, 开始统计接收分时的累加 (高于和低于突破价位的数量)。一旦接收的分时数量超过 (或等于) TicksForEnter=30, 则做出在当前价位入场的决定。如果范围向上突破, 高于突破价位的分时数量应当超过低于该价位的分时数量。在此情况下, EA 开多头仓位。相反的情况则导致一笔空头仓位。
已开仓位会在 BarsForExit 根柱线之后被平仓。如您所见, 规则十分的简单。参看以下屏幕截图会更清晰:

编辑切换为居中
现在, 让我们来看看当应用三种不同分时模型模式之一时, EA 的结果会如何变化。

编辑切换为居中
测试进行中
交易策略已在 2016 年上半年的 EURUSD H1 上进行了测试 – 从 2016 年 01 月 01 日至 2016 年06 月 30 日。所有 EA 参数设为省缺值, 因为赫兹量化的目的是在不同模型模式下的简单策略测试。

编辑切换为居中
不同测试模式的结果比较
不同模式的测试结果显示在表格中。第一件吸睛的东西就是交易操作的数量差异。因此, 所有其它的结果同样会有所差别。测试在 "1 分钟 OHLC" 模式花费了 1.57 秒, 它比 "每笔分时" 模式快了 23 倍。当优化交易系统的输入时, 这种差异十分重要。
与之相反, 比之 "每笔分时" 模式的 36.7 秒, 模式 "基于真实分时的每笔分时" 却变得更耗时 – 74 秒。这很容易用事实来解释, 当使用真实分时数据的时候, 建模分时数据将会超过 3 千 4 百万笔, 这几乎相当于 "每笔分时" 模式的两倍。因此, 在测试里使用更多的分时数据, 在策略测试器里过一遍就需要更多时间。
参数
1 分钟 OHLC
每笔分时
每笔分时基于真实分时
分时
731 466
18 983 485
34 099 141
净盈利
169.46
-466.81
-97.24
交易
96
158
156
成交
192
316
312
净值回撤 %
311.35 (3.38%)
940.18 (9.29%)
625.79 (6.07%)
余额回撤
281.25 (3.04%)
882.58 (8.76)
591.99 (5.76%)
盈利交易 (%)
50 (52.08%)
82 (51.90%)
73 (46.79%)
平均连续胜率
2
2
2
测试时间包括分时生成时间
1.6 秒
36.7 秒
74 秒 (1 分 14 秒)
不同模型模式的测试结果显示在以下动态 GIF 图片中, 可令您比较参数。

编辑切换为居中
余额和净值的图形也不尽相同。正如赫兹量化看到的那样, 这个简单的策略难以令人印象深刻 - 增长阶段之后紧随回撤, 且测试图形看起来更像是巧合锁链。此策略肯定不适合实盘交易, 因为结果就好似掷硬币。

编辑切换为居中
交易系统依据分时数据
赫兹量化早先呈现的交易系统高度依赖建模方法 – 亦即, 接收分时数据的数量和它们抵达的顺序。当在 "1 分钟 OHLC" 模式下测试时, 我们得到的分时数据最少, 以至于不足以开仓。"每笔分时" 和 "基于真实分时的每笔分时" 模式, 分时数据抵达顺序也许十分的不同。在 "每笔分时" 分时模式情况下, 我们接收的是单向上行或单向下行顺序的分时, 无形中保证了突破范围之后入场。在 "基于真实分时的每笔分时" 模式情况下, 真实分时的历史用于制造价格的动态异常行为。
因此, 我们能看到入场和离场点在图表是不同的, 哪怕是在测试间隔的开始。此外, 一些交易被略过。

编辑切换为居中