Banner

OpenBB

1天前

OpenBB 上手教程

OpenBB 上手建议按 “装环境 → 跑通第一个数据查询 → 配置数据源 → 启动本地 API → 接入 Workspace / AI Agent” 推进。

1. 环境准备

推荐使用虚拟环境:

conda create -n openbb python=3.11 -y
conda activate openbb

Python 版本建议用 3.9.21 ~ 3.12,3.12 以上或 3.8 以下可能遇到兼容问题。

中国大陆用户安装较慢时,可换镜像源:

pip install openbb -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 安装

基础版:

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 8080

6. 使用 CLI 命令行模式

安装后直接运行:

openbb-cli

CLI 提供类似终端的交互体验,例如查询股票历史价格、筛选 ETF、查看宏观指标等。

适合不想写 Python 脚本、只想快速查数据的场景。

7. 接入 OpenBB Workspace

如果想用可视化界面:

  1. 先启动本地 API:openbb-api
  2. 打开 OpenBB Workspace
  3. 在设置里添加后端地址,例如 http://127.0.0.1:6900
  4. 测试连接成功后即可使用仪表盘、K 线和组件。

注意:Workspace 的企业版/托管版与开源本地后端是不同层级,部分高级功能可能受版本和配置影响。

8. 接入 AI Agent / MCP

OpenBB 支持通过 MCP Server 让 AI Agent 直接调用金融数据。

安装:

pip install openbb-mcp-server

启动:

openbb-mcp

之后可以在兼容 MCP 的 AI 工具中调用股票、宏观、加密资产等数据,用于生成分析报告、监控看板或投研助手。

9. 一个完整小练习

建议按这个顺序练:

  1. 安装 openbb
  2. 拉取 AAPL、BTC-USD、UNRATE 三类数据
  3. 用 to_dataframe() 转成 DataFrame
  4. 用 pandas 计算简单指标,例如收益率、均线
  5. 用 matplotlib 画一张收盘价曲线
  6. 启动 openbb-api,在 /docs 页面调用同一个接口
  7. 配置一个免费数据源 Key,例如 FRED
  8. 尝试把数据源从 yfinance 换成其他 provider

10. 常见问题

问题可能原因处理方式
安装报错Python 版本不兼容改用 3.9.21 ~ 3.12
import 失败环境未激活或依赖冲突重建虚拟环境
数据为空未配置数据源 Key检查 credentials
接口报错 401API Key 无效重新申请并确认权限
端口被占用6900 已被占用改用 --port 8080
速度慢国内网络限制使用镜像源或代理


5