@【从零开始vnpy量化投资】vnpy初探 - 注册、安装、运行策略

vnpy简介

以下内容摘自vnpy.com官方,https://www.vnpy.com/

功能介绍

作为一套基于Python的量化交易程序开发框架,VeighNa致力于提供从交易API对接到策略自动交易的量化解决方案。

目标用户

如果有以下需求,不妨试试看VeighNa:
* 基于Python语言来开发自己的量化交易程序,充分利用Python社区强大的数据研究和机器学习生态
* 通过一套标准化的交易平台体系,对接国内外诸多不同类型的金融市场:证券、期货、期权、外盘等
* 使用经过充分实盘检验的量化策略引擎,来完成从数据维护、策略开发、回测研究到实盘自动交易的整个业务流程
* 对平台进行各种定制扩展,满足个性化的交易需求:增加交易接口,修改GUI图形界面,基于事件驱动引擎开发复杂策略应用
* 掌控交易程序的源代码细节,杜绝各种程序后门,避免被窃取策略、截获交易信号、偷盗账号密码等风险
* 节约为量化交易平台付出的资金成本,不必再支出上万每年的软件授权费或者每笔成交的额外加点

vnpy,或vn.py,目前改名为VeighNa软件,是一个非常热门的开源交易框架,使用python实现。如官方所说,它提供了构建量化交易系统的全套基础设施封装,如平台API对接、数据接入、策略编写、策略回测。并且提供了相当丰富的入门文档与开发者社区。

vnpy优点:

使用vnpy最大的优点就我个人而言,就是免费。对于初次接触量化投资的新人或已有丰富交易经验但志在转型量化投资的期货交易者,量化系统的最终成绩在一定程度上是未知的。大家都处于探索的阶段,需要不断的试错与修正,从入门到系统真正稳定可能要经历一段不短的时间。如果使用商业化平台,一是依赖平台的生态是否完善,能否获得丰富的资料来进行学习研究;二是平台大都不开源,无法做到为自己进行深度定制;三是每年会有一笔不菲的费用,大部分商业平台每年最低需要几千元的收费,这对刚入门的投资者来说是一笔不小的开支。

为什么要写这个系列的教程:

本教程的主要目的是通过一步一步的具体操作使新人能够独立的完成整个系统的安装、开发、调试等活动。并且根据笔者近几年实盘的经验,教会大家如何根据自己的需要针对vnpy进行定制化改造。尤其是实盘最基础的交易记录和资金管理功能,vnpy并未提供完整实现,故需要使用者自行开发。
通过一系列的开发与调试后,本教程的最终目的是为了实盘交易。在实盘运行中,可能会出现大量软件的故障,笔者将结合自身遇到过得实盘故障,教会大家如何定位和排查软件问题,最终开发出稳定的交易系统,确保系统平稳运行。

正式开始:

安装vnpy客户端:

登录vnpy官方首页https://www.vnpy.com/,点击页面上的“安装3.6.0”(当前最新版本为3.6.0. 如版本已更新,安装最新版本亦可,不同大版本vnpy的api可能有变化,后期开发时需要注意),即可下载windows版客户端安装程序。安装过程较为简单,选择个人常用目录即可。

注册官方论坛账号:

安装完成后,点击vnpy客户端,会出现登录窗口,新用户可注册账号。需要注意的是,这个账号仅供登录论坛使用,后期通过python使用vnpy完整功能无需登录。

登录后客户端页面如下,首页为社区页面,方便用户访问社区与其他用户交流。

启动交易界面

点击“交易”分页,出现交易接口与应用模块选择。对于新手来说,勾选“交易接口”下的“CTP”与“应用模块”下的“CtaStrategy”和“CtaBacktester”即可。
此处需要注意一下“运行目录”选项,windows系统下默认选项为C盘用户目录,即C:\Users\xxx\ (xxx为操作系统登录用户名),可修改为其他目录。此目录中会存放vnpy的全局配置文件和策略配置文件,也是自定义策略的加载目录。如选择修改为其他目录,后期自定义策略strategies目录放在这个运行目录下即可。建议使用默认选项。

点击启动后,右侧对话框会出现运行日志且弹出独立客户端界面

到目前为止,客户端安装与启动已经完成。下面我们将尝试进行一些简单的策略回测。
点击“功能”>“CTA回测”,弹出回测界面。
此时我们注意到日志显示“RQData初始化失败”的内容,vnpy默认集成了几家数据服务商,其中包括米筐RQData和恒生数据UData等。米筐数据会提供了半个月的试用期,便于新人体验期货数据查询服务。

注册米筐账号并下载数据:

登录米筐数据官网https://www.ricequant.com/welcome/rqdata
点击免费试用,输入手机号进行注册,在账号审核通过后会收到邮件或短信通知。此时即可使用vnpy连接rqdata下载数据。


米筐数据与vnpy有一些合作,所以还有一个链接是专门给vnpy开发者申请的,这个申请速度快一点。链接如下:https://www.ricequant.com/welcome/trial/rqdata-cloud-vnpy。

为vnpy配置米筐账号:

点击菜单栏“配置”,弹出全局配置窗口。修改datafeed.name为rqdata, 输入账号密码即可。

此时可回到回测页面输入合约编码和开始结束日期,点击“下载数据”。

注意事项:

由于米筐账号仅有15天试用期,所以建议新人在注册后尽快将需要的所有期货合约数据下载到本地,便于短期内回测使用。

点击交易策略下拉框,里面会显示官方提供的几个简单策略示例,这里我们选择DoubleMaStrategy,即双均线策略。

各配置项含义:

本地代码:包含合约编码与交易所编码的完整期货合约编码,以螺纹主力连续为例,输入rb9999.SHFE(交易所枚举类参考https://gitee.com/vnpy/vnpy/blob/master/vnpy/trader/constant.py中的Exchange类)
k线周期:1m,默认值,1分钟k线
开始结束时间:回测数据的范围
手续费率:百分比类型手续费,一般在万分之0.2到0.5之间(固定金额手续费可使用交易滑点处理,如合约乘数10的情况下,5元固定金额手续费即等同于5/10=0.5滑点)
交易滑点:预期成交价格与实际成交价格的差额,在强调成交的情况下,大都使用市价单下单,此时成交价可能存在波动,滑点即为对波动的平均估计,滑点估计错误会严重影响策略收益的评估。建议使用1到2跳价格跳动作为滑点。
合约乘数:一手合约对应的标的物数量,如一手螺纹钢合约交易标的为10吨
价格跳动:合约最小价格变化单位,如螺纹钢为1元,PTA为2元
回测资金:回测初始资金

以螺纹钢为例,笔者实际本地数据范围为20年4月到22年10月,点击开始回测,以默认配置均线周期10分钟和20分钟运行。最终结果如图。总收益率-15%。

到这里,我们已经进行了简单的策略回测,回测效果不理想,因为使用的是默认提供的策略,且使用默认参数,未进行任何优化。人为调整参数后,可明显看到策略曲线的变化,以30+80分钟周期为例,策略回测曲线如下。收益率已经较默认参数有所提高,表明我们离目标又近了一步。

下一节课我们讲解CTA策略模板的组成以及运行机制。

【从零开始vnpy量化投资】一. vnpy初探 - 注册、安装、运行策略相关推荐

  1. 【从零开始vnpy量化投资】三. 手动安装vnpy环境

    [从零开始vnpy量化投资]三. 手动安装vnpy环境 概述 本章的主要内容是使用conda创建独立的python运行环境,再将vnpy安装到conda的环境中,以便开发时访问和编辑源码以及为后续部署 ...

  2. 【从零开始vnpy量化投资】四. 编写自己的第一个策略

    [从零开始vnpy量化投资]四. 编写自己的第一个策略 概述 这节课我们将尝试实现一些经典策略,同时学习如何对策略进行优化,如添加止损和辅助过滤信号. 策略逻辑 我们即将参考的是<以交易为生&g ...

  3. 【从零开始vnpy量化投资】十五. 投资组合策略模板介绍

    [从零开始vnpy量化投资]十五. 投资组合策略模板介绍 概述 在之前的课程中,我们主要是使用了vnpy的cta策略模板,这个模板的特点就是只支持单一合约.如果我们需要同时对多个合约进行交易,就需要用 ...

  4. 【从零开始vnpy量化投资】十二. CTA策略开发技巧

    [从零开始vnpy量化投资]十二. CTA策略开发技巧 概述 我们在之前的策略编写中,主要关注的是策略交易信号和持仓管理,这对于回测来说就是足够完整的了.但对于实盘或者模拟盘的运行,这样的策略还无法满 ...

  5. 【从零开始vnpy量化投资】六. 历史数据储存到mysql

    [从零开始vnpy量化投资]六. 历史数据储存到mysql 概述 在第一课的内容中,我们介绍了如何使用vnpy客户端通过米筐rqdata下载数据,但没有深入研究数据下载到了哪里,以及如何通过代码访问和 ...

  6. 从小市值因子策略入手,带你入门量化投资 (附年化收益率77.83%策略)

    随着量化投资在国内的兴起,越来越多的人开始研究量化投资.可其中有不少人在学习代码.研究策略的过程中败下阵来,但量化投资其实也可以很简单. 今天,我们以经典的小市值因子策略为例,为大家演示如何借助掘金量 ...

  7. 上海 python量化 培训_Python量化投资实战班.上海站

    原标题:Python量化投资实战班.上海站 上海 7月27-28日 随着国内量化投资的发展,第三方量化平台费用高,策略保密性差,开发环境局限等弊端不断涌现.VNPY作为一个开源的量化交易系统项目,具备 ...

  8. 量化交易python入门书籍推荐_求量化投资入门书籍或课程推介。?

    入门,还是要看一个人的知识背景. 1.有一本:西蒙斯打开量化投资的黑箱,还有西蒙斯的文艺复兴公司的介绍(喜马拉雅),另外B站有西门斯的演讲. 通过对西蒙斯的了解,你要对自己的知识结构.背景.资源和量化 ...

  9. 米筐量化不支持c语言_AQ答疑:三分钟入门量化投资

    答疑丨量化投资三分钟入门(一) 量化投资在国外的发展已经有很长时间的历史,虽然国内市场目前仍处于初起阶段,但是因其投资业绩稳定,市场规模和份额不断扩大,得到了越来越多投资人的认可,各个大型券商也在发展 ...

最新文章

  1. JAVA里面的int类型 和Integer类型,有什么不一样
  2. 【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)
  3. ArrayList实现原理
  4. 产品质量检测系统uml建模心得
  5. python中唯一的映射类型是什么_Python基础类型之字典(dict)
  6. MySQL存储过程(五)——存储过程查看、删除和修改
  7. 快捷支付与网银支付的对比
  8. 几种建模工具简介(SPSS,SAS,Stata,R,Matlab,Amos,Lisrel)
  9. matlab的simulink文件mdl和slx对比
  10. Python数据处理Tips数据重复值处理常用方法
  11. 订单下单成功后如何等待支付成功
  12. linux 谷歌日语输入法下载软件,Linux Mint---fcitx中文,日语输入法
  13. 张邦鑫:组织文化 - 价值观打造方法论初步
  14. 在线编辑PDF:GcPDF|PDF在线预览GrapeCity Documen PDF
  15. HBase数据库原理介绍
  16. Spring Bean生命周期过程
  17. Frida hook零基础教程
  18. android 编译WVGA
  19. Python安装PEP8
  20. 网上书城项目前端界面设计及编码

热门文章

  1. 4.3 将千克转换成磅
  2. 高速公路导航提示中IC、JC、SA、PA等字样的含义
  3. Spring Boot(二): 集成Mybatis
  4. eclipse 下载和安装教程(初学者,2022最新版)
  5. 基于web的教务管理系统-课程设计
  6. Navicat使用方法
  7. python 边缘扩充方式
  8. java和vue视频点播弹幕系统
  9. 麻雀算法SSA优化SVR
  10. 服务器配置文件的英文表达,服务器配置 英文