OpenBB
OpenBB 上手教程
OpenBB 上手建议按 “装环境 → 跑通第一个数据查询 → 配置数据源 → 启动本地 API → 接入 Workspace / AI Agent” 推进。
1. 环境准备
推荐使用虚拟环境:
conda create -n openbb python=3.11 -y
conda activate openbbPython 版本建议用 3.9.21 ~ 3.12,3.12 以上或 3.8 以下可能遇到兼容问题。
中国大陆用户安装较慢时,可换镜像源:
pip install openbb -i https://pypi.tuna.tsinghua.edu.cn/simple2. 安装
基础版:
pip install openbb完整版(含更多数据模块):
pip install "openbb[all]"命令行版:
pip install openbb-cli验证安装:
from openbb import obb
print(obb)3. 第一个数据查询
获取美股历史行情:
from openbb import obb
df = obb.equity.price.historical("AAPL").to_dataframe()
print(df.head())获取加密货币行情:
btc = obb.crypto.price.historical("BTC-USD").to_dataframe()
print(btc.head())获取宏观数据,例如美国失业率:
unrate = obb.economy.series("UNRATE", provider="fred").to_dataframe()
print(unrate.tail())这里最关键的是:同一套 obb.* 接口可以切换资产类别和数据源,不用为每个供应商单独写适配代码。
4. 配置数据源 API Key
OpenBB 本身不存储数据,而是调度 Yahoo Finance、FRED、Polygon、Alpha Vantage、Benzinga、Intrinio 等数据源。
凭证通常放在本地配置文件中,例如 ~/.openbb_platform/user_settings.json 里的 credentials 字段。
示例结构:
{
"credentials": {
"fred_api_key": "YOUR_FRED_KEY",
"polygon_api_key": "YOUR_POLYGON_KEY",
"alpha_vantage_api_key": "YOUR_AV_KEY"
}
}不同数据源需要的 Key 不同,公开源如 Yahoo Finance 通常不需要额外配置,付费源则需要先在对应平台申请。
5. 启动本地 API 服务
openbb-api默认会启动一个 FastAPI 服务:
http://127.0.0.1:6900访问:
http://127.0.0.1:6900/docs可以看到 Swagger 文档,直接在浏览器里试接口。
如果需要局域网访问:
openbb-api --host 0.0.0.0 --port 80806. 使用 CLI 命令行模式
安装后直接运行:
openbb-cliCLI 提供类似终端的交互体验,例如查询股票历史价格、筛选 ETF、查看宏观指标等。
适合不想写 Python 脚本、只想快速查数据的场景。
7. 接入 OpenBB Workspace
如果想用可视化界面:
- 先启动本地 API:
openbb-api - 打开 OpenBB Workspace
- 在设置里添加后端地址,例如
http://127.0.0.1:6900 - 测试连接成功后即可使用仪表盘、K 线和组件。
注意:Workspace 的企业版/托管版与开源本地后端是不同层级,部分高级功能可能受版本和配置影响。
8. 接入 AI Agent / MCP
OpenBB 支持通过 MCP Server 让 AI Agent 直接调用金融数据。
安装:
pip install openbb-mcp-server启动:
openbb-mcp之后可以在兼容 MCP 的 AI 工具中调用股票、宏观、加密资产等数据,用于生成分析报告、监控看板或投研助手。
9. 一个完整小练习
建议按这个顺序练:
- 安装
openbb - 拉取 AAPL、BTC-USD、UNRATE 三类数据
- 用
to_dataframe()转成 DataFrame - 用 pandas 计算简单指标,例如收益率、均线
- 用 matplotlib 画一张收盘价曲线
- 启动
openbb-api,在/docs页面调用同一个接口 - 配置一个免费数据源 Key,例如 FRED
- 尝试把数据源从
yfinance换成其他 provider
10. 常见问题
| 问题 | 可能原因 | 处理方式 |
|---|---|---|
| 安装报错 | Python 版本不兼容 | 改用 3.9.21 ~ 3.12 |
| import 失败 | 环境未激活或依赖冲突 | 重建虚拟环境 |
| 数据为空 | 未配置数据源 Key | 检查 credentials |
| 接口报错 401 | API Key 无效 | 重新申请并确认权限 |
| 端口被占用 | 6900 已被占用 | 改用 --port 8080 |
| 速度慢 | 国内网络限制 | 使用镜像源或代理 |