[Mod]更新README.MD

This commit is contained in:
vn.py 2018-12-28 16:43:04 +08:00
parent ae5151cb76
commit 389a98ab1a
4 changed files with 60 additions and 59 deletions

View File

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2015 用Python的交易员 Copyright (c) 2015 Xiaoyou Chen
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

110
README.md
View File

@ -7,95 +7,100 @@
### 简介 ### 简介
vn.py是基于Python的开源量化交易程序开发框架起源于国内私募的自主量化交易系统。2015年初项目启动时只是单纯的交易API接口的Python封装。随着业内关注度的上升和社区不断的贡献目前已经成长为一套全功能的交易程序开发框架用户群体也日渐多样化包括私募基金、券商自营和资管、期货资管和子公司、高校研究机构和专业个人投资者等。 vn.py是基于Python的开源量化交易系统开发框架起源于国内私募基金的自主交易系统。2015年1月项目正式发布在开源社区4年持续不断的贡献下已经从早期的交易API接口封装一步步成长为一套全功能量化交易平台。随着业内关注度的上升用户群体也日渐多样化包括私募基金、证券自营和资管、期货资管和子公司、高校研究机构、专业个人投资者等等。
2018年中启动代号为vn.crypto的数字货币量化交易系统开发计划目前已完成第一阶段的开发提供针对数字货币交易所原生的REST/WebSocket API的高性能的Python接口封装设计、以及适合7x24小时长时间交易需求的算法交易AlgoTrading模块、面向币圈交易的前端应用示例CryptoTrader等后续会进一步完善打造功能全面的数字货币量化交易平台。
--- ---
### 项目结构 ### 项目结构
1. 丰富的Python交易API接口vnpy.api基本覆盖了国内外所有常规交易品种股票、期货、期权、外汇、外盘、数字货币具体包括 1. 全功能量化交易平台vnpy.trader整合了多种交易接口并针对具体策略算法和功能开发提供了简洁易用的API用于快速构建交易员所需的量化交易应用。
- 传统金融 * 覆盖国内外所有交易品种股票、期货、期权、外汇、外盘、CFD、数字货币的交易接口
- CTPctp * 国内市场
- 飞马femas * CTP(ctpGateway)
- 中泰证券XTPxtp * 飞马(femasGateway)
- 中信证券期权cshshlp * 中泰证券XTP(xtpGateway)
- 金仕达黄金ksgold * 中信证券期权(cshshlpGateway)
- 金仕达期权ksotp * 金仕达黄金(ksgoldGateway)
- 飞鼠sgit * 金仕达期权(ksotpGateway)
- 飞创xspeed * 飞鼠(sgitGateway)
- 飞创证券sec) * 飞创(xspeedGateway)
- QDPqdp * 飞创证券(secGateway)
- 上海直达期货shzd * QDP(qdpGateway)
- Interactive Brokersib * Wind行情(windGateway)
- 福汇fxcm * 海外市场
* 富途证券(futuGateway)
* 上海直达期货(shzdGateway)
* Interactive Brokers(ibGateway)
* 福汇(fxcmGateway)
- 数字货币 * 数字货币
- OKEXokex) * OKEX(okexGateway)
- 火币huobi) * OKEX合约(okexfGateway)
- 币安binance) * 火币(huobiGateway)
- BitMEX (bitmex) * 币安(binanceGateway)
- Bitfinex (bitfinex) * BitMEX (bitmexGateway)
- Coinbase Pro (coinbase) * Bitfinex (bitfinexGateway)
- FCoin (fcoin) * Coinbase Pro (coinbaseGateway)
- BigOne (bigone) * FCoin (fcoinGateway)
- LBanklbank * BigOne (bigoneGateway)
- CCXT (ccxt) * LBank(lbankGateway)
* CCXT (ccxtGateway)
2. 简洁易用的事件驱动引擎vnpy.event作为事件驱动型交易程序的核心 * 经过开源社区大量用户实盘检验,做到开箱即用的各类量化策略交易应用(包括逻辑层和界面层):
* CtaStrategyCTA策略引擎模块在保持易用性的同时允许用户针对CTA类策略运行过程中委托的报撤行为进行细粒度控制降低交易滑点、实现高频策略
3. 支持服务器端数据推送的RPC框架vnpy.rpc用于实现多进程分布式架构的交易系统 * SpreadTrading价差交易模块根据用户的配置自动实现价差组合的深度行情以及持仓变化计算同时内置的交易算法SniperAlgo可以满足大部分到价成交策略的需求用户也可以基于AlgoTemplate开发更复杂的价差算法
4. 开箱即用的量化交易平台vnpy.trader整合了多种交易接口并针对具体策略算法和功能开发提供了简洁易用的API用于快速构建交易员所需的量化交易程序应用举例 * OptionMaster期权交易模块强大的期权投资组合管理功能结合基于Cython开发的高效期权定价模型支持毫秒级别的整体希腊值持仓风险计算用户可以基于期权交易引擎OmEngine快速开发各类复杂期权交易应用
* 同时登录多个交易接口,在一套界面上监控多种市场的行情和多种资产账户的资金、持仓、委托、成交情况 * AlgoTrading算法交易模块提供多种常用的智能交易算法TWAP、Sniper、BestLimit、Iceberg、Arbitrage等等支持数据库配置保存、CSV文件加载启动以及RPC跨进程算法交易服务
* 支持跨市场套利CTP期货和XTP证券、境内外套利CTP期货和IB外盘、多市场数据整合实时预测走势CTP的股指期货数据、IB的外盘A50数据、Wind的行业指数数据等策略应用 * TradeCopy复制交易模块用户可以通过发布者Provider进程来对外提供交易策略信号手动、策略均可订阅者Subscriber进程根据收到的信号自动执行同步交易简洁快速得实现一拖多账户交易功能
* CtaStrategyCTA策略引擎模块在保持易用性的同时允许用户针对CTA类策略运行过程中委托的报撤行为进行细粒度控制降低交易滑点、实现高频策略 * RiskManager事前风控模块负责在交易系统将任何交易请求发出到柜台前的一系列标准检查操作支持用户自定义风控规则的扩展
* SpreadTrading价差交易模块根据用户的配置自动实现价差组合的深度行情以及持仓变化计算同时内置的交易算法SniperAlgo可以满足大部分到价成交策略的需求用户也可以基于AlgoTemplate开发更复杂的价差算法 * DataRecorder实盘行情记录支持Tick和K线数据的落地用于策略开发回测以及实盘运行初始化
* OptionMaster期权交易模块强大的期权投资组合管理功能结合基于Cython开发的高效期权定价模型支持毫秒级别的整体希腊值持仓风险计算用户可以基于期权交易引擎OmEngine快速开发各类复杂期权交易应用 * RpcServiceRPC跨进程调用服务基于MainEngineProxy组件用户可以如同开发单一进程应用搬开发多进程架构的复杂交易应用
* AlgoTrading算法交易模块提供多种常用的智能交易算法TWAP、Sniper、BestLimit、Iceberg、Arbitrage等等支持数据库配置保存、CSV文件加载启动以及RPC跨进程算法交易服务 * RtdServiceEXCEL RTD服务组件通过pyxll模块提供EXCEL表格系统对VN Trader系统内所有数据的访问
* TradeCopy复制交易模块用户可以通过发布者Provider进程来对外提供交易策略信号手动、策略均可订阅者Subscriber进程根据收到的信号自动执行同步交易简洁快速得实现一拖多账户交易功能 2. Python交易API接口封装vnpy.api提供上述交易接口的底层对接实现
* RiskManager前端风控模块负责在交易系统将任何交易请求发出到柜台前的一系列标准检查操作支持用户自定义风控规则的扩展 3. 简洁易用的事件驱动引擎vnpy.event作为事件驱动型交易程序的核心
* DataRecorder实盘行情记录支持Tick和K线数据的落地用于策略开发回测以及实盘运行初始化 4. 支持服务器端数据推送的RPC框架vnpy.rpc用于实现多进程分布式架构的交易系统
* RpcServiceRPC跨进程调用服务基于MainEngineProxy组件用户可以如同开发单一进程应用搬开发多进程架构的复杂交易应用
* RtdServiceEXCEL RTD服务组件通过pyxll模块提供EXCEL表格系统对VN Trader系统内所有数据的访问
5. 数据相关的API接口vnpy.data用于构建和更新历史行情数据库目前包括 5. 数据相关的API接口vnpy.data用于构建和更新历史行情数据库目前包括
@ -103,7 +108,7 @@ vn.py是基于Python的开源量化交易程序开发框架起源于国内私
6. 关于vn.py项目的应用演示examples对于新手而言可以从这里开始学习vn.py项目的使用方式 6. 关于vn.py项目的应用演示examples对于新手而言可以从这里开始学习vn.py项目的使用方式
8. vn.py项目的Docker镜像docker 7. vn.py项目的Docker镜像docker
* web docker在Docker中启动基于Web交易的交易服务器WebTrader在浏览器中实现CTA策略的运维操作 * web docker在Docker中启动基于Web交易的交易服务器WebTrader在浏览器中实现CTA策略的运维操作
@ -111,7 +116,7 @@ vn.py是基于Python的开源量化交易程序开发框架起源于国内私
9. [社区论坛](http://www.vnpy.com)和[知乎专栏](http://zhuanlan.zhihu.com/vn-py)内容包括vn.py项目的开发教程和Python在量化交易领域的应用研究等内容 9. [社区论坛](http://www.vnpy.com)和[知乎专栏](http://zhuanlan.zhihu.com/vn-py)内容包括vn.py项目的开发教程和Python在量化交易领域的应用研究等内容
10. 官方交流QQ群262656087管理严格(定期清除长期潜水的成员) 10. 官方交流QQ群262656087管理严格定期清除长期潜水的成员入群费将捐赠给vn.py社区基金
--- ---
### 环境准备 ### 环境准备
@ -227,11 +232,7 @@ if __name__ == '__main__':
* [WingIDE](http://wingware.com/)非常好用的Python集成开发环境作者就是用它写的vn.py * [WingIDE](http://wingware.com/)非常好用的Python集成开发环境作者就是用它写的vn.py
* [Robomongo](https://robomongo.org/)MongoDB的图形化客户端方便监控和修改数据 * [Visual Studio Code](https://code.visualstudio.com/)针对编程的文本编辑器方便阅读项目中的Python、C++、Markdown文件
* [Sublime Text](http://www.sublimetext.com/)针对编程的文本编辑器当然你也可以使用Vim或者Emacs
* [PyQtGraph](http://www.pyqtgraph.org/)适用于开发实时更新数据的图表如Tick图、K线图、期权波动率曲线等Matplotlib渲染开销太大用于实盘绘图可能拖慢整个程序
* [Visual Studio 2013](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx)这个就不多说了作者编译API封装用的是2013版本 * [Visual Studio 2013](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx)这个就不多说了作者编译API封装用的是2013版本
@ -259,14 +260,13 @@ vn.py使用github托管其源代码如果希望贡献代码请使用github的
--- ---
### 项目捐赠 ### 项目捐赠
过去的半年中陆续收到了许多用户的捐赠在此深表感谢所有的捐赠资金都投入到了vn.py社区基金中用于支持vn.py项目的运作。最近主要的一个支出是相关文档编写,目前来看文档完成的速度和质量都显著超出预期。 过去4年中收到过许多社区用户的捐赠在此深表感谢所有的捐赠资金都投入到了vn.py社区基金中用于支持vn.py项目的运作。
先强调一下:**vn.py是开源项目可以永久免费使用并没有强制捐赠的要求** 先强调一下:**vn.py是开源项目可以永久免费使用并没有强制捐赠的要求**
捐赠方式支付宝3216630132@qq.com*晓优) 捐赠方式支付宝3216630132@qq.com*晓优)
长期维护捐赠清单,请在留言中注明是项目捐赠以及捐赠人的名字。
计划长期维护一份捐赠清单,所以请在留言中注明是项目捐赠以及捐赠人的名字(当然想匿名的用户就随意了)。
--- ---

View File

@ -14,6 +14,7 @@ import re
import urllib import urllib
import zlib import zlib
from copy import copy from copy import copy
from datetime import datetime
from vnpy.api.rest import Request, RestClient from vnpy.api.rest import Request, RestClient
from vnpy.api.websocket import WebsocketClient from vnpy.api.websocket import WebsocketClient
@ -21,9 +22,8 @@ from vnpy.trader.vtGateway import *
from vnpy.trader.vtFunction import getTempPath, getJsonPath from vnpy.trader.vtFunction import getTempPath, getJsonPath
REST_HOST = 'https://api.huobipro.com' REST_HOST = 'https://api.huobipro.com'
#REST_HOST = 'https://api.huobi.pro/v1' WEBSOCKET_MARKET_HOST = 'wss://api.huobi.pro/ws' # 行情
WEBSOCKET_MARKET_HOST = 'wss://api.huobi.pro/ws' # Global站行情 WEBSOCKET_TRADE_HOST = 'wss://api.huobi.pro/ws/v1' # 资金和委托
WEBSOCKET_TRADE_HOST = 'wss://api.huobi.pro/ws/v1' # 资产和订单
# 委托状态类型映射 # 委托状态类型映射

View File

@ -197,6 +197,7 @@ class MainWindow(QtWidgets.QMainWindow):
#---------------------------------------------------------------------- #----------------------------------------------------------------------
def openAppByName(self, appName): def openAppByName(self, appName):
""""""
detail = [i for i in self.appDetailList if i['appName'] == appName][0] detail = [i for i in self.appDetailList if i['appName'] == appName][0]
return self.openAppByDetail(detail) return self.openAppByDetail(detail)