LOADING
1180 字
6 分钟
vnpy学习02_功能和目录分析

功能#

参考项目wiki:
1. 全功能量化交易平台(vny.trader),整合了多种交易接口,并针对具体策略算法和功能开发提供了简洁易用的API,用于快速构建交易员所需的量化交易应用。
* 覆盖国内外所有交易品种(股票、期货、期权、外汇、外盘、CFD、数字货币)的交易接口:
* 国内市场
* CTP(ctpGateway)
* 飞马(femasGateway)
* 中泰证券XTP(xtpGateway)
。。。
* 海外市场
* 富途证券(futuGateway)
* 上海直达期货(shzdGateway)
* Interactive Brokers(ibGateway)
* 福汇(fxcmGateway)
* 数字货币
* OKEX(okexGateway)
* OKEX合约(okexfGateway)
* 经过开源社区大量用户实盘检验,做到开箱即用的各类量化策略交易应用(包括逻辑层和界面层):
* CtaStrategy:CTA策略引擎模块,在保持易用性的同时,允许用户针对CTA类策略运行过程中委托的报撤行为进行细粒度控制(降低交易滑点、实现高频策略)
* SpreadTrading:价差交易模块,根据用户的配置自动实现价差组合的深度行情以及持仓变化计算,同时内置的交易算法SniperAlgo可以满足大部分到价成交策略的需求,用户也可以基于AlgoTemplate开发更复杂的价差算法
* OptionMaster:期权交易模块,强大的期权投资组合管理功能,结合基于Cython开发的高效期权定价模型,支持毫秒级别的整体希腊值持仓风险计算,用户可以基于期权交易引擎OmEngine快速开发各类复杂期权交易应用
* AlgoTrading:算法交易模块,提供多种常用的智能交易算法:TWAP、Sniper、BestLimit、Iceberg、Arbitrage等等,支持数据库配置保存、CSV文件加载启动以及RPC跨进程算法交易服务
* TradeCopy:复制交易模块,用户可以通过发布者Provider进程来对外提供交易策略信号(手动、策略均可),订阅者Subscriber进程根据收到的信号自动执行同步交易,简洁快速得实现一拖多账户交易功能
* RiskManager:事前风控模块,负责在交易系统将任何交易请求发出到柜台前的一系列标准检查操作,支持用户自定义风控规则的扩展
* DataRecorder:实盘行情记录,支持Tick和K线数据的落地,用于策略开发回测以及实盘运行初始化
* RpcService:RPC跨进程调用服务,基于MainEngineProxy组件,用户可以如同开发单一进程应用搬开发多进程架构的复杂交易应用
* RtdService:EXCEL RTD服务组件,通过pyxll模块提供EXCEL表格系统对VN Trader系统内所有数据的访问
2. Python交易API接口封装(vnpy.api),提供上述交易接口的底层对接实现
3. 简洁易用的事件驱动引擎(vnpy.event),作为事件驱动型交易程序的核心
4. 支持服务器端数据推送的RPC框架(vnpy.rpc),用于实现多进程分布式架构的交易系统
5. 数据相关的API接口(vnpy.data),用于构建和更新历史行情数据库,目前包括:
* 上海中期历史行情服务(shcifco)
6. 关于vn.py项目的应用演示(examples),对于新手而言可以从这里开始学习vn.py项目的使用方式

目录分析#

粗略来看代码很多的样子,实际没那么复杂

先对各目录大功能有个概览吧

├── beta:无用
│ ├── gateway
│ └── UML
├── build:无用
│ ├── bdist.linux-x86_64
│ └── lib
├── dist:无用
├── docker:虚拟环境,和vnpy关系不大
│ ├── gui
│ ├── vnc
│ └── web
├── docs:文档,看代码之前可以先扫一眼
├── examples:样例程序。官方文档说法“ 关于vn.py项目的应用演示(examples),对于新手而言可以从这里开始学习vn.py项目的使用方式”,但并未找到类似双均线之类可以之间跑起来或者参考的策略,有点像策略模板Or回测模板,不考虑json文件的化,代码结构非常类似。从命名上看更像是各模块的调用演示,而非策略样例。(子文件夹:TurtleStrategy下面的turtleStrategy是策略样例)
│ ├── CryptoTrader
│ ├── CtaBacktesting
│ ├── CtaTrading
│ ├── DataRecording
│ ├── DataService
│ ├── FutuTrader
│ ├── OptionMaster
│ ├── RQData
│ ├── ServerClient
│ ├── TurtleStrategy
│ ├── VnTrader
│ └── WebTrader
├── tests:没太多东西,暂时不理会
│ └── api
├── vnpy:核心代码,真正vnpy代码是在这里面
│ ├── api:
│ ├── data
│ ├── event
│ ├── pricing
│ ├── rpc
│ └── trader:
└── vnpy.egg-info

从一大堆代码总,定位到真正需要学习的一小部分。

vnpy学习02_功能和目录分析
/posts/quant/df133985/
作者
思想的巨人
发布于
2019-03-02
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时