How to compare live portfolio with backtest results

算法交易投资组合的生命周期

在真实外汇账户上运行交易策略是真正算法交易的一个非常重要的部分,它不仅有利于那些使用 StrategyQuant X 等平台进行交易的人,也有利于每个算法交易者。本文将包含一些技术,这些技术应用后可以更广泛地了解交易机器人在真实环境中的行为方式,并且至少但并非最后,可以改善交易结果。

与其他交易方法相比,算法交易的特点是可以详细了解正在运行的交易机器人所发生的情况。每个交易和订单都可以同时在无限数量的交易工具上进行管理。现在的关键在于如何充分利用这一优势。换句话说,基石不仅仅是收集数据,而是如何评估收集到的数据并获得真实交易的真实输出。那么,让我们开始吧;

算法交易投资组合的生命周期

在编写外汇交易机器人时,无论是否使用策略构建器,其算法交易生命周期都会经历五个里程碑,如上图所示。一切都从获得交易机器人的投资组合开始。不建议仅使用一个机器人,因为多样化对于算法交易的成功非常重要,并且可以通过使用多个机器人来实现。投资组合的构成可以在单独的文章中讨论。

接下来,您需要在真实市场中证明策略,即使它是以尽可能最好的方式创建的,一些问题可能仍然存在,并且直到机器人开始在真实货币世界中交易时才会被发现。测试期将让您发现这些错误,并让您更好地了解所采用的交易策略的预期效果。通过收集足够的真实数据,您可以决定投资组合中应该更改哪些内容,本文稍后将讨论这一过程。

现在估值已经完成,策略可以实时应用。现场交易估值应继续进行,我们将详细讨论。基本上,您应该将实时交易结果与回测结果进行比较的两个时刻是在测试期结束时和实时部署策略后的三个月后。每年定期进行一次的定期检查也非常重要。

监控实时交易结果

在您的交易平台上开始实时交易之后,此过程的第一步是在 FXBlue 或 MyFxBook 等在线监控平台之一中注册您的交易账户,第一个步骤可以轻松访问所有必要的统计数据,因此本演示中将使用它。下图显示了如何将您的真实账户交易历史记录导出到 CSV 文件中,此保存的报告将在本教程的后续步骤中使用。

The FxBlue.com free online monitoring platform

FxBlue.com 免费在线监控平台

Export of live trading results into a CSV text file

将实时交易结果导出到 CSV 文本文件

使用 Quant Analyzer“比较结果”模块批量比较实时和回测结果

通过Quant Analyzer软件“比较结果”模块,可以对实时策略结果和从多个来源获得的回测结果进行批量比较,以引入多种场景。

“比较结果”模块如何工作?

它允许比较交易平台/实时结果和StrategyQuant X/AlgoWizard 中的回测之间的多个结果。

这可以通过将每个报告加载到 Quant Analyzer 中然后将其合并到投资组合中来手动完成,但这个新模块可以一次自动为所有文件执行此操作。

左上角有一个新图标“比较结果”

“Compare results” QuantAnalyzer module

“比较结果”Quant Analyzer 模块

“比较结果”模块的配置

  • 文件夹1
    包含交易平台实时结果或回溯测试的文件夹 – Tradestation、MetaTrader、MyFxbook、FxBlue 等。支持 Quant Analyzer 识别的所有格式
  • 文件夹2
    该文件夹包含来自 StrategyQuant X / AlgoWizard 的策略回测。它识别 .sqx 和 .str 格式。
  • 仅加载主要结果复选框
    .sqx 文件可以包含来自交叉检查或其他市场的多个结果,这就是此复选框选项存在的原因,因此当未选中时,这些结果将作为投资组合一起加载。默认情况下,它应该保持选中状态。
  • 如何匹配结果
    • 按名称匹配 – 意味着对于文件夹 1 中的每个文件,它将尝试在文件夹 2 中查找具有相同名称的文件。找到后,这两个结果将合并到一个文件夹中。
    • 按幻数匹配 – 当您有来自 MyFxbook / FxBlue 的报告时可以使用此功能,其中包含多种策略的交易列表,并按幻数进行区分。

      使用此选项,它将识别从文件夹 1 加载的报告中的所有幻数,并将尝试在文件夹 2 中查找名称中包含此幻数的策略。

      例如,如果 Magic Numbers 是 12345、76543,那么它将在文件夹 2 中查找名称中包含字符串“12345”和“76543”的文件。如果找到,它将把这些找到的结果合并到一个文件夹中。

执行结果比较

当您单击“比较”按钮时,它将执行比较并写入日志。所有比较结果都存储在投资组合数据库中。

Performing results comparison

执行结果比较

Result comparison graph

结果对比图

在此示例中,TradeStation 中的策略回测(第一条蓝线)与 StrategyQuant X 中的回测(第二条红线)进行了比较。交易中可以看到一些差异,但股票彼此非常接近。

  1. 提示:在导入报告期间设置符号定义

    许多经纪商使用自己的符号语法,这些语法可能未在 Quant Analyzer 设置文件中定义。在这种情况下,Quant Analyzer 希望在您将帐户报告加载到其中时能够识别它们。以下是如何在 Quant Analyzer 设置文件中一次定义所有符号:

    Matching symbol’s definition in QuantAnalyzer

    匹配Quant Analyzer中符号的定义

    1. 在文本编辑器中打开此文件 C:\QuantAnalyzer47\settings\ PredefinedSymbols.csv。
    2. 在配置文件末尾添加包含仪器设置的新行,如下例所示:
      30;DE.30;25;1;0.1
      FDE30;FDE30;25;1;0.1
      ES;ES;50;0.25;0.25
    3. 保存更改并重新启动 Quant Analyzer
  2. 提示:切换结果以点数显示

    结果显示应从金钱改为点数,以便正确比较结果。

    Switch presentation of results from "money" to "pips"

    将结果显示从“金钱”切换为“点”

不同结果比较场景的示例

  1. 场景:将 fxblue 实时数据与 StrategyQuant X 进行比较

    对于使用 StrategyQuant X 创建策略的交易者来说,这是最常见的情况:

    Compare fxblue live data with StrategyQuant X

    将 fxblue 实时数据与 StrategyQuant X 进行比较

    Comparison graph

    对比图:绿线是回测,红线是FxBlue的结果。您可以看到,与实时结果相比,回测相当短。关于实时/BT 准确度结果匹配良好

    1. 设置包含 fxblue 结果文件的文件夹的路径(在“监控实时交易结果”章节中讨论)。
    2. 设置回测文件夹的路径。
    3. 通过幻数设置匹配。
    4. 单击加载实时结果。
    5. 双击数据库中的结果。
  2. 场景:将 Metatrader 4 回测数据与 FxBlue 进行比较

    如果您有 MT4/MT5 代码的交易机器人,并且可以在 MetaTrader 中进行回测,则可以采用此场景。请注意,大多数经纪商不会为交易品种提供足够长的历史数据,但免费的 QuantDataManager 可以让您访问更长的历史数据。继续比较,步骤与之前的场景类似:

    Comparing MT4/5 and FxBlue results

    比较 MT4/5 和 FxBlue 结果

    On the image, you can see that results fit almost perfectly

    在图像上,您可以看到结果几乎完美契合

    1. 选择 FX 蓝色报告。
    2. 选择 MT4 报告。
    3. 设置通过幻数或回测名称进行比较。
    4. 单击加载实时结果文件。
  3. 其他场景

    TradeStation 实时报告还可以加载并与 StrategyQuant X 中生成的策略进行比较。 MT4回测结果还可以与StrategyQuant X结果进行比较。存在多种使用该模块的方法。

比较结果解读——何时停止交易策略?

真实结果通常会比回测稍差,因为真实交易总是涉及滑点、尖峰等。因此回测交易与真实交易之间的相似度百分比非常重要!它们之间的显着差异表明我们应该停止交易该策略,因为该策略的逻辑执行存在一些差异,而如果匹配达到80%,则说明该策略的质量。

实时结果与回测的偏差如下图所示。测试期间情况上的红色矩形标记表明停止交易该策略。

Real-backtest results mismatch

真实回测结果不匹配

如何与回测相比评估现场表现?

除了匹配结果之外,在实时交易过程中还需要评估一个更重要的方面,特别是在评估测试期间。它将实时表现与回测进行比较,其中可以获取交易品种(例如欧元)的整体利润,并将其与回测进行比较,以找出实际表现与回测的百分比,例如可以是 70%。一般来说,70% 到 100% 就可以了,因为实时条件总是比理想的回测更艰难。但如果该百分比下降至 30%,则需要进一步研究来找到这种不一致的原因,例如,该符号可能缺乏流动性,从而导致大幅滑点。

结论

几年前,缺乏评估实时结果的方法和工具。现在有许多定制解决方案用于此目的,为拥有广泛支持平台(例如 Quant Analyzer)的每个人提供服务。本文重点介绍实际示例以及如何评估实时交易期间结果的规则。制定良好的规则将帮助您在投资组合的生命周期中做出明确的决定,并使您的结果更加一致。

Published On 周四、 2 九月 2021

谈论 Quant Analyzer

本博文中包含的信息、图表或示例仅用于说明和教育目的。 不应将其视为购买或出售任何证券或金融工具的建议或认可。 我们不会也不能提供任何类型的财务建议。 我们的任何员工或相关人员均未注册或被授权提供财务建议。 我们不代表任何人进行交易,也不推荐任何经纪商。 在某些情况下,我们与文章中提到的产品或服务有实质性链接。 这可以是补偿或报酬的形式。

分享