VeighNa是一个基于Python的开源量化交易平台

功能特点

多功能量化交易平台(trader),整合了多种交易接口,并针对具体策略算法和功能开发提供了简洁易用的API,用于快速构建交易员所需的量化交易应用。

覆盖国内外所拥有的下述交易品种的交易接口(gateway):

国内市场

CTP(ctp):国内期货、期权

CTP Mini(mini):国内期货、期权

CTP证券(sopt):ETF期权

飞马(femas):国内期货

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

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

顶点飞创(sec):ETF期权

顶点HTS(hts):ETF期权

中泰XTP(xtp):国内证券(A股)、ETF期权

华鑫奇点(tora):国内证券(A股)、ETF期权

国泰君安(hft):国内证券(A股、两融)

东证OST(ost):国内证券(A股)

东方财富EMT(emt):国内证券(A股)

飞鼠(sgit):黄金TD、国内期货

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

利星资管(lstar):期货资管

融航(rohon):期货资管

杰宜斯(jees):期货资管

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

掘金(gm):国内证券(仿真)

恒生云UF(uf):国内证券(仿真)

TTS(tts):国内期货(仿真)

海外市场

Interactive Brokers(ib):海外证券、期货、期权、贵金属等

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

直达期货(da):海外期货

特殊应用

RQData行情(rqdata):跨市场(股票、指数、ETF、期货)实时行情

迅投研行情(xt):跨市场(股票、指数、可转债、ETF、期货、期权)实时行情

RPC服务(rpc):跨进程通讯接口,用于分布式架构

覆盖下述各类量化策略的交易应用(app):

cta_strategy:CTA策略引擎模块,在保持易用性的同时,允许用户针对CTA类策略运行过程中委托的报撤行为进行细粒度控制(降低交易滑点、实现高频策略)

cta_backtester:CTA策略回测模块,无需使用Jupyter Notebook,直接使用图形界面进行策略回测分析、参数优化等相关工作

spread_trading:价差交易模块,支持自定义价差,实时计算价差行情和持仓,支持价差算法交易以及自动价差策略两种模式

option_master:期权交易模块,针对国内期权市场设计,支持多种期权定价模型、隐含波动率曲面计算、希腊值风险跟踪等功能

portfolio_strategy:组合策略模块,面向同时交易多合约的量化策略(Alpha、期权套利等),提供历史数据回测和实盘自动交易功能

algo_trading:算法交易模块,提供多种常用的智能交易算法:TWAP、Sniper、Iceberg、BestLimit等

script_trader:脚本策略模块,面向多标的类量化策略和计算任务设计,同时也可以在命令行中实现REPL指令形式的交易,不支持回测功能

paper_account:本地仿真模块,纯本地化实现的仿真模拟交易功能,基于交易接口获取的实时行情进行委托撮合,提供委托成交推送以及持仓记录

chart_wizard:K线图表模块,基于RQData数据服务(期货)或者交易接口获取历史数据,并结合Tick推送显示实时行情变化

portfolio_manager:交易组合管理模块,以独立的策略交易组合(子账户)为基础,提供委托成交记录管理、交易仓位自动跟踪以及每日盈亏实时统计功能

rpc_service:RPC服务模块,允许将某一进程启动为服务端,作为统一的行情和交易路由通道,允许多客户端同时连接,实现多进程分布式系统

data_manager:历史数据管理模块,通过树形目录查看数据库中已有的数据概况,选择任意时间段数据查看字段细节,支持CSV文件的数据导入和导出

data_recorder:行情记录模块,基于图形界面进行配置,根据需求实时录制Tick或者K线行情到数据库中,用于策略回测或者实盘初始化

excel_rtd:Excel RTD(Real Time Data)实时数据服务,基于pyxll模块实现在Excel中获取各类数据(行情、合约、持仓等)的实时推送更新

risk_manager:风险管理模块,提供包括交易流控、下单数量、活动委托、撤单总数等规则的统计和限制,有效实现前端风控功能

web_trader:Web服务模块,针对B-S架构需求设计,实现了提供主动函数调用(REST)和被动数据推送(Websocket)的Web服务器

Python交易API接口封装(api),提供上述交易接口的底层对接实现。

REST Client(rest):基于协程异步IO的高性能REST API客户端,采用事件消息循环的编程模型,支持高并发实时交易请求发送

Websocket Client(websocket):基于协程异步IO的高性能Websocket API客户端,支持和REST Client共用事件循环并发运行

简洁易用的事件驱动引擎(event),作为事件驱动型交易程序的核心。

对接各类数据库的适配器接口(database):

SQL类

SQLite(sqlite):轻量级单文件数据库,无需安装和配置数据服务程序,VeighNa的默认选项,适合入门新手用户

MySQL(mysql):主流的开源关系型数据库,文档资料极为丰富,且可替换其他NewSQL兼容实现(如TiDB)

PostgreSQL(postgresql):特性更为丰富的开源关系型数据库,支持通过扩展插件来新增功能,只推荐熟手使用

NoSQL类

DolphinDB(dolphindb):一款高性能分布式时序数据库,适用于对速度要求极高的低延时或实时性任务

Arctic(arctic):高性能金融时序数据库,采用了分块化储存、LZ4压缩等性能优化方案,以实现时序数据的高效读写

TDengine(taos):分布式、高性能、支持SQL的时序数据库,带有内建的缓存、流式计算、数据订阅等系统功能,能大幅减少研发和运维的复杂度

TimescaleDB(timescaledb):基于PostgreSQL开发的一款时序数据库,以插件化扩展的形式安装,支持自动按空间和时间对数据进行分区

MongoDB(mongodb):基于分布式文件储存(bson格式)的文档式数据库,内置的热数据内存缓存提供更快读写速度

InfluxDB(influxdb):针对TimeSeries Data专门设计的时序数据库,列式数据储存提供极高的读写效率和外围分析应用

LevelDB(leveldb):由Google推出的高性能Key/Value数据库,基于LSM算法实现进程内存储引擎,支持数十亿级别的海量数据

对接下述各类数据服务的适配器接口(datafeed):

迅投研(xt):股票、期货、期权、基金、债券

米筐RQData(rqdata):股票、期货、期权、基金、债券、黄金TD

咏春大师(voltrader):期货、期权

恒生UData(udata):股票、期货、期权

TuShare(tushare):股票、期货、期权、基金

万得Wind(wind):股票、期货、基金、债券

天软Tinysoft(tinysoft):股票、期货、基金、债券

同花顺iFinD(ifind):股票、期货、基金、债券

天勤TQSDK(tqsdk):期货

跨进程通讯标准组件(rpc),用于实现分布式部署的复杂交易系统。

Python高性能K线图表(chart),支持大数据量图表显示以及实时数据更新功能。

社区论坛和知乎专栏,内容包括VeighNa项目的开发教程和Python在量化交易领域的应用研究等内容。

注:以上关于功能特点的说明为根据说明文档发布时情况罗列,后续可能存在更新或调整。若功能描述同实际存在出入,欢迎通过Issue联系进行调整。

环境准备
推荐使用VeighNa团队为量化交易专门打造的Python发行版VeighNa Studio-3.9.3,集成内置了VeighNa框架以及VeighNa Station量化管理平台,无需手动安装
支持的系统版本:Windows 11以上 / Windows Server 2019以上 / Ubuntu 22.04 LTS以上
支持的Python版本:Python 3.10以上(64位),推荐使用Python 3.10

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。