vn.py量化社区
By Traders, For Traders.
Administrator
avatar
加入于:
帖子: 3913
声望: 208

量化交易,最宝贵的资源是时间


在量化行业,无论你是研究员Quant、交易员Trader、投资经理PM,甚至只是刚入门的爱好者,最重要的工作都是:

  • 寻找更多适合已有策略交易的市场,分散风险的同时获得更加稳健的收益
  • 开发新类型的交易策略,尝试更多的交易信号、过滤器、组合构建模型
  • 改进实盘中交易算法的执行效果,如何再把平均成交的价格优化0.5个Tick

但是,几乎所有做量化的朋友,上手第一件事情就是折腾数据,vn.py社区用户中最频繁问到的问题,也不外乎:

  • 怎么配置行情记录工具来记录XX行情?
  • XX交易所下午收盘后没有最后一条推送,怎么避免数据不完整?
  • 开盘后一小时才启动策略,怎么获取之前一小时的数据?
  • 期货主力换月时跳空太大,长周期策略怎么避免被影响?
  • 等等

数据的问题确实很重要,不解决了量化直接没法跑,但毕竟只是基础中的基础,在上面浪费再多的时间,对于前面提到的重要工作来说,帮助也只是微乎其微。所以专业量化机构中的从业者,几乎清一色都会选择使用商业数据解决方案,来自动化的处理数据的下载、更新和管理,把自己宝贵的时间花在刀刃上。

 

新的傻瓜数据服务


vn.py项目中很早就提供了行情录制工具(基于实盘的行情推送记录Tick、K线数据),以及后续对接了一系列免费的数据服务(CLI命令行下载、无人值守自动更新),但长期来的结果却并不理想,对于很多用户来说还是太过复杂。

围绕新的战略合作伙伴RiceQuant带来的RQData(合作情况请点我),我们开发了更加易用(易用到傻瓜)的数据工具。

RQData提供7天的免费试用,可以直接访问其官方网页申请,1分钟就能完成:

  1. 点击“免费试用”按钮,输入公司(没有就随便填)、联系人、手机号、验证码(手机获取)、邮箱、邀请码(根据右侧“?”的提示内容填写,注意大小写敏感)后,点击“立即申请试用”

  2. 如果没有登录RiceQuant账号,将会弹出一个登录页面,最简单的就是“验证码登录”,不怕麻烦也可以注册个账号(可以一起试用RiceQuant的其他服务),登录后回到之前的页面,再次点击“立即申请试用”

  3. 此时会自动下载一个文件make.bat,用SublimeText或者VSCode等代码编辑器打开后,会看到如下图所示的内容

make.bat

记录下其中的name和password,后续配置vn.py的时候将会用到。(注意:请自行注册账号,password非常长,图中只显示了很小一段,想偷懒直接用是登录不进去的!)

然后请在cmd中运行以下命令:

pip install --extra-index-url https://rquser:ricequant99@py.ricequant.com/simple/ rqdatac==1.0.0a35

完成RQData的python客户端的安装。

提示:后续内容目前需要使用dev分支上的vn.py代码

 

CtaStrategy实盘获取历史数据


打开examples/VnTrader/VT_setting.json:

VT_setting.json

找到其中的rqUsername和rqPassword字段,把之前记录的name和password填入进去后,保存VT_setting.json,Done!

完成上述配置后,当用户每日在CtaStrategy中初始化策略时,系统内部将会直接访问RQData下载最新的历史分钟线数据(盘中实时更新)来执行数据回放的操作,实现随开随用。

再也无需每天盘中开着DataRecording记录数据(还要担心出错),或者使用其他数据服务盘前就要在MongoDB中准备好数据,还要害怕自己代码中的bug导致盘中交易中断后无法再恢复。

 

RQData实时自动数据更新服务


除了保证实盘交易的数据可用和完整外,我们也提供了盘中本地MongoDB历史数据库的自动更新功能,除了省去大部分人都懒得干的每天跑一次下载脚本外,也保证了任意时候本地都有一份最新的历史数据记录。

打开examples/RQData/config.json:

config.json

同样将name和password填入rqUsername和rqPassword字段中,同时在product列表中,填入想要更新的期货合约的产品类型:例如填入"IF"后,将会自动更新所有沪深300期货当前的可交易合约数据、连续主力合约数据以及产品连续指数数据。

保存config.json后,双击“启动更新服务.bat”,将会打开如下图所示的界面:

RQDataService

更新程序在盘中会每分钟执行一次数据下载更新操作,更新采用增量模式(只从数据库已有的数据往后开始更新,因此第一次下载可能耗时较长)。

点击窗口右上角的关闭按钮后,窗口将会隐藏到右下方的托盘栏中(vn.py的图标),点击后将会再次显示窗口。想要退出的话请在托盘图标上点击右键,在弹出的菜单中点击“退出”。

有了完整的本地数据库后,用户可以更加方便的进行想要的策略开发研究工作,同时官方后续的海龟策略升级,也都会依赖RQData更新服务。

 

购买RQData正式版


7天试用满意后,可以前往RQData的官网购买正式版。

RQData目前提供包含分钟线数据的标准版(3000/年),以及加上Tick数据的进阶版(10000/年),对期货实盘交易用户来说性价比杠杠的,用过MC/TB/文华的用户不妨算算自己一年的软甲费或者手续费加点是多少来做个对比。

使用过程中,觉得有任何不好的地方或者有任何建议,都欢迎在vn.py社区上吐槽,我们会和RiceQuant共同改进!

Member
avatar
加入于:
帖子: 6
声望: 0

我是使用的linux来运行v n p y,本来平台是可以运行的,按照上面帖子修改了vt_setting.json,并安装了米筐以后反而程序运行不起来了,真是奇怪。报错如下:root@vnpy-VirtualBox:~# python /home/vnpy/vnpy/examples/VnTrader/run.py
Traceback (most recent call last):
File "/home/vnpy/vnpy/examples/VnTrader/run.py", line 22, in <module>
from vnpy.event import EventEngine
File "/usr/local/lib/python2.7/dist-packages/vnpy-1.9.2-py2.7.egg/vnpy/event/init.py", line 3, in <module>
from .eventEngine import EventEngine, EventEngine2, Event, EVENT_TIMER
File "/usr/local/lib/python2.7/dist-packages/vnpy-1.9.2-py2.7.egg/vnpy/event/eventEngine.py", line 11, in <module>
from qtpy.QtCore import QTimer
File "/usr/local/lib/python2.7/dist-packages/qtpy/init.py", line 205, in <module>
raise PythonQtError('No Qt bindings could be found')
qtpy.PythonQtError: No Qt bindings could be found

Administrator
avatar
加入于:
帖子: 3913
声望: 208

这个报错是提示找不到Qt图形库,请自行安装或者使用Anaconda

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3