前言
我是量化的初学者,只是因为量化我觉得能实现我自由自在的生活方式,也是相对而言自己适合发挥的一个方向,所以觉得值得学习。
于是我找上两个好友成立团队,两个负责开发,一个负责打杂,就这样我们开搞起来了。
刚开始的确无从学起,量化涉及到的知识有点多,最重要的一个基础,就是得会Javasrcipt或者python编程语言,虽然我做技术快十年,但这两门语言真的跟他们不熟。但这个对我挑战其实不是最大的。
然后就是对数字货币市场的发展历史和未来有很深刻地见解,对数字货币行情分析要很擅长、对金融学的知识也需要比较全面的认识。这方面我就完全是个小白。
为了自己想要的结果,只能硬着头皮现学。
收获
目前我们团队还是孵化阶段,很多知识还需要学习,可谓任重道远,幸运成长在互联网时代,知识获取是扁平的,自己不会可以参考别人的呀。目前测试小一个月,现货量化每周收益稳定在3%左右,期货量化还不太稳定,上周收益5%。
1.现货量化测试。 成本3个个比特币,过去一周盈利0.09个比特币。
2.期货量化测试。成本0.5个比特币,过去一周盈利0.027个比特币。
现货的是多个交易所对冲,不太好晒图。晒晒期货的吧。
量化策略的开发步骤
经过不断的摸索和总结,一个策略的开发流程是什么样的呢?大致步骤如图:
- 1、建模:
我的理解是,你的想法应该是一个靠谱的好主意(我想没人愿意付出大量精力去验证一个错误的IDEA)。所以这个好主意不是胡思乱想出来的。是通过观察市场现象、行为。数据分析,数学分析等一些科学的方法设计出的完善的逻辑、数学模型。并且要通过论证。 - 2、编程:
这个过程就如同拿到设计图纸后造车一样。当然实际写的时候会遇到各种在 模型中 没有想到的问题,需要反复调整。经过这个过程你会深刻的体会到: “想的简单”这几个字,也会知道 策略 和 策略源码 之间的距离。 - 3、回测:
必不可少的一步。此刻不管策略代码作者多自信,这个时候的策略代码也只是残次品。 还要经过 “回测” 这个大熔炉 锤炼。回测是在历史数据中,舒舒服服的测试。主要验证程序的基本逻辑,基本功能,验证策略的基本正确性、可行性。这个过程往往会发现一批明显的BUG。 - 4、实时行情的模拟交易:
在明显的问题通过回测检验,排除后。回测结果接近预期的设计(至少是策略有可行性)。开始让策略程序接受实时行情模拟交易的考验。这个阶段依然会发现不少问题,这些问题更加隐秘、难以查找。所以该阶段DeBug需要认真。找错误是个基本功。(甚至我个人感觉DeBug功力比写代码还重要)。如果这方面经验不足、粗心大意,会导致一个BUG,没处理对(甚至没找到,但是误改了别的地方),进而产生更多的BUG,这种情况我经历过,说体验就两个字:“抓狂!”。 5、实盘测试
终于迎来最残酷的实盘测试,策略程序要经得住实盘各种问题的摧残(网络异常,超时,交易细节问题,响应速度,容错机制 等等)。 有些问题藏得非常之深。要经过长时间的实盘测试才能体现出来。找出这些问题的根源也是需要一番功夫的。一个策略大概需要以上步骤。反复测试占据整个周期的大部分,编码只是一小部分。
开发量化策略的经验总结
我在写第一个策略的时候也是被折磨的不轻。不知道如何下手,更别说完成一个策略。依然只能慢慢找方法,下面是我的总结。
- 1、模仿一些简单的策略代码。
- 2、认真,这个是必须的。粗心大意简直是灾难。
- 3、耐心,“BUG虐我千百遍,我待BUG如初恋!” 保持好心态。实在搞不定的时候,去看看电视,休息会儿。
- 4、别怕! 动手吧!