距离上一个版本v1.1的发布过去4个月后终于完成了v1.2,主要增加的功能:
vn.rpc模块
实现客户端到服务端的跨进程函数调用,同时支持服务端向客户端推送数据。有了这个模块后,可以大幅简化很多用户想要的GUI和引擎分离、网页端界面监控、大运算量策略独立运行、分布式架构等等功能的实现。
vn.shzd和vn.ib接口
直达期货的接口封装vn.shzd已经介入vn.trader,直达属于一家专业度较高的外盘期货经纪商,在速度和技术服务方面有一定的优势,国内很多大型机构偏好使用他们的通道。
初步完成了Interactive Brokers API的封装接口vn.ib,和IbPy相比的一些不同点:
-
vn.ib基于Boost.Python封装了原生Posix C++接口,比起IbPy能提供更好的性能
-
vn.ib底层代码中添加了异常捕捉功能,避免IbPy的函数触发异常后没有报错直接断开连接,导致无法调试的问题
-
vn.ib安装时可能需要编译(默认的pyd在Windows7 Python 2.7 32位下编译),IbPy是纯Python的可以直接使用
-
vn.ib基于较新的IB官方API(9.72 beta)开发,IbPy则是采用了较老的API(9.70 stable)
增强CTA策略模块
基于社区用户的反馈,增加了一些vn.trader中CTA模块(ctaAlgo)的功能:
-
支持多进程参数优化,会自动根据电脑CPU的核心数量启动对应的进程池,大幅提高运算速度减少优化所需的时间,同时保持新优化函数和之前的一致性。
-
CTA实盘策略引擎提供对策略函数运行时的容错功能,避免出现因为某个策略逻辑有误导致整个系统在盘中被挂住或者崩溃的情况,发生异常时引擎会自动捕捉输出在监控界面上,并停止该策略的运行。
其他
-
修改vn.trader中的路径配置方案,允许用户从任意目录启动交易平台(之前必须从vn.trader目录下启动,否则可能找不到模块文件),方便开发和Debug。
-
修复了一些社区提出的小改进点以及bug。
v1.3计划
-
vn.ib接口替换掉IbPy接入到vn.trader中
-
提供中泰证券的XTP柜台接口封装vn.xtp
-
考虑接入LMAX外汇交易平台(真正的外汇交易所)的接口