Skip to content

数据管道:7 大市场的数据源体系

没有数据,就没有量化。Vibe-Trading 内置了 7 个数据加载器,覆盖 A 股、港股、美股、加密、期货、外汇六大市场,并且全部支持自动降级——即使用户一个 API key 都没配,也能跑通大部分市场的数据加载。

数据源全景图

Vibe-Trading 的数据加载器(Loader)承担着一个核心职责:把不同市场、不同协议、不同格式的数据统一为内部标准格式,让上层引擎无需关心数据来自哪里。

Loader市场认证备注
yfinance美股/港股免费,无需 tokenYahoo Finance 非官方接口
AKShareA 股/美股/港股/期货/外汇免费,无需 token覆盖面最广的国内开源数据
mootdxA 股免费,无需 token通达信 TCP 直连,无 IP 限流
tushareA 股需 token(免费注册)老牌国内金融数据平台
OKX加密货币免费公开数据全球头部加密交易所
CCXT加密货币免费公开数据统一接口覆盖 100+ 交易所
Futu港股/A 股需富途账号专业港股数据源

自动降级机制

Vibe-Trading 最令人印象深刻的设计之一是其数据源自动降级链

用户请求 A 股日线数据 →
  ├─ Tushare (有 token) → 成功,返回
  ├─ mootdx (免认证) → Tushare 失败,自动降级,返回
  └─ AKShare (兜底) → mootdx 也失败,最后尝试,返回

这意味着:

  • 无需任何 API key,A 股、美股、港股、期货、外汇均可使用
  • 每个数据源之间完全解耦,一个挂了不影响其他
  • 降级过程对上层引擎完全透明

具体来说:

  • A 股首选:mootdx(通达信 TCP 协议直连,无需 token,无 IP 速率限制)
  • A 股备选:tushare(配置 token 后优先级更高)
  • A 股兜底:AKShare
  • 美股/港股首选:yfinance
  • 加密货币首选:OKX(现货 + 合约)
  • 加密货币备选:CCXT(覆盖 Binance、Bybit 等 100+ 交易所)
  • Futu:当配置了富途账号时,提供香港和 A 股的专业行情数据

数据格式统一

无论数据来自哪个 Loader,最终传入回测引擎的数据都遵循统一结构:

  • OHLCV:开盘价、最高价、最低价、收盘价、成交量
  • 时间戳:统一为 UTC 时间戳
  • 代码格式:统一为字符串格式(如 600519.SHBTC-USDT
  • 调整因子:前复权、后复权、除权除息标记

统一的数据格式让 CompositeEngine 可以无缝混合不同市场的数据做回测。

本地缓存系统

2026 年 6 月新增的 VIBE_TRADING_DATA_CACHE 特性,为所有 7 个数据源提供了可选的本地缓存:

  • 存储位置~/.vibe-trading/cache/(用户主目录,非仓库目录)
  • 开关控制:默认关闭,通过环境变量启用
  • 缓存策略
    • 已结算的历史 K 线可以被缓存
    • 截止到当天的区间不会缓存(最后一根 bar 还在形成中)
    • 缓存帧与实时拉取的结果逐字节一致
  • 批量 Loader 优化:yfinance 和 futu 等批量下载型 Loader,在缓存命中时完全跳过批量下载
  • 重复回测加速:长周期回测和大范围横截面研究可以显著提速

数据安全检查

Vibe-Trading 对数据输入有多重安全检查:

  • 文件上传限制/upload 端点使用 1MB chunk 流式读取,超过 MAX_UPLOAD_SIZE 自动中止
  • 文件格式验证:只允许已知的金融数据格式
  • 路径遍历防护:文件读取始终在安全路径约束下
  • 数据源认证:加密和券商数据源通过 OAauth 或 API key 认证

落地实战建议

从零开始(无需任何配置)

bash
pip install vibe-trading-ai
vibe-trading init          # 大部分数据源可以不配置
vibe-trading run -p "分析 A 股主要指数在 2024 年的表现"

即使你不配置任何 API key,上述命令也能正常工作——mootdx + AKShare 的组合可以满足 A 股研究的绝大多数需求。

配置 Tushare 获得更好体验

免费注册 Tushare(https://tushare.pro)获得 token 后,在 .env 文件中设置:

TUSHARE_TOKEN=你的token

这样 A 股数据加载优先级会变为 tushare → mootdx → AKShare,tushare 的数据质量更高、字段更全。

配置 OKX 或 CCXT 做加密研究

如果你需要分析加密货币市场:

# 非必须,公共数据无需认证
OKX_API_KEY=
OKX_SECRET_KEY=
OKX_PASSPHRASE=

公共行情数据无需 API key,如果只需要 public OHLCV 数据,可以直接使用。

配置 Futu 获取专业港股行情

Futu OpenD 提供专业级别的港股和 A 股实时行情。需要安装 FutuOpenD 并配置连接参数。

使用本地缓存加速重复研究

bash
export VIBE_TRADING_DATA_CACHE=1

对于频繁回测同一市场、同一时间区间的场景,这个开关可以大幅减少等待时间。

检验标准

读完本文后,你应该能回答:

  • Vibe-Trading 的 7 个数据加载器分别覆盖哪些市场?
  • 数据源的自动降级链是如何工作的?为什么说"无需任何 API key"?
  • 本地缓存系统的存储位置和缓存策略是什么?
  • 在数据输入方面,系统做了哪些安全检查?
  • 从零开始使用 Vibe-Trading 做数据研究的最低配置是什么?
最近更新

基于 MIT LICENSE 许可发布