数据管道:7 大市场的数据源体系
没有数据,就没有量化。Vibe-Trading 内置了 7 个数据加载器,覆盖 A 股、港股、美股、加密、期货、外汇六大市场,并且全部支持自动降级——即使用户一个 API key 都没配,也能跑通大部分市场的数据加载。
数据源全景图
Vibe-Trading 的数据加载器(Loader)承担着一个核心职责:把不同市场、不同协议、不同格式的数据统一为内部标准格式,让上层引擎无需关心数据来自哪里。
| Loader | 市场 | 认证 | 备注 |
|---|---|---|---|
| yfinance | 美股/港股 | 免费,无需 token | Yahoo Finance 非官方接口 |
| AKShare | A 股/美股/港股/期货/外汇 | 免费,无需 token | 覆盖面最广的国内开源数据 |
| mootdx | A 股 | 免费,无需 token | 通达信 TCP 直连,无 IP 限流 |
| tushare | A 股 | 需 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.SH、BTC-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 认证
落地实战建议
从零开始(无需任何配置)
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 并配置连接参数。
使用本地缓存加速重复研究
export VIBE_TRADING_DATA_CACHE=1对于频繁回测同一市场、同一时间区间的场景,这个开关可以大幅减少等待时间。
检验标准
读完本文后,你应该能回答:
- Vibe-Trading 的 7 个数据加载器分别覆盖哪些市场?
- 数据源的自动降级链是如何工作的?为什么说"无需任何 API key"?
- 本地缓存系统的存储位置和缓存策略是什么?
- 在数据输入方面,系统做了哪些安全检查?
- 从零开始使用 Vibe-Trading 做数据研究的最低配置是什么?
