哈哈,找到组织了,知乎上发的这篇文章,分享一下。
vn.py 在量化交易圈内是非常知名的python量化交易客户端,提供完整的基于python语言的策略交易框架,几乎对接了所有我们熟悉的和不熟悉的柜台,包括股票、期货、期权等等各类品种交易。
vn.py客户端程序的结构设计非常清晰明了,接口层包括交易接口、实时行情接口、历史数据接口,均采用同一个接口原型,通过包装实现各种柜台的接入。看了部分实现,代码质量也是很高的,是个非常优秀的开源产品。
CTP接口兼容模拟交易平台之前已经发布了快期的接入方法,虽然都是只换一个dll,改一下交易前置地址,vn.py的操作就容易多了,下面教你一步实现vn.py接入CTP接口兼容模拟交易平台。
到vn.py官网下载vnstudio安装包,安装之后打开安装目录的这个位置:vnstudio\Lib\site-packages\vnpy_ctp\api,将CTP接口兼容模拟交易平台动态库的交易dll(thosttraderapi_se.dll)替换到这个目录,行情动态库不需要换,当然如果非要连tradenow的行情也可以换。
替换vn.py自带的ctp交易dll
就这么简单,只是替换一下动态库,然后就可以启动vnstudio程序,我是用微信登录,登录成功后,在界面下方点击VNTraderLite,这个比较简单点,不需要Pro版有那么多设置。
打开VNTrader之后选择菜单“系统”=>"连接CTP",输入相应的用户及前置地址等,用户填tradenow平台的用户,交易前置填tradenow交易前置地址:tcp://121.36.146.182:20002。
经纪商代码、产品名称、授权编码三项空着也可以,tradenow不检查这些信息,一律放过。设置好点击连接即可见如下效果:
接下来就玩耍吧,vn.py你们比我溜,就不多说明了。tradenow模拟平台是7x24开着的,simnow有很多的时段是不开的,所以如果之前没有更换行情dll,又想测试,可以更换一下行情dll,方法同交易dll,tradenow行情前置的地址是:tcp://121.36.146.182:20004。
关于tradenow的更多信息见github:CTP接口兼容模拟交易平台