GitHub精选,前沿开源量化交易平台开发框架解析与应用
GitHub上有很多开源的量化交易平台开发框架,以下是一些受欢迎的选项:
1. "QuantConnect":
- "项目地址": [QuantConnect](https://github.com/QuantConnect/QuantConnect)
- "简介": QuantConnect是一个开源的量化交易平台,支持多种编程语言,如C#、Python和F#。它允许用户创建、测试和部署量化交易策略。
2. "PyAlgoTrade":
- "项目地址": [PyAlgoTrade](https://github.com/PyAlgoTrade/PyAlgoTrade)
- "简介": PyAlgoTrade是一个用Python编写的开源量化交易平台。它允许用户创建和测试量化交易策略。
3. "Zipline":
- "项目地址": [Zipline](https://github.com/quantopian/zipline)
- "简介": Zipline是一个开源的量化交易平台,主要用于Python。它由Quantopian提供支持,用于开发和测试量化交易策略。
4. "Optuma":
- "项目地址": [Optuma](https://github.com/Optuma)
- "简介": Optuma是一个量化交易平台,支持多种编程语言,如C#、C++和Java。它提供了丰富的工具和库,用于量化交易策略的开发。
5. "QuantConnect.NET":
- "项目地址": [QuantConnect.NET](https://github.com/QuantConnect/QuantConnect.NET)
相关内容:
《GitHub精选》是我们分享Github中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个开源量化交易平台开发框架——vnpy。
vn.py是一套基于Python的开源量化交易系统开发框架,它通过一套标准化的交易平台体系,对接国内诸多不同类型的金融市场:证券、期货、期权、外汇、数字货币等,并且使用经过充分实盘检验的量化策略引擎,来完成从数据维护、策略开发、回测研究到实盘自动交易的整个业务流程。

特点:
- 基于Python开发,充分利用Python社区强大的数据研究和机器学习生态
- 对接了国内外所有交易品种的交易接口
- 满足个性化的交易需求,支持对平台进行各种定制扩展
- 节约为量化交易平台付出的资金成本
使用场景:
- 专业个人投资者:使用VN Trader直连期货公司的CTP期货柜台,实现从策略开发到全实盘自动交易的完整CTA业务流程
- 创业型私募:基于RpcService构建服务器端的统一报盘通道,允许交易员在自己的本地电脑自行开发各类交易策略应用
- 券商资管部门:对接证券公司统一部署的O32资管系统,基于事件驱动引擎定制开发多策略复杂系统
- 币圈Token Fund:使用VN Trader同时连接多个币圈交易所,通过AlgoTrading算法交易模块实现自动化委托执行,降低冲击成本

通用组件:
- vnpy.api,Python交易API接口封装,提供上述交易接口的底层对接实现。
- vnpy.event,简洁易用的事件驱动引擎,作为事件驱动型交易程序的核心。
- vnpy.rpc,跨进程通讯标准组件,用于实现分布式部署的复杂交易系统。
- vnpy.chart,Python高性能K线图表,支持大数据量图表显示以及实时数据更新功能。
安装使用:
- 环境准备
推荐使用vn.py团队为量化交易专门打造的Python发行版VNStudio-2.5.0,内置了最新版的vn.py框架以及VN Station量化管理平台,无需手动安装
支持的系统版本:Windows 7以上/Windows Server 2008以上/Ubuntu 18.04 LTS
支持的Python版本:Python 3.7 64位(注意必须是Python 3.7 64位版本)
- 安装
从https://github.com/vnpy/vnpy/releases下载安装包并解压
Windows:install.bat
Ubuntu:bash install.sh
MacOS:bash install_osx.sh
- 使用
1、在SimNow注册CTP仿真账号,并获取经纪商代码以及交易行情服务器地址。
2、在vn.py社区论坛注册获得VN Station账号密码并启动VN Station
3、点击底部的VN Trader Lite按钮即可开始
- 脚本运行
除了基于VN Station的图形化启动方式外,也可以在任意目录下创建run.py
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
from vnpy.app.cta_backtester import CtaBacktesterApp
def main():
"""Start VN Trader"""
qapp = create_qapp()
event_engine = EventEngine()
main_engine = MainEngine(event_engine)
main_engine.add_gateway(CtpGateway)
main_engine.add_app(CtaStrategyApp)
main_engine.add_app(CtaBacktesterApp)
main_window = MainWindow(main_engine, event_engine)
main_window.showMaximized()
qapp.exec()
if __name__ == "__main__":
main()
运行
python run.py
量化策略应用:



更多内容请大家自行前往阅读。