无需变异,只要少许科技,这些技巧将让您动真格时debug能力爆表
每一个有志成为宽客的交易者都需要学习一项古老的技能--“写代码”。这些代码将驱动他们的交易机器进行不知疲倦“战斗”。
就像大多数技能一样,很少有人能一上手就做到完美无缺。我们大多数人将经常面临bug的挑战。
有些bug足以让您的”战争机器“摔个四脚朝天。
您绝非孤立无援。我们将以在真格量化中进行策略回测为例,介绍几条debug的绝技:
1,识别bug:
在快速回测时,点击“测试一下”而页面右侧回测结果显示区无回测净值曲线显示,则您的程序很可能出现了bug。
或者在进行完全回测时,点击“开始回测”,页面左上角状态提示“回测失败”,也是代码出了bug的明显症状。
2,定位bug语句:
真格量化提供了强大的系统日志查看功能。日志窗口就是您定位bug的雷达屏幕。
我们一旦知道程序出了bug,就可以通过“系统日志”来快速定位出错的代码位置。
在快速回测中,可以直接点击页面右下角“系统”日志标签,查看系统报错信息。
或者在完全回测中,可以通过点击页面左侧“查看日志”来打开“系统”日志,来查看报错信息。
这里的信息“File "./Main.py", line 26, in OnMarketQuotationInitialEx”即为系统对bug的定位。其中Main.py即为您编写的python策略代码在真格量化平台内保存成的文件名称。line 26即为出错的代码的行号。
在这个例子里,策略代码的第26行出了一个简单的变量拼写错误(“accountname”写成了“accountnamea”),没能逃过系统的法眼。
3,print变量:
有时bug不会像前边例子里拼写错误那样简单。比如,您的策略回测能顺利进行,但一些交易总与您的预期存在差异。
此时您可以通过输出变量的方式来看看电脑到底在干些啥。
比如您想检查策略持仓手数是否正确,可以用:
print "持仓数量变量名 :" +str(持仓数量变量名)
的语句在用户日志中跟踪持仓数量的变化:
代码部分:
用户日志显示:
4.导出回测结果和日志:
我们不但有即时的”读心术“,还有能够进行详细事后分析的”黑匣子“。
在运行完全回测后,系统会保存详细的交易记录,可以通过”导出回测结果“下载并分析。
类似地,”用户日志“和”系统日志“也能在完全回测后下载并用文本编辑器打开分析,或提交给我们的工作人员来辅助定位错误。
我们相信有了这些强大的debug手段,您已经有能力定位大多数代码问题。
面对bug的挑战,您是不是感觉比过去更强大了呢?
快到真格量化来尽情释放您的策略超能力吧!
— — — — — — E N D — — — — — —
真格量化可访问:
真格量化微信公众号,长按关注:
还有更多技术问题?欢迎加入真格量化Python技术交流QQ群 726895887
网友评论