[Add]readme and other docs

This commit is contained in:
vn.py 2019-02-25 17:40:15 +08:00
parent f6a0b63623
commit 3be6b3d4d3
10 changed files with 183 additions and 18 deletions

148
README.md
View File

@ -1,22 +1,146 @@
vnpy 2.0 # By Traders, For Traders.
<div style="text-align:center"><img src ="https://vnpy.oss-cn-shanghai.aliyuncs.com/vnpy-logo.png" /></div>
## 贡献代码
--- ---
如果你遇到了任何BUG欢迎[创建 Issue] vn.py是一套基于Python的开源量化交易系统开发框架自2015年1月正式发布以来在开源社区5年持续不断的贡献下一步步成长为全功能量化交易平台目前国内外金融机构用户已经超过300家包括私募基金、证券自营和资管、期货资管和子公司、高校研究机构、自营交易公司、交易所、Token Fund等
我们热烈欢迎任何人为我们的项目贡献代码。无论是多么细小的改工,都可以[提交PR]我们会认真对待每一个PR。 2.0版本基于Python 3.7全新重构开发目前功能还在逐步完善中。如需Python 2上的版本请点击[长期支持版本v1.9.2 LTS](https://github.com/vnpy/vnpy/tree/v1.9.2-LTS)。
---
## 功能特点
1. 全功能量化交易平台vnpy.trader整合了多种交易接口并针对具体策略算法和功能开发提供了简洁易用的API用于快速构建交易员所需的量化交易应用。
2. 覆盖国内外所有交易品种的交易接口vnpy.gateway
* CTP(ctpGateway):国内期货、期权
* 富途证券(futuGateway):港股、每股
* Interactive Brokers(ibGateway):全球证券、期货、期权、外汇等
* BitMEX (bitmexGateway):数字货币期货、期权、永续合约
3. 开箱即用的各类量化策略交易应用vnpy.app
* CtaStrategyCTA策略引擎模块在保持易用性的同时允许用户针对CTA类策略运行过程中委托的报撤行为进行细粒度控制降低交易滑点、实现高频策略
4. Python交易API接口封装vnpy.api提供上述交易接口的底层对接实现
5. 简洁易用的事件驱动引擎vnpy.event作为事件驱动型交易程序的核心
6. [社区论坛](http://www.vnpy.com)和[知乎专栏](http://zhuanlan.zhihu.com/vn-py)内容包括vn.py项目的开发教程和Python在量化交易领域的应用研究等内容
7. 官方交流群262656087QQ管理严格定期清除长期潜水的成员入群费将捐赠给vn.py社区基金
---
## 环境准备
**Windows**
* 支持的系统版本Windows 7/8/10/Server 2008/Server 2012
* 安装[Anaconda最新版](https://www.anaconda.com/distribution/)**注意必须是Python 3.7 64位版本**
**Ubuntu**
* 支持的系统版本Ubuntu 18.04 LTS
---
## 安装步骤
在[这里](https://github.com/vnpy/vnpy/releases)下载最新版本,解压后运行以下命令安装:
python setup.py install
---
### 使用指南
1. 在[SimNow](http://www.simnow.com.cn/)注册CTP仿真账号并在[该页面](http://www.simnow.com.cn/product.action)获取经纪商代码以及交易行情服务器地址
2. 在任意目录下创建run.py输入以下示例代码
```Python
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
def main():
"""启动VN Trader"""
qapp = create_qapp()
event_engine = EventEngine()
main_engine = MainEngine(event_engine)
main_engine.add_gateway(CtpGateway)
main_engine.add_app(CtaStrategyApp)
main_window = MainWindow(main_engine, event_engine)
main_window.showMaximized()
qapp.exec()
if __name__ == "__main__":
main()
```
3. 双击run.py运行若无法双击则在当前目录按住Shift点鼠标右键打开cmd输入python run.py运行
---
### 贡献代码
vn.py使用github托管其源代码如果希望贡献代码请使用github的PR(Pull Request)的流程:
1. [创建 Issue](https://github.com/vnpy/vnpy/issues/new) - 对于较大的改动(如新功能,大型重构等)最好先开issue讨论一下较小的improvement(如文档改进bugfix等)直接发PR即可
2. Fork [vn.py](https://github.com/vnpy/vnpy) - 点击右上角**Fork**按钮
3. Clone你自己的fork: ```git clone https://github.com/$userid/vnpy.git```
* 如果你的fork已经过时需要手动sync[https://help.github.com/articles/syncing-a-fork/](https://help.github.com/articles/syncing-a-fork/)
4. 从**dev**创建你自己的feature branch: ```git checkout -b $my_feature_branch dev```
5. 在$my_feature_branch上修改并将修改push到你的fork上
6. 创建从你的fork的$my_feature_branch分支到主项目的**dev**分支的[Pull Request] - [在此](https://github.com/vnpy/vnpy/compare?expand=1)点击**compare across forks**选择需要的fork和branch创建PR
7. 等待review, 需要继续改进或者被Merge!
在提交代码的时候,请遵守以下规则,以提高代码质量: 在提交代码的时候,请遵守以下规则,以提高代码质量:
* 使用[autopep8]格式化你的代码。运行```autopep8 --in-place --recursive . ```即可。 * 使用[autopep8](https://github.com/hhatto/autopep8)格式化你的代码。运行```autopep8 --in-place --recursive . ```即可。
* 使用[pylint]检查你的代码(主要检查命名规则)确保没有error和warning。在项目根目录下运行```pylint vnpy```即可。 * 使用[flake8](https://pypi.org/project/flake8/)检查你的代码确保没有error和warning。在项目根目录下运行```flake8```即可。
* 使用[flake8]检查你的代码确保没有error和warning。在项目根目录下运行```flake8```即可。
[autopep8]:https://github.com/hhatto/autopep8 ---
[pylint]:https://github.com/PyCQA/pylint ### 项目捐赠
[flake8]:https://pypi.org/project/flake8/
[提交PR]:https://help.github.com/articles/creating-a-pull-request/ 过去4年中收到过许多社区用户的捐赠在此深表感谢所有的捐赠资金都投入到了vn.py社区基金中用于支持vn.py项目的运作。
先强调一下:**vn.py是开源项目可以永久免费使用并没有强制捐赠的要求**
捐赠方式支付宝3216630132@qq.com*晓优)
长期维护捐赠清单,请在留言中注明是项目捐赠以及捐赠人的名字。
---
### 其他内容
* [获取帮助](https://github.com/vnpy/vnpy/blob/dev/docs/SUPPORT.md)
* [社区行为准侧](https://github.com/vnpy/vnpy/blob/dev/docs/CODE_OF_CONDUCT.md)
* [Issue模板](https://github.com/vnpy/vnpy/blob/dev/docs/ISSUE_TEMPLATE.md)
* [PR模板](https://github.com/vnpy/vnpy/blob/dev/docs/PULL_REQUEST_TEMPLATE.md)
---
### 版权说明
MIT

9
docs/CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,9 @@
# 行为准则
这是一份vn.py项目社区的行为准则也是项目作者自己在刚入行量化金融行业时对于理想中的社区的期望
* 为交易员而生:作为一款从金融机构量化业务中诞生的交易系统开发框架,所有的设计都优先满足机构专业交易员的使用习惯,而不是其他用户(散户、爱好者、技术人员等)
* 对新用户友好,保持耐心:大部分人在接触新东西的时候都是磕磕碰碰、有很多的问题,请记住此时别人对你伸出的援助之手,并把它传递给未来需要的人
* 尊重他人,慎重言行:礼貌文明的交流方式除了能得到别人同样的回应,更能减少不必要的摩擦,保证高效的交流

19
docs/ISSUE_TEMPLATE.md Normal file
View File

@ -0,0 +1,19 @@
## 环境
* 操作系统: 如Windows 10或者Ubuntu 18.04
* Anaconda版本: 如Anaconda 18.12 Python 3.7 64位
* vn.py版本: 如v2.0发行版或者dev branch 20190101下载日期
## Issue类型
三选一Bug/Enhancement/Question
## 预期程序行为
## 实际程序行为
## 重现步骤
针对Bug类型Issue请提供具体重现步骤以及报错截图

View File

@ -0,0 +1,11 @@
建议每次发起的PR内容尽可能精简复杂的修改请拆分为多次PR便于管理合并。
## 改进内容
1.
2.
3.
## 相关的Issue号如有
Close #

8
docs/SUPPORT.md Normal file
View File

@ -0,0 +1,8 @@
# 获取帮助
在开发和使用vn.py项目的过程中遇到问题时获取帮助的渠道包括
* Github Issues[Issues页面](https://github.com/vnpy/vnpy/issues)
* 官方QQ群: 262656087
* 项目论坛:[维恩的派](http://www.vnpie.com))
* 项目邮箱: vn.py@foxmail.com

View File

@ -1 +0,0 @@
# this file is created only for making pylint work

View File

@ -1,4 +0,0 @@
import unittest
if __name__ == "__main__":
unittest.main()

View File

@ -1 +0,0 @@
# this file is created only for making pylint work

0
vnpy/api/__init__.py Normal file
View File

View File