因为每天都有用素记写日记的习惯,所以今天(2016/12/16)想到把它发表在上,算是一个总结。不作补充,直接放原日记内容。素记,,这两个名字难道不是一对儿么?
开始前的两天
2016/11/29 / 上午十点二分
看套利策略。
** 第一次见面讨论,踌躇满志。**
2016/11/30 / 晚上十二点十四分
一天复习完了Learning python the hard way. 广州到了11月下旬,午觉应该免除了。
第一期:忙碌的9天
2016/12/01 / 晚上十二点四十三分
第一天!看开发教程,部署项目,自上而下看代码。晚上抄写了三节课,眼睛很痛。
2016/12/02 / 晚上九点二十八分
第二天,早上起得有些迟,八点半起身,看代码,基本看通了入口类(vtMain.py),主引擎(vtEngine.py),接口(vtGateway.py)和ctp接口(ctpGateway.py),明天打算继续研究上面四个部分,然后研究事件引擎和事件类,最后复习一遍文档,看几篇新文档,有时间的话研究一下数据库和风控等三个模块。
晚上十二点三十一分
下午和两位前辈第二次面对面讨论,讨论分析了项目的框架。
晚上看了《你的名字》
2016/12/03 / 下午四点二十三分
第三天,除了ctpGateway.py的数据引擎部分,现在已经吃透了四个文件。下面就处理数据库部分。
傍晚六点四十二分
看完了数据引擎部分。
晚上九点三分
三餐错开,很难受。
晚上11点二十三分
任务完成,四个文件可以说已经吃透,后期带着看一看就可以。
晚上** 用mindJet画了个引擎连接图** ,软件很好用。
明天任务,继续吃四个文件,然后看完三个模块。
2016/12/04 / 晚上十二点五十三分
失眠很严重,起的太晚的缘故。
上午十点四十六分
八点起床,用两个小时浏览完了三个引擎和策略文件。在数据库和缓存上稍有不解,特别是订单处理机制没有明朗。
下午将简单的风控和记录引擎看完,然后浏览一遍策略引擎。
傍晚六点五十六分
下午逛了广百。
晚上十点四十三分
** 画了一个函数连接图** ,放到了大群。吃透了记录引擎,又浏览了一遍风控引擎。
明天打算吃透风控引擎,订阅好合约。后天上午和大后天上午吃透策略引擎。
2016/12/05 / 下午一点二十六分
第五天,上午四节课,看完了风控引擎,部分策略引擎。
晚上九点整
今天只是吃透了风控引擎,效率很低下!现在正在看策略引擎,很纠结它的策略设置,为什么一个策略只能针对一种合约。
晚上十二点三分
基本看完了策略引擎。
明天上午一定要把自动订阅功能搞定,然后明天下午,晚上,和后天上午攻克策略引擎,后天下午复习git的使用。
2016/12/06 / 下午四点四十九分
上午** 写完了自动订阅功能** ,因为已经有了接口,运用回调函数onQryRspInstrument,一个简单的函数就完成了。
下午去南校当亲友团,继续看策略引擎,抄写了一部分。
计划,明天第三次会面之前要把策略引擎看完,也就是把trader结束。
晚上十点十六分
今天中午饭和晚饭都没吃,只断断续续吃了些甜品,又不小心喝了两杯浓咖啡,晚上头晕恶心,浑身乏力,眼睛也睁不开,根本无法工作,反思,饮食一定要注意。
2016/12/07 / 下午一点四十七分
第七天,头依旧晕晕的,反胃,所以上午效率很低,浏览了一遍git,自己维护了一个版本。不过终于** 成功收到tick数据,各项引擎运行正常** ,下午会面前再试着把策略引擎理一遍。
下面要做的,有一个就是把回调带来的数据,自己主动发送的数据格式,内容理清楚,特别是各种id,方便写策略。
晚上十二点三分
下午和两位前辈第三次碰面,讲了一个半小时,思路理清很多,也学到不少。晚上身体状态逐渐恢复。
明天要把策略引擎看透,然后将策略引擎修改成单策略支持多合约的模式。周五收盘之前能写好策略,进行模拟交易就再好不过了!
2016/12/08 / 上午九点四十二分
第八天,早上四节课,下午逛北京路,不过引擎修改已经成竹在胸,今天一定可以完成。
现在的主要问题是策略函数不可能单个合约每次tick推送都运行一次,而是每批次的tick数据到来运行一次,也就是每隔半秒钟一次函数运行,但是python回调tick信息中不附带last参数,比较难办。如果固定没半秒钟运行一次,这跟事件驱动又没什么区别了。
下午两点四十二分
** 和quickLib创始人深入交流了vn.py存在的问题** ,以及相应的借鉴。这一周的代码阅读让我对底层的理解又加深了很多。
晚上十二点一分
下午逛北京路,晚上回来看无间道,总之今天就是没做事。
2016/12/09 / 中午十一点五十分
第九天,睡得很不好,九点钟起床,舍友病了,帮他去听风险管理,上午基本没有做事。
浏览了知乎上关于量化投资平台的讨论,对平台容易出现的问题做了比较全面的思考,特别是执行效率和事件驱动。
晚上九点整
** 平价套利写了初稿** ,目前最难处理的有两点。第一,如何处理策略函数的触发问题,第二,如何保证双腿落单。
晚上11点四十一分
明天毕业照,早点睡。
休息两天
2016/12/10 / 下午两点三十六分
拍了一上午毕业照,中午和浩基出去吃了大石牌。
下午又去拍了一会儿。没浇头,所以就不发朋友圈了。
2016/12/11 / 晚上九点整
白天胸闷,中午睡了接近两个小时,晚上写完了批判性思维的课程论文。
第二期:写策略的5天
2016/12/12 / 下午一点三十九分
周一,第一天,早上期货交易结束了。
Thinkpython看了接近一半,收获不少。明天看完Thinkpython,之后开始学习Mastering Python
2016/12/13 / 晚上八点二十一分
第二天,看了一整天的Thinkpython,终于看完了(除去case study 和 test)仔细读完并实践了继承(inheritance)这一章,收获很多!以后可以研究Mastering Python这本书了,今年四月份出版,一定可以学到很多新东西。
明天完善好平价套利的初稿。
2016/12/14 / 晚上十二点二十五分
第三天,看到了Mastering Python第二章,开始使用python3.5和virtualenv
晚上看了策略,搞懂了不少细节。
2016/12/15 / 凌晨一点十八分
德之不修,学之不讲,闻义不能徙,有过不能改,是吾忧也。
下午四点三十三分
第四天,** 第一次写成了一个完整的策略** ,大商所豆粕期权平价套利策略,值得纪念,很激动。
晚上11点二十五分
晚上把昨晚看的Mastering Python详细做了笔记。
笨方法也许是最高明的,大智若愚不也如此吗?
2016/12/16 / 晚上七点三十五分
第五天,下午** 第一次无阻塞地运行了策略** ,并且成功进行了自动下单。
第四次面对面讨论,距离上一次讨论过去九天了。
我们分析了各种策略的风险问题,总结出下一步的工作:
- 使用矩阵运算,提高时间驱动下的策略运行效率;
- 使用事件驱动,提高效率;
- 实现细颗粒度控制,报单未成交时及时撤单、追单;
- 根据流动性筛选合约;
- 分策略,分组合的PnL实时监控;
- 考察套利空间回落速度,监控换手率。
第三期?
日记部分到此结束,上面已经有了计划。计划是什么?计划就是,我写出来之后就以为已经做完了——偶尔写写也还好。