美文网首页真格量化
少年,我看你骨骼清奇,有些秘籍要传授与你

少年,我看你骨骼清奇,有些秘籍要传授与你

作者: ce2a5fc7b1e4 | 来源:发表于2019-03-13 13:21 被阅读3次

    无需变异,只要少许科技,这些技巧将让您动真格时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 — — — — — —

    真格量化可访问:

    https://51zhenge.com

    真格量化微信公众号,长按关注:

    还有更多技术问题?欢迎加入真格量化Python技术交流QQ群  726895887

    相关文章

      网友评论

        本文标题:少年,我看你骨骼清奇,有些秘籍要传授与你

        本文链接:https://www.haomeiwen.com/subject/bnvzpqtx.html