简体中文
返回

如何排查策略的问题

1. 使用检查策略功能

创建策略的过程中,点击画布右上角的"检查策略"按钮,系统会实时检查策略中,参数配置是否缺失、卡片是否适用于当前策略类型等问题。

点击检查信息中的文案,系统会定位到出现异常的卡片,帮助您修复异常。

 

2. 使用历史回测功能

历史回测帮助检验策略的有效性。在实盘运行前,建议您将策略进行多次历史回测,来检验策略配置是否正常,查看策略执行的结果是否符合您的预期。

另外,富途支持包括港股、美股、A股通、期货等多个市场多个品种的交易,但是每个市场的交易能力又略有不同。例如 A 股通市场不支持市价单,期货市场不支持止损市价单、触及市价单。这些不支持的交易能力,也是可以在回测中发现的。

 

3. 使用运行日志排查问题

3.1 日志介绍

历史回测和实盘运行,都有运行日志可以查看。日志中包括:事件卡片执行的详细信息、下单后的订单状态和成交状态、各种异常的报错文案等。

每条日志包含 3 个部分:

● 时间:北京时间

● 属性:分 3 类

  ○ info:正常运行时的信息记录。例如:事件卡片的执行结果、订单状态变更、成交状态变更、行情权限变化等;

  ○ warning:不会阻断整个策略运行的异常提醒。例如:下单失败、订单失效等;

  ○ error:会阻断策略运行的异常报错。例如:全局变量赋值异常导致策略初始化失败、行情订阅异常导致策略初始化失败、交易解锁有效期不足等。

● 详细内容:

  ○ 标题:若日志内容与某个卡片相关,标题的格式为"卡片名-卡片类型",方便与画布中的卡片一一对应;

  ○ 正文:详细信息。

3.2 排查方法

1) 检查日志中是否有error/warning类的信息。如果有,则按照日志中的提示调整策略,避免该错误再次发生。

2) 如果希望检查条件卡片的判断结果是否正确,可以运用赋值运算卡片,来打印条件变量的值(详见 3.2.1)。或者运用消息提醒卡片,打印自定义的信息(详见 3.2.2)。

3.2.1 巧用赋值运算卡片

目前事件卡片的执行结果支持打印日志,那么如何排查条件卡片中的问题呢?其实我们只需要把条件变量的值打印出来即可。

例如:

比较两个 MA 的大小时,通常我们会按下图配置条件卡片。

但是在回测中发现当 MA(5) < MA(10) 的时候,程序并没有执行后面的操作。这时,我们可以新建两个全局变量,运用赋值卡片,将 MA(5) 和 MA(10) 赋值给全局变量,就可以在运行过程中,通过日志来查看 MA(5) 和 MA(10)的具体数值是多少了。

3.2.2 增加消息提醒卡片

在关键节点处,运用消息提醒卡片,可以在日志中打印自定义的提醒内容。

例如:在双均线策略中,你想知道,究竟是哪个条件没有满足,导致最终没有执行下单操作。此时可以在每个条件后面增加一个消息提醒卡片,帮助我们从日志中得到答案。

 

4. 求助项目团队协助

如果在进行了上述所有操作后,还是不能解决问题,您可以加入富途量化官方交流群QQ群:972441253,求助富途量化项目团队协助您排查问题。