VN.PY 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
VN.PY 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
VN.PY 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
VN.PY 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
VN.PY 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

vn.py 是一个基于 Python 的开源交易平台开发框架。

vn.py 项目起源于国内私募的自主交易系统,2015 年初启动时只是单纯的交易 API 接口的 Python 封装。随着业内关注度的上升和社区不断的贡献,目前已经一步步成长为一套全面的交易程序开发框架,用户群体也日渐多样化,包括私募基金、证券自营和资管、期货资管和子公司、高校研究机构、个人投资者等。

项目构成:

  • 丰富的 Python 交易和数据 API 接口,基本覆盖了国内外常规交易品种(证券、期货、期权、外汇、CFD):

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

    • 飞创(vn.xspeed):期货、期货期权

    • 飞马(vn.femas):中金所的期货和期货期权

    • LTS(vn.lts):证券、证券期权

    • 金仕达期权(vn.ksotp):期货、期货期权、证券期权

    • 金仕达黄金(vn.ksgold):金交所贵金属

    • 飞鼠(vn.sgit):期货、金交所贵金属

    • QDP 极速柜台(vn.qdp):期货、期货期权、金交所贵金属

    • OANDA(vn.oanda):外汇、CFD

    • Interactive Brokers(vn.ib):外盘股票、期货、期权、外汇等

    • 直达期货(vn.shzd):外盘期货

    • OKCoin(vn.okcoin):比特币、莱特币等

    • 通联数据(vn.datayes):历史行情数据、基本面数据

  • 事件驱动引擎(vn.event),用于实现 Python 在全局锁(GIL)限制下的高性能事件驱动编程

  • 开发示例(vn.demo),通过简洁明了的代码展示如何使用API和事件驱动引擎开发交易程序

  • 交易平台(vn.trader),整合了 vn.py 项目中所有的交易接口以及 Interactive Brokers 的三方接口(IbPy),围绕事件驱动引擎设计了针对策略算法和交易应用开发的上层 API,使得交易员可以专注于解决交易业务需求而无需关注底层细节,平台中提供了一套完整的 CTA 策略模块(回测和实盘)作为开发参考

  • RPC 模块(vn.rpc),提供跨进程服务调用的 RPC 模块,同时支持服务端向客户端的主动数据推送,用于实现 vn.py 框架下模块的多进程解耦

  • 官方网站知乎专栏,长期更新 vn.py 相关的开发教程资料

  • 官方交流QQ群,提供给社区用户一个便捷舒适的交流环境(严禁闲聊无关内容,由于管理严格吸引了大量的机构交易员)

想提供帮助?

vn.py项目处于快速发展期,非常需要社区提供帮助,具体包括:

  • 测试:对 vn.py 项目中代码的测试和 BUG 反馈

  • 文档:包括代码注释、开发教程、学习经验等

  • 新功能:提供新的交易和行情接口接入,上层应用开发等

  • 网站:对 https://www.vnpy.com 的官方网站(基于 pelican)的外观设计和功能添加

建议通过 issue 方式来贡献以上内容

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (3)

加载中
有提供ios的app吗?
2019/12/11 11:38
回复
举报

引用来自“风火连城1949”的评论

解决了我的燃眉之急额
现在赚了多少?
2019/01/01 09:09
回复
举报
打分: 力荐
该评论暂时无法显示,详情咨询 QQ 群:912889742
更多评论
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2016/11/02 16:51

ffmpeg 使用filter_complex,colorkey和vn

1. 使用ffmpeg的filter_complex,colorkey和vn结果 ./ffmpeg -i likeyou.mp4 -i adium.png -filter_complex "[1:v]colorkey=0x3BBD1E:0.1:0.2[ckout0];[0:v][ckout0]overlay=x=W-w-11:y=10" -vn -report -t 10 -y -f flv test_out1.flv 139 [flv @ 0x4459fa0] intra_quant_bias = 0 inter_quant_bias = -64 140 Output #0, flv, to 'test_out1.flv': 141 Metadata: 142 major_brand : isom 143 minor_v...

0
0
发表于软件架构专区
2020/03/13 23:24

py

ppy https://pypi.tuna.tsinghua.edu.cn/packages/37/79/8f0efc6151f47c8f28238de05d53011a73a12e11201435f09fc651baf4c4/datatable-0.10.1-cp37-cp37m-manylinux2010_x86_64.whl

0
0
发表了博客
2020/08/03 07:55

__init__.py的作用是什么? - What is __init__.py for?

问题: Python源目录中的__init__.py是什么? 解决方案: 参考一: https://stackoom.com/question/1scB/init-py的作用是什么 参考二: https://oldbug.net/q/1scB/What-is-init-py-for

0
0
发表了博客
2020/03/28 20:47

__init__.py的作用是什么? - What is __init__.py for?

问题: Python源目录中的__init__.py是什么? 解决方案: 参考一: https://stackoom.com/question/1scB/init-py的作用是什么 参考二: https://oldbug.net/q/1scB/What-is-init-py-for

0
0
发表了博客
2020/06/02 21:04

__init__.py的作用是什么? - What is __init__.py for?

问题: Python源目录中的__init__.py是什么? 解决方案: 参考一: https://stackoom.com/question/1scB/init-py的作用是什么 参考二: https://oldbug.net/q/1scB/What-is-init-py-for

0
0
2020/12/04 11:15

__init__.py

1. __init__ Python中创建packet时会自动创建该函数(空),使用import导入packet时首先会执行该函数,内容根据需求编写。 2. 模块导入 import :导入模块中的所有函数,调用时需要加模块名(相当于导入的是一个文件夹,是个相对路径) - import random - import random as rd:导入模块并重命名模块为rd from ... import ...:从某个模块中导入某个函数,调用时直接使用函数(相当于导入的是一个文件夹中的文件,是个绝对路径)...

0
0
发表了博客
2018/04/21 20:33

[py]编码

py编码骨灰级总结 思路: python执行py文件步骤--py2/3定义变量时unicode差异 1,py2 py3执行py文件的步骤 2,py2 定义变量x='mao' 1.x='mao', # 以文件头编码,因此出现内存中不一定全是unicode 2,x=u'mao' # 等同于 x='mao'.decode('gbk'),从这里可以看出,站在unicode角度想问题 1,unicode在内存中 ...

0
0
发表于程序人生专区
2020/10/14 16:06

[转载]Package内的__main__.py和__init__.py

源地址:https://blog.csdn.net/ywcpig/article/details/51179547 假设一个最简单的Package如下:   ├──pkg │ ├── __init__.py │ ├── __main__.py 如果你希望 python 将一个文件夹作为 Package 对待,那么这个文件夹中必须包含一个名为 __init__.py 的文件,即使它是空的。 参见: Packages 如果你需要 python 将一个文件夹作为 Package 执行,那么这个文件夹中必须包含一个名为 __main__.py 的文件。参见: __main...

0
0
发表于运维专区
2016/12/06 18:05

工作中的几个运维脚本(build.py,send.py,rupdate.py,update.py)

1, build.py #!/bin/env python #coding:utf-8 #author:dxw #function: build #date:2016-07-13 import argparse from string import Template import os import sys if len(sys.argv) < 7: eg = "eg: --projectName bbpayapi --projectNameDir BBPAYAPI_DIR --env production > build_bbpayapi.sh" print(eg) exit(1) parser = argparse.ArgumentParser(description='Process some integers.') parser.add_ar...

0
2
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
3 评论
274 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部