开发量化策略的流程及思考

0
回复
4456
查看
[复制链接]

34

主题

33

回帖

270

积分

中级会员

积分
270
来源: 2019-7-16 22:26:55 显示全部楼层 |阅读模式
一个策略的开发流程是什么样的呢?
  • 大致步骤如图:

你看! 编程只是其中一环。但是是重要的一环。
- 1、建模:    我的理解是,你的想法应该是一个靠谱的好主意(我想没人愿意付出大量精力去验证一个错误的IDEA)。所以这个好主意不是胡思乱想出来的。是通过观察市场现象、行为。数据分析,数学分析等一些科学的方法设计出的完善的逻辑、数学模型。并且要通过论证。- 2、编程:    这个过程就如同拿到设计图纸后造车一样。当然实际写的时候会遇到各种在 模型中 没有想到的问题,需要反复调整。经过这个过程你会深刻的体会到: “想的简单”这几个字,也会知道 策略 和 策略源码 之间的距离。- 3、回测:    必不可少的一步。此刻不管策略代码作者多自信,这个时候的策略代码也只是残次品。 还要经过 “回测” 这个大熔炉 锤炼。回测是在历史数据中,舒舒服服的测试。主要验证程序的基本逻辑,基本功能,验证策略的基本正确性、可行性。这个过程往往会发现一批明显的BUG。- 4、实时行情的模拟交易:    在明显的问题通过回测检验,排除后。回测结果接近预期的设计(至少是策略有可行性)。开始让策略程序接受实时行情模拟交易的考验。这个阶段依然会发现不少问题,这些问题更加隐秘、难以查找。所以该阶段DeBug需要认真。找错误是个基本功。(甚至我个人感觉DeBug功力比写代码还重要)。如果这方面经验不足、粗心大意,会导致一个BUG,没处理对(甚至没找到,但是误改了别的地方),进而产生更多的BUG,这种情况我经历过,说体验就两个字:“抓狂!”。- 5、实盘测试    终于迎来最残酷的实盘测试,策略程序要经得住实盘各种问题的摧残(网络异常,超时,交易细节问题,响应速度,容错机制 等等)。 有些问题藏得非常之深。要经过长时间的实盘测试才能体现出来。找出这些问题的根源也是需要一番功夫的。
一个策略大概需要以上步骤。反复测试占据整个周期的大部分,编码只是一小部分。
  • 经验:

    • 1、我在写第一个策略的时候也是被折磨的不轻。并且通常不要奢望第一次写能完完整整写完。最好是先看一些简单的代码,去给这些代码写注释,明白每行的作用。
    • 2、模仿一些简单的策略代码。
    • 3、认真,这个是必须的。粗心大意简直是灾难。
    • 4、耐心,“BUG虐我千百遍,我待BUG如初恋!” 保持好心态。实在搞不定的时候,去看看电视,街上赏赏美女,再继续。
    • 5、在初学阶段用好注释,用好输出信息的函数(API),在BotVS上就是用好Log()函数。可以这样写Log("运行到这里,标记A"); 把这个加入到你代码的逻辑结构里面,方便知道何时程序进入有这个Log函数的流程。活用Log可以帮你定位不少BUG。 在实际写代码的时候,经常陷入各种死循环,然而却不知道程序死到哪儿了。
    • 6、别怕! 动手吧!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册
关注微信