vnpy量化平台学习过程中的经验分享

头像
walkerchen2010
帖子: 583
注册时间: 2018年 11月 20日 19:13

Re: vnpy量化平台学习过程中的经验分享

#31

帖子 walkerchen2010 » 2018年 11月 20日 19:53

玉米棉花糖 写了:
2018年 1月 11日 17:31
17年通过学习vnpy量化平台,开发出了自己的程序化交易软件,实现了无人值守,在这里给家友们做个分享,有兴趣的可以一起交流学习,实现自己的程序化。

写在前面的话:
疯兄写给老论坛的原则中提到“怀疑一切,后果自负”,本贴的一切分享也适用这一原则。我半路出家学编程,没有经过系统的训练,只会一点点python,认真看过的开源项目也只有vnpy。能做出自己的交易软件,靠的是简单粗暴的实现方法,得益于开源软件的大环境和社区的热心帮助。如果各位朋友能从我的分享中有所收获自然是极好的,思路被我带跑偏,也只能后果自负了。

几个问题:

vnpy是什么?
官方介绍见http://www.vnpy.org/
简单说,我们可以把vnpy当作一个更高级的交易开拓者、文华、MC来开发策略。项目中的vn trader就是一个完成度很高的程序化软件,上手难度比交易开拓者等软件略高,但策略灵活度也大幅提升。交易开拓者、文华、MC等软件中,策略只能使用软件提供的函数和数据源,你绝不可能写出一个监控微博热点来选股的策略,或者将期货tick数据经过数量统计的工具计算后得出交易信号。而用vnpy,你的工具是整个python语言,只要你想得到、会写,没有什么做不到的。
也可以从vnpy中选取部分代码自行组装一个个性化的交易软件。vnpy对CTP等主流的交易接口做了很好的封装,提供了事件引擎、CTA引擎、回测引擎等模块。具备一定编程基础的人完全可以自由组合,并加上个性化的内容,形成自己的交易系统,并且省去很多基础的工作。

程序化交易好像很高端,我能学会吗?
以我个人来说,从刚开始学python到自己摸索开发出定制的程序化交易软件,花了一年半左右业余时间。如果你有编程基础,上手并不难。
基于vnpy开发的话,你需要
1、能看懂廖雪峰的这个python教程前半部分,即从开头到“图形界面”部分
https://www.liaoxuefeng.com/wiki/001431 ... a2e542c000
2、对ctp系统有基础的了解。能理解当你接收行情、查询、发出委托的时候,服务器和客户端之间大概发生了什么事,有过实盘交易经验的一般都没什么问题。
3、对于开发自己的策略、系统的渴望和一点好奇心。只要有动力,加上搜索引擎和社区的帮助,没有什么解决不了的问题。迈出第一步,解决一个个小问题,你的策略、系统就会慢慢浮现出来。

我的交易软件做到什么程度了?
实现以下功能:
行情:tick行情的订阅、推送
交易:基础的查询功能(资金、持仓、委托等)、报撤单
策略:实现了一个类似海龟的交易策略,就是我的土鳖交易法
回测:照抄了vnpy的回测模块
无人值守:写了一个守护进程,根据交易日列表定时自动开关软件
界面:
TIM图片20180112101210.jpg

有哪些参考资源?
1、vnpy的开源项目,所有源代码。你需要的这里都有
https://github.com/vnpy/vnpy/wiki
2、我改写的软件的部分功能,一个简单的示例,基于python3和ctp接口,适合要自行定制的朋友减少弯路。
https://github.com/vvipi/py3_demo_on_vnpy_ctp

腻害。
俺现在是用文华TB在做量化交易。
正准备转到vnpy这种开源框架。本人是做软件开发的,争取3-5个月搞定。

lzy74
帖子: 18
注册时间: 2018年 7月 21日 19:27

Re: vnpy量化平台学习过程中的经验分享

#32

帖子 lzy74 » 2018年 11月 21日 09:07

还有这等好文,以前乍没注意到,学习了

回复