展会资讯
量化数据源深度研究报告
2026-04-07 16:15
量化数据源深度研究报告

0. 执行摘要

面向“个人研究/开源可用”的数据源,A股回测优先用免费历史库(BaoStock)+社区平台(TuShare/AKShare)做复权与基本面补全;港美股以Stooq历史数据为底座,辅以yfinance/AlphaVantage做补充;虚拟货币与加密衍生品优先用交易所REST+WebSocket(Binance/OKX/Coinbase/Kraken)直连并本地缓存。若涉及低延迟实盘、商用展示或再分发,必须转向交易所许可与商业数据商。[1]

1. 数据源格局与评价维度

个人可用数据源大致分三类:开源“采集/转发型”库(从公开网站或接口聚合数据)、官方/半官方数据平台的免费层(通常带配额或“积分/权限”)、交易所/交易所成员(经纪商)直连。前两类成本低、上手快,但在稳定性、延迟一致性、版权/再分发方面存在结构性风险;第三类质量/合规最好,但费用与准入门槛最高。[2]
本报告按你的维度,给出可直接落地的“选型—接入—治理”建议,重点围绕以下关键点:
  • 范围:A股/港股/美股的可公开获取数据通常以日线/分钟线为主;逐笔成交、完整委托簿(Depth of Book)更常见于加密交易所API和交易所付费行情体系(港美股/期货尤其如此)。[3]
  • 延迟与频率:加密交易所WebSocket通常可做到亚秒到百毫秒级推送;而面向个人的免费股票API更多是分钟级/收盘后更新。[4]
  • 数据质量与一致性:复权口径、交易日历、时区对齐、停牌/除权处理是多市场回测最容易“踩坑”的地方,必须引入标准化字段与对账校验。TuShare明确提示其前复权机制与常见行情软件存在差异(从用户设定的end_date开始往前复权),这是典型的口径差异案例。[5]

2. 开源与个人可用数据源对比

下表优先收录“个人研究可免费使用/可开源接入”的主力来源;官方付费类仅做简略对照(见后文)。为便于系统比较,我用“覆盖市场、数据类型、接入方式、典型限制/授权风险”四类信息做主干。
个人/开源优先数据源对比表

数据源(定位)

覆盖市场

常用数据类型(举例)

接入方式

优点

主要缺点/风险

典型费用区间

AKShare[6](开源数据接口库)

股/期/期权/基金/宏观/加密等广覆盖

取决于具体接口:日线/分钟、部分实时快照、基本面、衍生指标等;示例:加密货币实时行情接口

Python库(脚本采集为主)

接口多、对学术研究友好;强调从公开网站取“原始数据”并可交叉验证

非交易所直连,依赖第三方网页/接口稳定性;字段口径需自建规范;商用/再分发风险需自查

0元(开源)[7]

TuShare[8](社区数据平台,非纯开源)

A股为主,扩展到港股分钟、期货/期权等

日线(未复权)+复权/因子;分钟线需单独权限;港股分钟(1/5/15/30/60)等

Python SDK + 部分HTTPAPI(部分集成接口不支持HTTP)

覆盖面深,接口文档体系化;积分/权限体系可渐进升级

明确存在频次/权限;分钟数据权限需单独开通且强调“仅供研究学习、不允许商业目的”

0~约1500元/年(随积分/权限)[9]

BaoStock[10](免费A股历史数据)

A股/指数为主

日/周/月K;5/15/30/60分钟;复权参数(前/后/不复权)

Python库

免注册、适合离线回测数据底座

官方文档在部分网络环境下可读性不稳定(本次环境无法完整抓取原始文档页),需自行做字段口径与缺失检查;港美股覆盖弱

0元(免费)[11]

pytdx[12](通达信协议客户端)

A股为主,并可触达部分期货/期权品类(依服务器)

多为实时快照/分时/分笔等(取决于服务器能力)

Python库(连接通达信兼容行情服务器)

对个人研究“实时行情/分笔”有吸引力

项目声明强调“个人研究习作,不对外服务;机构不要使用”;使用合规与稳定性风险更高

0元(开源)[13]

Stooq(免费历史库,偏EOD/分钟文件)

美股、港股等多地区;也含期货、加密等目录

日线/小时/5分钟级历史数据(按文件下载);页面展示“Lastupdate”时间

网站文件下载;亦可通过pandas-datareader读取日线

覆盖广,适合教学与回测底库;明确提供日/小时/5分钟目录与更新时间

更像“下载站”而非严格API;字段与复权口径需校验;自动化批量下载可能触发表单/验证码等限制

0元(免费)[14]

yfinance[15](Yahoo非官方封装)

全球证券(取决于Yahoo覆盖)

常见为日线/分时/公司信息等(视接口而定)

Python库

上手快、生态大

明确“不隶属Yahoo”,用于研究与教育;需参考Yahoo条款,“个人使用”提示明显;服务结构可能变动

0元(开源)[16]

Alpha Vantage[17](免费层+付费阶梯API)

美股/外汇/部分加密等(以官方文档为准)

日线/分时;可设置延迟/实时授权参数;更多功能需Premium

REST API

有官方Demokey,便于快速试用;免费层明确配额

免费层日配额较低;部分实时/期权等需Premium/授权流程

免费;Premium约$49.99/月起

CoinGecko(公共加密聚合数据)

虚拟货币(聚合多交易所/链上)

价格、市场数据等;公共API有调用频控,Demo账号更稳定

REST API

无交易所账号即可取到主流币价格;文档完善

公共API限速(官方说明不同计划不同速率);并非逐笔/交易所级撮合数据

Demo可试用;付费计划约$103.2/月起

Binance[18](交易所直连:现货/衍生品)

加密现货、合约等

REST:ticker/klines等;WebSocket:实时行情推送;另有“公开历史数据打包下载”

REST + WebSocket + 公共数据文件

市场数据接口清晰;WebSocket基地址与组合订阅机制明确;公开历史数据按日/月发布

地域合规与访问受限可能存在;高频需做好限速与断线重连

公共市场数据通常免费

OKX[19](交易所直连,深度推送频率高)

加密现货/合约等

WebSocket公开频道:深度books5等;文档给出books5与bbo-tbt推送粒度示例

REST + WebSocket

对盘口/委托簿(L2/L1)的推送设计明确,适合低延迟行情缓存

仍需遵守API协议与地区限制;高频场景需工程化维护

公共市场数据通常免费

Coinbase[20](AdvancedTrade:REST+WS)

加密现货等(以其产品线为准)

公共REST端点启用缓存(文档提到1scache),实时建议用WebSocket

REST + WebSocket

文档强调WebSocket更适合实时;认证体系相对规范

公共REST存在缓存;衍生品/机构产品线另计

公共市场数据通常免费

Kraken[21](WSv2:trade/book等)

加密现货等

trade频道;book频道为L2 order book(聚合价位数量);并提供校验/一致性指引

WebSocket为主

WebSocket v2文档清晰,适合构建本地盘口;book为L2聚合层级

工程上需自己维护orderbook与校验

公共市场数据通常免费

HTX[22](原Huobi系的官方文档入口)

加密现货/合约等(以其开放API为准)

文档建议用WebSocket缓存本地以降低延迟;含不同深度主题建议

REST + WebSocket

文档给出“WebSocket更低延迟/更适合缓存”的实践建议

跨境网络与地区合规影响更明显;接口稳定性需实测

公共市场数据通常免费

CCXT[23](统一交易所API封装库)

多交易所(以库支持列表为准)

统一方法获取ticker/orderbook/trades/OHLCV等;公共API无需key即可用

多语言SDK

统一接口降低多所适配成本;适合“多交易所回测/监控”

统一层会牺牲部分交易所特性;WebSocket能力与版本/增值组件有关

开源为主(增值能力另计)[24]

对个人选型最有用的结论
A股/期货等传统市场的“免费”渠道,多数只能满足回测与研究,很难长期稳定获得逐笔+盘口并具备商用合规;反而加密交易所普遍提供公开市场数据REST+ WebSocket,在“盘口/成交明细/秒级推送”方面更友好。[25]

3. API实测与字段对照

说明:受限于“普通研究用途、无付费账号/无专用交易权限”,本次实测仅选择公开可直接访问的接口;对需要Token/积分或需本地运行SDK的来源(如TuShare部分接口、BaoStock批量拉取、AKShare大量接口)不做联网压测,只给出可操作的请求样例与注意事项,并在“推荐方案”里给出替代路径。[26]
小规模测试结果表

数据源

测试目标

示例请求

鉴权

返回样本(节选)

可观测“新鲜度/时间”线索

备注

Binance

连通性

GET /api/v3/ping

{}

适合健康检查与容灾切换探活[27]

Binance

价格快照(现货)

GET /api/v3/ticker/price?symbol=BTCUSDT

{"symbol":"BTCUSDT","price":"68539.38000000"}

返回为“当前快照价”而非带时间戳

回测应使用klines或历史文件;实时需WS订阅[28]

CoinGecko

主流币美元价

GET /api/v3/simple/price?ids=bitcoin&vs_currencies=usd

无(公共)

{"bitcoin":{"usd":68683}}

endpoint本身不返回时间戳(可用含last_updated_at参数或其他端点)

公共API限速需控制频率;更高频需Demo/Pro[29]

Alpha Vantage

美股日线(Demo)

GET /query?function=TIME_SERIES_DAILY&symbol=IBM&apikey=demo

demo key

返回包含Meta DataTime Series (Daily)

Last Refreshed: 2026-04-06Time Zone: US/Eastern

非实时;免费层配额低(官方写明25次/日)[30]

Stooq

历史数据目录与更新

打开“Free Historical Market Data”页

页面列出Daily/Hourly/5Minutes与文件列表

Last update: 7 Apr 2026, 02:45 CEST

更偏“数据下载站”,适合作为离线底库[31]

字段对照表(把不同源映射到统一行情Schema)
建议你在落库前先做“统一字段层”,避免策略端被不同数据源格式绑死:

统一字段(建议)

Binance ticker/price

CoinGecko simple/price

Alpha Vantage TIME_SERIES_DAILY

备注

symbol

symbol

无统一symbol(用coinid映射,如bitcoin)

Meta Data.Symbol

对CoinGecko需维护coin_id ↔ 交易对/标的映射[32]

ts(毫秒UTC)

无(仅快照)

默认无(可用带last_updated_at参数或其他端点)

Time Series (Daily)键为交易日(配合时区)

关键:统一到UTC并保留原始时区字段[33]

price/close

price

usd

"4. close"

统一数值类型与精度(字符串→decimal)[32]

open/high/low/volume

"1. open"..."5. volume"

快照API不适合回测,回测必须用K线/成交明细[34]

4. 成本、授权与合规风险

个人研究与商用的“分水岭”
很多个人常用数据源(尤其是爬取/非官方API封装)在文档或声明中会直接提示研究/教育用途条款约束:例如yfinance明确“不隶属Yahoo”,建议用户参考Yahoo条款,并提示Yahoo Finance API倾向“personal use only”。[16]TuShare也在分钟数据获取说明中写明“数据只供策略研究和学习使用,不允许作为商业目的”,这意味着它更适合做个人研究型数据底座,而不适合对外展示/再分发。[35]
交易所许可与再分发的现实成本
一旦进入“对外展示、向客户提供行情、自动化交易的非展示用途(Non-display)、或再分发”范围,通常会落入交易所/协会的许可体系与费用结构,个人免费数据源很难合规。
·港股:HKEX[36]在“Market Data Vendors”费用页给出数据再分发费、连接费、订阅费,并单列了“Non Display Usage”费用等条目(页面更新时间为2024-04-01)。[37]
·中国期货:SHFE[38]明确“若有意转发行情应提交书面申请及承诺…审核通过后签订信息经营许可合同…开通后颁发行情转发证书”。[39]
·深市行情授权:SZSI[40]页面列出授权申请条件,包括不得以未许可方式使用或再分发等要求。[41]
·美股显示合规:Nasdaq[42]的“Display Requirements Policy”明确要求分发商遵守相应展示要求、不得歪曲数据等。[43]
费用对比表(低/中/高三档可落地预算)
说明:下表给的是“个人研究—小团队原型—商业化/对外分发”的典型量级,实际价格与币种以各方合同/报价为准。

档位

适用场景

主要构成

可参考公开价格/规则

低(约0~几百元/月)

个人回测、课程教学、策略原型

AKShare/BaoStock/Stooq/yfinance/交易所公开API;少量云资源与存储

AKShare开源定位学术研究;Stooq提供免费历史目录;yfinance提示研究教育用途;Binance公开市场数据接口可直接访问[44]

中(约几百~数千元/月)

需要稳定配额、更多市场/指标、较少断供风险

TuShare更高积分/权限;AlphaVantage/或CoinGecko付费层;必要时加备用源

TuShare“积分-频次-捐助”表给出0~1500元/年区间;Alpha Vantage Premium从$49.99/月起且无日限额;CoinGecko付费计划公开标价(如Analyst约$103.2/月起,按年计费)[45]

高(万元级/月起)

低延迟交易、对外展示/再分发、机构风控合规

交易所许可(含非展示/再分发)、专线/机房、商业数据商(Bloomberg/Refinitiv等)

HKEX页面列出季度再分发费与Non-display费用条目;SHFE要求签订许可合同;Nasdaq有展示政策;Bloomberg提供DataLicense产品线,Refinitiv DataScope Select是全球数据抽取平台[46]

5. 推荐方案与接入步骤

本节给出按场景的“优先级推荐 + 接入步骤”,确保你可以从个人研究平滑升级到更合规/更低延迟的架构。
个人量化回测
推荐优先级(从“最省钱可用”到“更稳”)A股:BaoStock(历史K线底座)→TuShare(日线/指标/复权因子补全)→AKShare(补充宏观/另类与交叉验证)。[47]港美股:Stooq(离线底库,含港股目录且给出日/小时/5分钟)→yfinance(快速补齐个券与部分分时,但注意“个人使用/条款”风险)→ Alpha Vantage(官方API,适合小规模稳定调用)。[48]加密:Binance公开历史数据文件(用于回放)+交易所REST/WS(增量更新)+CoinGecko(币种元数据/聚合校验)+CCXT(多所统一)。[49]
接入步骤(可直接照做)第一步:选定“主源+备源”并定义统一Schema(symbol、ts、o/h/l/c/v、trade_date、timezone、adjust_factor等)。[50]第二步:先落“原始层Raw”再做“标准层Normalized”,保留原始字段与请求参数,便于追溯与口径对齐。第三步:用企业行动(分红送转/拆股)与复权因子对齐口径;特别注意TuShare提示的“前复权起算点差异”。[51]第四步:做三类校验:交易日历对齐(停牌/节假日)、价格异常检测(跳变/负值/成交量为零)、跨源对账(同一日收盘价差异阈值)。[52]
低延迟交易
如果你目标是“秒级/更低延迟 + 盘口(orderbook)+成交明细”,个人开源数据源应当只用于研究与回测,实盘应走交易所/经纪商/交易所API直连
·加密:直接用交易所WebSocket,按文档实现订阅、心跳与断线重连;例如Binance给出WebSocket基地址与组合订阅格式,并提示连接有效期;OKX明确books5与bbo-tbt的推送粒度;Coinbase文档强调实时建议用WebSocket而非轮询。[53]
·传统市场(A/H/美股/期货):一旦涉及非展示/自动化交易用途与对外分发,需进入交易所许可与合规框架(成本与审核门槛显著高于个人级)。[54]
机构级风控与合规
建议把“数据许可与可追溯性”放在第一位:使用商业数据商的标准化数据模型与审计能力,并将交易所许可条款(展示、非展示、派生数据、再分发)写入内部控制与系统边界。HKEX页面直接列出Non-display收费类别,适合作为合规讨论的“外部约束样例”。[55]商用供应商简述:Bloomberg[56]提供DataLicense等数据产品线;Refinitiv[57]的DataScopeSelect被描述为“托管数据抽取平台,覆盖全球定价与参考数据”等。[58]
学术研究与教学
优先选择“接口丰富+可复现+许可压力相对可控”的组合:AKShare(接口广、偏学术研究)+Stooq(免费历史底库)+交易所公开API(加密)+少量官方API(Alpha Vantage Demo/免费Key)。[59]
flowchart LRA[数据源\nA股/港美股/期货/加密] --> B[采集层\nREST/WS/文件下载]  B --> C[Raw原始区\n按源分区存储]  C --> D[标准化\n字段/时区/交易日历/复权]  D --> E[Normalized标准区\n统一Schema]  E --> F[回测/研究/监控]  F --> G[质量监控\n缺失/跳变/延迟告警]  G --> B

5. 实施注意事项与最佳实践

数据存储与回放一致性
建议采用“原始数据不可变+标准化可重算”的双层结构:任何跨源纠错、复权算法迭代都应在标准层重跑,而不是覆盖原始层;这样可以避免“同一策略不同时间回测结果不一致”。TuShare对复权起算点差异的说明也提示:只要复权规则不同,历史价格序列就会出现系统性差异,因此必须记录复权口径与参数。[5]
时间同步、时区与交易日对齐
·加密交易所:用WebSocket推送时,要实现心跳(Ping/Pong)、断线重连,并将交易所时间戳统一转换到UTC;Binance文档对WebSocket连接基地址与组合流结构有明确说明,是实现“稳定订阅”的关键依据。[60]
·美股/港股/跨市场:至少要维护三类“日历对象”——交易日历、交易时段(含午间/盘后)、结算日历;否则分钟线与日线对齐会产生系统误差。AlphaVantage返回中包含Time Zone: US/Eastern,这类字段应当入库保存。[61]
复权、拆股与公司行动
把公司行动当作“主数据”管理:用分红送转、拆股、复权因子生成可重放的adjustedOHLC;并确保同一策略在不同数据源间对齐同一复权口径。TuShare明确其复权采用“分红再投”模式且前复权起算点可能与行情软件不同,实践中建议将“复权方法/起算点/end_date”写进元数据表。[51]
监控与容灾
·对REST轮询类数据:监控HTTP状态码、配额消耗、字段缺失率;AlphaVantage官方写明免费服务典型配额为25次/日,若不做缓存很快触顶。[62]
·对WebSocket推送类数据:监控订阅数、延迟(本地接收时间-交易所时间戳)、丢包重放、orderbook校验(Kraken提供checksum相关指引)。[63]
·对“非官方/爬取”类数据:将其定位为“备源或辅助对账”,不要作为唯一生产源;yfinance的免责声明与“personal use only”提示本质上是在提醒这种非官方来源的可用性与合规不确定性。[16]
[1][11][21][47]https://pypi.org/project/baostock/

https://pypi.org/project/baostock/

[2][7][12][17][20][44][59]https://akshare.akfamily.xyz/introduction.html

https://akshare.akfamily.xyz/introduction.html

[3][9][19][25][52]https://tushare.pro/document/2?doc_id=27

https://tushare.pro/document/2?doc_id=27

[4][53][60]https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams

https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams

[5][6][8][50][51]https://tushare.pro/document/1?doc_id=122

https://tushare.pro/document/1?doc_id=122

[10][43]https://www.nasdaqtrader.com/content/AdministrationSupport/Policy/DISPLAYREQUIREMENTSPOLICY.pdf

https://www.nasdaqtrader.com/content/AdministrationSupport/Policy/DISPLAYREQUIREMENTSPOLICY.pdf

[13]https://github.com/JiJingYu/pytdx-1

https://github.com/JiJingYu/pytdx-1

[14][31][48]https://stooq.com/db/h/

https://stooq.com/db/h/

[15][28][57]https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT

https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT

[16]https://github.com/ranaroussi/yfinance

https://github.com/ranaroussi/yfinance

[18][41]https://www.szsi.cn/cpfw/fwsq/hq/sqlc-3.htm

https://www.szsi.cn/cpfw/fwsq/hq/sqlc-3.htm

[22][37][46][54][55][56]https://www.hkex.com.hk/Services/Rules-and-Forms-and-Fees/Fees/Securities-%28Hong-Kong%29/Market-Data/Market-Data-Vendors?sc_lang=en

https://www.hkex.com.hk/Services/Rules-and-Forms-and-Fees/Fees/Securities-%28Hong-Kong%29/Market-Data/Market-Data-Vendors?sc_lang=en

[23][24][38]https://github.com/ccxt/ccxt

https://github.com/ccxt/ccxt

[26][35]https://tushare.pro/document/1?doc_id=234

https://tushare.pro/document/1?doc_id=234

[27]https://api.binance.com/api/v3/ping

https://api.binance.com/api/v3/ping

[29][32][36]https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd

https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd

[30][33][34][61]https://www.alphavantage.co/query?apikey=demo&function=TIME_SERIES_DAILY&symbol=IBM

https://www.alphavantage.co/query?apikey=demo&function=TIME_SERIES_DAILY&symbol=IBM

[39]https://www.shfe.com.cn/services/information/sale/202401/t20240127_478796.html

https://www.shfe.com.cn/services/information/sale/202401/t20240127_478796.html

[40][49]https://github.com/binance/binance-public-data

https://github.com/binance/binance-public-data

[42]https://www.okx.com/docs-v5/en/

https://www.okx.com/docs-v5/en/

[45]https://tushare.pro/document/1?doc_id=290

https://tushare.pro/document/1?doc_id=290

[58]https://professional.bloomberg.com/products/data/data-management/data-license/

https://professional.bloomberg.com/products/data/data-management/data-license/

[62]https://www.alphavantage.co/support/

https://www.alphavantage.co/support/

[63]https://support.kraken.com/articles/4405513898516-websocket-api-v1-order-book-checksum-calculator-google-sheet-

https://support.kraken.com/articles/4405513898516-websocket-api-v1-order-book-checksum-calculator-google-sheet-

发表评论
0评