0. 执行摘要
1. 数据源格局与评价维度
范围: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] |
3. API实测与字段对照
数据源 | 测试目标 | 示例请求 | 鉴权 | 返回样本(节选) | 可观测“新鲜度/时间”线索 | 备注 |
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 Data与Time Series (Daily) | Last Refreshed: 2026-04-06、Time Zone: US/Eastern | 非实时;免费层配额低(官方写明25次/日)[30] |
Stooq | 历史数据目录与更新 | 打开“Free Historical Market Data”页 | 无 | 页面列出Daily/Hourly/5Minutes与文件列表 | Last update: 7 Apr 2026, 02:45 CEST | 更偏“数据下载站”,适合作为离线底库[31] |
统一字段(建议) | 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. 成本、授权与合规风险
档位 | 适用场景 | 主要构成 | 可参考公开价格/规则 |
低(约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. 推荐方案与接入步骤
5. 实施注意事项与最佳实践
https://pypi.org/project/baostock/
https://akshare.akfamily.xyz/introduction.html
https://tushare.pro/document/2?doc_id=27
https://developers.binance.com/docs/binance-spot-api-docs/web-socket-streams
https://tushare.pro/document/1?doc_id=122
https://www.nasdaqtrader.com/content/AdministrationSupport/Policy/DISPLAYREQUIREMENTSPOLICY.pdf
https://github.com/JiJingYu/pytdx-1
https://stooq.com/db/h/
https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT
https://github.com/ranaroussi/yfinance
https://www.szsi.cn/cpfw/fwsq/hq/sqlc-3.htm
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://github.com/ccxt/ccxt
https://tushare.pro/document/1?doc_id=234
https://api.binance.com/api/v3/ping
https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd
https://www.alphavantage.co/query?apikey=demo&function=TIME_SERIES_DAILY&symbol=IBM
https://www.shfe.com.cn/services/information/sale/202401/t20240127_478796.html
https://github.com/binance/binance-public-data
https://www.okx.com/docs-v5/en/
https://tushare.pro/document/1?doc_id=290
https://professional.bloomberg.com/products/data/data-management/data-license/
https://www.alphavantage.co/support/
https://support.kraken.com/articles/4405513898516-websocket-api-v1-order-book-checksum-calculator-google-sheet-