Python代码编译器,适合初学者的python编译器
由交易者,为交易者。
Vn.py是基于Python的开源量化交易系统开发框架,于2015年1月正式发布。在开源社区6年的持续贡献下,逐渐成长为一个全功能的量化交易平台。目前,国内外金融机构用户超过600家,包括:私募股权基金、自营证券及资产管理、期货资产管理及子公司、高校研究机构、自营贸易公司、交易所、代币基金等。
全新《vn.py全实战进阶》系列在线课程已在官方微信微信官方账号【vnpy-community】上线,内容涵盖CTA策略(已完成)和期权波动率交易(已更新)。请扫描下方二维码关注,然后点击菜单栏中的【高级课程】按钮:
如果你在使用vn.py进行二次开发的过程中有任何疑问(策略、模块等。),请查看vn.py项目文档。如果无法解决,请到官方社区论坛的【求助】板块寻求帮助。也欢迎大家在【经验分享】板块分享经验!
针对vn.py的金融机构用户,创建了专门的【vn.py机构用户群】(QQ群号:67649931),主要分享机构应用相关问题,如银行间市场准入、资产管理O32系统、分布式部署等。请注意,这个群组只对金融机构的用户开放。添加群组时请注明:名称-机构-部门。
功能特点
全功能量化交易平台(vnpy.trader)集成了各种交易接口,为具体策略算法和功能开发提供简洁易用的API,用于快速构建交易者所需的量化交易应用。
交易界面(vnpy.gateway)覆盖所有境内外交易品种:
国内市场
国内期货和期权
迷你CTP(迷你):国内期货和期权
CTP证券(SOPT): ETF期权
Femas:国内期货
UFT(uft):国内期货和ETF期权
Sec):ETF期权
Oes:国内证券(a股)和ETF期权
XTP(xtp):国内证券(a股)和ETF期权
恒生hsoption):ETF期权
Tora:国内证券(a股)和ETF期权
飞鼠(sgit):黄金TD,国内期货
Ksgold:黄金TD
新管家:期货资产管理
Rohon:期货资产管理
Comstar:银行间市场
海外市场
富途证券(富途):港股美股
老虎:全球证券、期货、期权、外汇等
互动经纪人(ib):全球证券、期货、期权、外汇等
轻松9.0 tap:全球未来
直接期货:全球期货
MetaTrader 5(mt5):外汇、差价合约、期货、股票
羊驼(Alpaca):美股(零佣金)
凯撒投资(kasia):港股
数字货币
BitMEX(bitmex):数字货币期货、期权和永续合约。
Bybit(逐位):数字货币永久合约
币安:库存数字货币。
Binances:数字货币永久合同
OKEX:数字货币股票
OKEX:数字货币永久合约。
OKEX期货(okexf):数字货币期货
EX期权(okexo):数字货币期权
火币:数字货币现货。
Huobif:数字货币期货
Huobis:数字货币的可持续性
Huobio期权:数字货币期权
Gate.io perpetual (gateios):数字货币永久合约
德里比特(Deribit),数字货币期权,永久合同
Bitfinex(bitfinex):数字货币的股票
比特币基地(Coinbase):提供数字货币。
Bitstamp(比特邮票):股票中的数字货币
1Token(一托肯):数字货币证券公司(现货和期货)
特殊应用
Rpc服务(RPC):跨进程通信接口,用于分布式架构。
现成的量化策略交易应用程序(vnpy.app):
CTA _ Strategy: CTA策略引擎模块,在保持易用性的同时,允许用户对CTA策略委托的上报取款行为进行细粒度控制(减少交易滑点,实现高频策略)。
CTA _ Backtester: CTA策略回测模块,不使用Jupyter笔记本,直接使用图形界面直接进行策略回测分析、参数优化等相关工作。
Spread_trading:点差交易模块,支持用户自定义点差、点差价格和持仓实时计算、半自动点差算法交易、全自动点差策略交易。
Option_master:期权交易模块,专为国内期权市场设计,支持多种期权定价模型、隐含波动率曲面计算、希腊价值风险跟踪等功能。
Portfolio_strategy:投资组合策略模块,面向量化策略(Alpha,期权套利等。)同时交易多个合约,并提供历史数据回测和自动实盘交易功能。
Algo_trading:算法交易模块,提供了多种常用的智能交易算法:TWAP、狙击、冰山、BestLimit等。并支持对接外部智能算法交易服务(如真纳算法)。
Script_trader:脚本策略模块,针对多单竞价组合交易策略设计,也可以直接在命令行中以REPL指令的形式实现交易,不支持回测功能。
Market_radar:市场雷达模块,允许用户根据自定义公式实时计算任意合约组合数据。这些公式支持标准Python操作语法和内置函数。
Paper_account:模拟交易模块,这是一个纯本地化的模拟交易功能。用于根据通过交易接口获取的实时行情信息进行委托撮合,提供委托交易推送和持仓记录。
Chart _ Wizard: K线图模块,基于RQData数据服务(期货)或交易接口(数字货币)获取历史数据,结合Tick push展示实时行情变化。
Portfolio_manager: Portfolio模块,面向各种基本面交易策略,基于策略的独立子账户,提供交易头寸的自动跟踪和盈亏的实时统计。
Rpc _ service: rpc_service:RPC模块,允许一个VN Trader进程作为服务器启动,作为统一的市场和交易路由通道,允许多个客户端同时连接,实现多进程分布式系统。
Data_manager:历史数据管理模块,可以通过树形目录查看数据库中已有的数据概要,选择任意时间段数据查看字段明细,支持CSV文件的数据导入导出。
Data_recorder:报价记录模块,基于图形界面配置,根据需要将报价实时记录到数据库中,用于策略回测或实盘初始化。
Excel _ RTD: Excel RTD(实时数据)实时数据服务,基于pyxll模块实现各类数据(行情、合约、持仓等)的实时推送更新。)在Excel中。
Risk_manager:风险管理模块,提供交易流程控制、订单数量、活动委托、总订单收回等规则的统计和限制。有效实现前端风险控制功能。
Python事务API接口包(vnpy.api),提供上述事务接口的底层对接实现。
简单易用的事件驱动引擎(vnpy.event),作为事件驱动交易程序的核心。
跨进程通信标准组件(vnpy.rpc),用于实现复杂交易系统的分布式部署。
Python高性能k线图(vnpy.chart),支持大数据量的图表展示和数据实时更新的功能。
论坛和知乎专栏,包括vn.py项目的开发教程和Python在量化交易领域的应用研究等。
官方交流群262656087(QQ)管理严格(长期潜水的会员会被定期清除),会员费会捐给vn.py社区基金。
准备环境
推荐使用vn.py团队的Python版本VNStudio-2.1.7,专门为量化交易打造。内置最新版本的vn.py框架和vn站量化管理平台,无需手动安装。
支持的系统版本:Windows 7或以上/Windows Server 2008或以上/Ubuntu 18.04 LTS
支持的Python版本:Python 3.7 64位(注意必须是Python 3.7 64位版本)
安装步骤
从这里下载最新版本,解压并运行以下命令进行安装:
Windows操作系统
install.bat
人的本质
bash install.sh
使用指南
在SimNow中注册CTP模拟账户,在此页面获取经纪人代码和交易报价服务器地址。
在vn.py社区论坛注册
当VN Trader运行时,不要关闭VN站(它会自动退出)。
要灵活配置量化交易应用组件,请使用VN Trader Pro。
运行脚本
除了基于VN Station的图形化启动方式,还可以在任意目录下创建run.py,并编写以下示例代码:
从vnpy.event导入事件引擎
从vnpy.trader.engine导入主引擎
从vnpy.trader.ui导入主窗口,创建_qapp
从vnpy.gateway.ctp导入CtpGateway
从vnpy.app.cta_strategy导入CtaStrategyApp
从vnpy.app.cta_backtester导入CtaBacktesterApp
def main():
启动VN Trader
qapp=create_qapp()
event_engine=EventEngine()
主引擎=主引擎(事件引擎)
main_engine.add_gateway
main_engine.add_app
main _ engine . add _ app(CtaBacktesterApp)
main_window=MainWindow(主引擎,事件引擎)
main_window.showMaximized()
qapp.exec()
if __name__==__main__ :
主()
打开此目录中的CMD(按住Shift键并单击鼠标右键-在此处打开命令窗口/PowerShell)并运行以下命令来启动VN Trader:
python run.py
贡献代码
Vn.py使用Github托管其源代码。如果你想贡献代码,请使用github的PR(Pull Request)的流程:
创建问题——针对重大变更(如新功能、大规模重构等)。),最好先讨论问题,而小的改进(比如文档改进、bugfix等。)可以直接发给PR。
Fork VN . py——点击右上角的Fork按钮。
克隆你自己的叉子:吉特克隆https://github.com/$userid/vnpy.git
如果您的fork已经过时,您需要手动同步:同步方法。
从dev:git check out-bmy _ feature _ branch dev创建自己的特性分支
在$my_feature_branch上修改,推送给你的分叉。
创建一个从fork的$my_feature_branch到主项目的dev分支的[pull request]——单击这里的compare across forks,并选择所需的fork和branch来创建PR
等待审核,需要继续完善,或者被合并!
提交代码时,请遵守以下规则以提高代码质量:
使用autopep8格式化您的代码。运行auto pep 8-就地递归。去做吧。
用flake8检查您的代码,确保没有错误和警告。在项目的根目录下运行flake8。
项目捐赠
在过去的6年里,我收到了许多社区用户的捐款。在此表示深深的感谢!所有捐赠的资金都已投入vn.py社区基金,以支持vn.py项目的运作。
首先强调:vn.py是开源项目,可以永久免费使用,没有强制捐赠要求!
长期维护捐赠名单,请在留言中注明项目捐赠及捐赠人姓名。
其他指南
版权声明
麻省理工学院(Massachu-setts Institute of Technology)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。