导言
如何实现能完全双手离开键盘的自动化量化交易平台(Automated Quantitative Trading Platforms, AQTP):
- 实惠的一手数据获取;
- 平台无关的交易策略编写
- 全自动化流程(支持回测和实盘)
数据获取¶
开发量化金融系统(如A股交易)的第一步确实是获取高质量、稳定、合法的一手数据。以下是获取A股市场数据的几种主流方法,从免费到付费、从简单到专业,供你选择:
✅ 一、免费数据源(适合学习/小规模回测)¶
1. Tushare(推荐入门)¶
- 官网:https://tushare.pro
- 特点:
- 免费注册,基础数据免费(需积分,可通过分享或邀请获取)
- 支持Python接口,数据包括日K线、分钟线、财务数据、指数、龙虎榜等
-
社区活跃,文档齐全
-
示例代码:
⚠️ 注意:免费版有调用频率限制,不适合高频或生产环境。
2. AKShare(纯免费,无Token)¶
- GitHub:https://github.com/akfamily/akshare
- 特点:
- 完全免费,无Token限制
- 数据来源为公开网页(如新浪财经、东方财富),稳定性依赖网页结构
- 支持A股、期货、基金、宏观等
- 示例:
⚠️ 缺点:可能因网站改版导致接口失效,不适合生产环境。
3. Baostock(免费专业级)¶
- 官网:http://baostock.com
- 特点:
- 无积分、无限制、完全免费
- 提供A股、指数、财务、分钟线等
- 数据质量较好,适合回测
- 示例:
✅ 二、付费专业数据源(适合实盘/生产系统)¶
1. 聚宽(JoinQuant) / 米筐(RiceQuant) / 掘金(MyQuant)¶
- 特点:
- 集成开发环境 + 数据 + 回测 + 实盘(部分支持)
- 数据质量高、稳定、有历史tick数据
- 适合不想自己搭数据管道的用户
- 缺点:
- 实盘需付费或满足条件
- 数据不能导出到外部系统(受平台限制)
适合策略研究 → 回测 → 实盘一体化开发。
2. 万得(Wind) / 同花顺iFinD / 东方财富Choice¶
- 特点:
- 机构级数据,最全最准
- 支持API(Python/Matlab等)
- 提供Level2行情、资金流、研报、宏观等
- 缺点:
- 昂贵(Wind年费约2~5万起)
- 个人用户申请较难(通常需企业资质)
适合专业机构或资金充足的个人开发者。
3. 券商L2行情接口(如华泰、中信、国泰君安等)¶
- 部分券商提供Level2行情API(需开户+申请)
- 数据包括:逐笔委托、逐笔成交、买卖十档等
- 通常需签署协议 + 编写C++/Python接口
- 适合高频或盘口策略开发者
例如:华泰的
htsc
、中信的citics
、聚源的jqdata
等。
✅ 三、自建数据管道(高阶玩家)¶
1. 爬虫抓取(不推荐用于生产)¶
- 来源:新浪财经、东方财富、雪球等
- 风险:
- 反爬机制(IP封禁、验证码)
- 数据不完整、延迟、格式不稳定
- 法律风险(违反网站Robots协议或服务条款)
仅适合学习,不推荐用于实盘系统。
2. 订阅交易所原始数据(最高级)¶
- 上交所/深交所提供原始行情数据(需申请+付费)
- 需要FIX/二进制协议解析能力
- 适合专业量化团队或私募
1. 上交所/深交所 Level-1 行情(标准行情)¶
- 内容:每3秒快照(五档买卖盘+最新价、成交量等)
- 年费(机构):约 2万~5万元/交易所
- 个人:通常无法直接申请,可通过券商免费行情接口获取(延迟15分钟或实时但受限)
✅ 举例:你开户的券商APP里看到的“实时行情”,就是券商统一采购后免费提供给客户的Level-1。
2. 上交所/深交所 Level-2 行情(深度行情)¶
这是量化交易者最关注的数据,包含:
- 买卖十档盘口
- 逐笔成交(Tick数据)
- 委托队列(部分)
- 大单统计、资金流向等衍生数据
💰 费用(机构标准):
项目 | 上交所 Level-2 | 深交所 Level-2 | 合计(双所) |
---|---|---|---|
基础行情年费 | ¥80,000 ~ ¥120,000 | ¥60,000 ~ ¥100,000 | ¥14万~22万 |
行情接入开发费(可选) | ¥1万~5万 | ¥1万~5万 | — |
数据商服务费(如万得/同花顺) | +¥3万~10万/年 | +¥3万~10万/年 | +¥6万~20万 |
✅ 总计:机构用户约 20万~40万/年(双交易所Level-2全量数据)
3. 原始订单簿/逐笔委托(L2增强版 or L3)¶
- 内容:每一笔挂单、撤单、成交的完整流水(交易所原始二进制流)
- 用途:超高频策略、订单流分析、冰山单识别等
- 费用:50万~100万+/年,仅对顶级私募或券商自营部门开放
- 接入难度:需专用设备+协议解析(UDP组播+FAST协议)
✅ 四、数据存储建议¶
获取数据后,建议存储到本地数据库,便于回测和分析:
- SQLite:轻量,适合个人
- MySQL / PostgreSQL:结构化存储,支持并发
- InfluxDB / TimescaleDB:时序数据库,适合行情数据
- HDF5 / Parquet:适合批量回测读取
示例(存入SQLite):
import sqlite3
conn = sqlite3.connect('stock_data.db')
df.to_sql('daily_k', conn, if_exists='replace', index=False)
✅ 推荐路线(根据你的阶段)¶
阶段 | 推荐方案 |
---|---|
学习/入门 | Tushare免费版 + AKShare + Baostock |
回测/研究 | Tushare Pro / 聚宽 / 米筐 |
实盘/生产 | 券商L2接口 + Wind/Choice(如预算充足) |
高频/专业 | 交易所原始数据 + 自建行情系统 |
🚀 下一步建议¶
- 注册 Tushare 或 AKShare,跑通第一个数据获取脚本
- 存储到本地数据库
- 用 pandas 做简单分析(如均线、收益率)
- 接入回测框架(如
backtrader
,vnpy
,zipline
) - 逐步过渡到实盘(通过券商API或量化平台)
✅ 个人/小团队替代方案(低成本获取L2数据)¶
方式 | 费用 | 数据质量 | 适合人群 |
---|---|---|---|
券商L2行情API(如华泰、国泰君安) | ¥0~3000/年(部分免费) | 实时L2,但限本账户使用 | 个人实盘交易者 |
Tushare Pro(L2数据) | ¥2000~5000/年(按积分包) | 日频/分钟级L2(非实时) | 回测/研究 |
聚宽/掘金/米筐(平台内使用) | ¥5000~20000/年(会员) | 实时L2 + 回测环境 | 量化策略开发者 |
Wind金融终端(机构版) | ¥2万~5万/年(起) | 最全L1/L2 + 宏观/研报 | 专业投研团队 |
同花顺iFinD / Choice | ¥1万~3万/年 | 类似Wind,性价比高 | 中小型机构 |
🎯 推荐个人用户路径: 1. 先用 Tushare Pro 或 AKShare 做策略原型 2. 进阶用 聚宽/掘金平台 获取实时L2回测 3. 实盘前开通 支持L2 API的券商账户(如华泰、中信)
💡 举个实际例子:¶
某私募基金(注册资本1000万): - 向“通联数据”采购双交易所Level-2行情:¥18万/年 - 向“万得”采购宏观+财务数据:¥8万/年 - 自建行情接收服务器+开发团队:¥20万+ - 总成本第一年约50万+
某个人量化开发者: - Tushare Pro年费:¥2000 - 掘金量化平台会员:¥6000 - 券商账户(免费L2):¥0 - 总成本:¥8000以内
⚖️ 法律与合规提醒¶
- 严禁将交易所原始数据转售、分发、用于非授权用途
- 使用数据商API时,需遵守其《用户协议》(如禁止缓存超过30天、禁止多人共享)
- 实盘交易必须通过持牌券商接口(如CTP、OST、券商专用API)
✅ 总结:你要花多少钱?¶
你的身份 | 推荐方案 | 年成本估算 |
---|---|---|
学生/爱好者 | AKShare + Tushare免费 | ¥0 |
个人开发者(回测) | Tushare Pro + 掘金 | ¥2000~8000 |
个人实盘交易者 | 券商L2 + 聚宽/米筐 | ¥0~10000 |
小型私募/团队 | Wind/Choice + 券商API | ¥3万~10万 |
专业高频团队 | 交易所原始L2 + 自建系统 | ¥30万~100万+ |
📌 建议:
除非你做超高频或订单流策略,否则Level-2分钟级或日频数据已足够覆盖90%的量化策略(如多因子、动量、反转、机器学习选股等)。不必一开始就追求原始行情。