TqSdk与VnPy两款Python量化框架对比
Python 已成为量化交易的主流语言。本文对比两款代表性 Python 量化交易软件——TqSdk 和 VnPy。
一、两款工具的定位
在开始对比之前,先简单介绍一下两者的基本定位:
| 项目 | TqSdk | VnPy |
|---|---|---|
| 类型 | 期货量化开发包 | 开源量化框架 |
| 开源协议 | Apache 2.0 | MIT |
| 主要市场 | 专注国内期货 | 多市场支持 |
| 数据服务 | 内置数据 | 需自行对接 |
| 安装方式 | pip install | 源码部署 |
可以看出,两者的设计思路有明显差异:TqSdk 走的是'开箱即用'路线,VnPy 走的是'功能全面'路线。
二、上手体验
TqSdk
安装一行命令:
pip install tqsdk
获取数据的代码也很简洁:
from tqsdk import TqApi, TqAuth
api = TqApi(auth=TqAuth("账户","密码"))
klines = api.get_kline_serial("SHFE.rb2401", 300, 200)
print(klines.tail())
从安装到跑起来第一个示例,基本十分钟内能搞定。
VnPy
VnPy 的安装相对复杂一些,通常需要从 GitHub 拉取源码,然后配置环境依赖。官方提供了 VeighNa Studio,降低了一些配置难度,但整体上手门槛还是比较高。
另外,VnPy 不自带数据服务,需要自己对接数据源或者搭建本地数据库。对于新手来说,光是解决数据问题就需要花不少时间。
我的感受:如果你是量化新手,想快速验证一个策略想法,TqSdk 的上手体验更友好。如果你技术功底较强,喜欢折腾和定制,VnPy 给的自由度更高。
三、数据服务对比
这是两者差异最大的地方。
TqSdk:
- 内置完整的 Tick 和 K 线历史数据
- 数据从合约上市至今都有
- 不用自己建数据库
- 免费开放使用
VnPy:
- 框架本身不提供数据
- 需要自己对接第三方数据源
- 或者搭建本地数据库收录数据
- 灵活但需要额外工作量
# TqSdk 获取数据示例
api = TqApi(auth=TqAuth("账户","密码"))
ticks = api.get_tick_serial("SHFE.rb2401")

