基于Python的开源量化交易系统开发框架

《GitHub精选》是我们分享Github中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个开源量化交易平台开发框架——vnpy。

基于Python的开源量化交易系统开发框架

vn.py是一套基于Python的开源量化交易系统开发框架,它通过一套标准化的交易平台体系,对接国内诸多不同类型的金融市场:证券、期货、期权、外汇、数字货币等,并且使用经过充分实盘检验的量化策略引擎,来完成从数据维护、策略开发、回测研究到实盘自动交易的整个业务流程。

目标用户

  • • 基于Python语言来开发自己的量化交易程序,充分利用Python社区强大的数据研究和机器学习生态

  • • 通过一套标准化的交易平台体系,对接国内外诸多不同类型的金融市场:证券、期货、期权、外盘等

  • • 使用经过充分实盘检验的量化策略引擎,来完成从数据维护、策略开发、回测研究到实盘自动交易的整个业务流程

  • • 对平台进行各种定制扩展,满足个性化的交易需求:增加交易接口,修改GUI图形界面,基于事件驱动引擎开发复杂策略应用

  • • 掌控交易程序的源代码细节,杜绝各种程序后门,避免被窃取策略、截获交易信号、偷盗账号密码等风险

  • • 节约为量化交易平台付出的资金成本,不必再支出上万每年的软件授权费或者每笔成交的额外加点

应用场景

  • • 专业个人投资者:使用VeighNa Trader直连期货公司的CTP期货柜台,实现从策略开发到实盘自动交易的CTA业务流程

  • • 创业型私募:基于RpcService构建服务器端的统一报盘通道,允许交易员在自己的本地电脑自行开发各类交易策略应用

  • • 券商资管部门:对接证券公司统一部署的O32资管系统,基于事件驱动引擎定制开发多策略复杂系统

支持的接口

国内市场

  • • CTP(ctp):期货、期货期权

  • • CTP测试(ctptest):期货、期货期权

  • • CTP Mini(mini):期货、期货期权

  • • 飞马(femas):期货

  • • CTP期权(sopt):ETF期权

  • • 顶点飞创(sec):ETF期权

  • • 顶点HTS(hts):ETF期权

  • • 恒生UFT(uft):期货、ETF期权

  • • 易盛(esunny):期货、黄金TD

  • • 中泰XTP(xtp):A股、两融、ETF期权

  • • 国泰君安统一交易网关(hft):A股、两融

  • • 华鑫奇点股票(torastock):A股

  • • 华鑫奇点期权(toraoption):ETF期权

  • • 中亿汇达Comstar(comstar):银行间市场

  • • 东方证券OST(ost):A股

  • • 融航(rohon):期货资管

  • • TTS(tts):期货

  • • 飞鼠(sgit):黄金TD

  • • 金仕达黄金(ksgold):黄金TD

海外市场

  • • 盈透证券(ib):海外多品种

  • • 易盛9.0外盘(tap):外盘期货

  • • 直达期货(da):外盘期货

特殊应用

量化策略应用

CTA策略 (CtaStrategy):基于策略模板快速开发趋势类量化策略,支持K线和Tick回测,提供多进程和遗传算法参数优化

算法交易 (AlgoTrading):提供多种智能交易算法:TWAP、Sniper、Iceberg、BestLimit、Arbitrage、Grid、DMA等

价差套利 (SpreadTrading):支持一条主动腿和多条被动腿,基于任意价差比例自动计算价差盘口和组合持仓,实现价差算法交易

期权策略 (OptionMaster):针对波动率套利策略,内置波动率曲面计算、组合Greeks风控、自动Delta对冲和波动率算法交易

行情录制 (DataRecorder):根据需求实时录制Tick或者K线行情到数据库中,图形化管理模式,满足策略回测和实盘初始化需求

其他辅助:CTA策略图形化回测(CtaBacktester),CSV数据加载工具(CsvLoader),交易风险管理(RiskManager)等

数据分析图例

基于Python的开源量化交易系统开发框架Excel RTD数据

基于Python的开源量化交易系统开发框架回测买卖点分析

基于Python的开源量化交易系统开发框架期权交易和自动对冲

基于Python的开源量化交易系统开发框架波动率曲面建模分析

基于Python的开源量化交易系统开发框架多功能实时脚本

安装使用

环境准备

推荐使用vn.py团队为量化交易专门打造的Python发行版VNStudio-2.5.0,内置了最新版的vn.py框架以及VN Station量化管理平台,无需手动安装

支持的系统版本:Windows 7以上/Windows Server 2008以上/Ubuntu 18.04 LTS

支持的Python版本:Python 3.7 64位(注意必须是Python 3.7 64位版本)

安装

从https://github.com/vnpy/vnpy/releases下载安装包并解压

Windows:install.bat

Ubuntu:bash install.sh

MacOS:bash install_osx.sh

使用

1、在SimNow注册CTP仿真账号,并获取经纪商代码以及交易行情服务器地址。

2、在vn.py社区论坛注册获得VN Station账号密码并启动VN Station

3、点击底部的VN Trader Lite按钮即可开始

脚本运行

  •  除了基于VN Station的图形化启动方式外,也可以在任意目录下创建run.py

from vnpy.event import EventEngine

from vnpy.trader.engine import MainEngine

from vnpy.trader.ui import MainWindow, create_qapp

from vnpy.gateway.ctp import CtpGateway

from vnpy.app.cta_strategy import CtaStrategyApp

from vnpy.app.cta_backtester import CtaBacktesterApp

def main():

"""Start VN Trader"""

qapp = create_qapp()

event_engine = EventEngine()

main_engine = MainEngine(event_engine)



main_engine.add_gateway(CtpGateway)

main_engine.add_app(CtaStrategyApp)

main_engine.add_app(CtaBacktesterApp)

main_window = MainWindow(main_engine, event_engine)

main_window.showMaximized()

qapp.exec()

if __name__ == "__main__":

main()
  • 运行

python run.py


—END—

开源地址:https://github.com/vnpy/vnpy

开源协议:MIT

原文始发于微信公众号(开源技术专栏):基于Python的开源量化交易系统开发框架

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/53808.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!