> 技术文档 > OpenBB的介绍以及如何使用OpenBB助力A股港股的金融数据分析

OpenBB的介绍以及如何使用OpenBB助力A股港股的金融数据分析

OpenBB 是一个开源的金融数据平台,旨在为投资者、分析师、研究人员和开发者提供免费、透明且易于使用的金融与宏观经济数据访问接口。它曾被认为是类似于彭博终端(Bloomberg Terminal)的功能性替代品,但完全开放源码,用户可以自由定制和扩展。

在一些文章中将OpenBB解释为Open Bloomberg,这是个误解。尽管它常被视为“开源版彭博终端”,但其名称中的“BB”实际上源自黑莓公司的股票代码,而OpenBB的创始人此前曾在黑莓股票上亏损。

在这里插入图片描述

📜 OpenBB 的历史背景

OpenBB 的前身是由 Didier Lopes 在2021年创建的开源项目 Gamestonk Terminal。2021 年 3 月,Gamestonk Terminal 1.0 版本正式发布,凭借其独特的功能和开源特性,迅速在市场上崭露头角,并于同年成功获得第一笔风险投资。基于该项目的良好发展态势,新公司于 2022 年正式成立,并将公司和项目更名为OpenBB。

请参考创始人Didier Lopes的这篇文章 GME didn’t take me to the moon, but Gamestonk terminal did。

OpenBB的发展时间线如下:

  • 2020 年第四季度:Didier 开启 Gamestonk Terminal 的开发之旅
  • 2021 年第一季度:Gamestonk Terminal 正式上线
  • 2021 年第二季度:Joeseph Jacks 与开发团队展开合作洽谈
  • 2021 年第三季度:OpenBB 项目宣告成立
  • 2021 年第四季度:获得 850 万美元的初始投资
  • 2022 年第一季度:OpenBB 正式发布

从 Gamestonk Terminal 到 OpenBB Terminal,其产品开发思路与传统金融终端类似,是一款集成众多数据源的开源金融终端产品。和著名的 Bloomberg Terminal 一样,OpenBB Terminal 对不同数据源的数据进行了抽象化和标准化处理,这种特性显著提升了金融分析从业人员的工作效率,也使得 OpenBB Terminal 在短时间内吸引了大量用户。

OpenBB Platform

随着 OpenBB Terminal 的用户规模不断扩大,项目团队面临着巨大的维护压力。正如创始人 Didier Lopes 在文章中提到,维护这个免费开源终端,包括添加数据集、处理 500 多个 Python 包依赖项以及应对数据源端点更新等工作,所投入的资源对于初创公司来说难以持续。

关于停止 OpenBB Terminal 的开发决定,请参考文章 Sunsetting OpenBB Terminal: Why, How, and What now?。

在实际金融数据分析中,投资者往往面临复杂的数据获取问题。例如,多元化投资者的资产可能涉及多个币种和股票市场,需要从不同数据源收集数据并进行计算,这一过程不仅耗时,而且重复性高。虽然可以通过编写 Python 脚本来自动拉取数据,但随着时间推移,会遇到数据源接口变更和数据需求多样化的难题。

基于这些问题,OpenBB 开发团队重新审视产品价值,决定在 2024 年一季度发布 OpenBB Platform 取代 OpenBB Terminal。OpenBB Platform 专注于金融数据的抽象化和标准化,开发者能够自由添加所需数据源。以查询历史股价为例,无论选择哪种数据源,都可使用统一接口:

from openbb import obbprices = obb.equity.price.historical(symbol=\'000002\', start_date=\"2025-05-01\", end_date=\"2025-05-30\", provider=\"yfinance\")

用户可以根据自身需求,灵活选择默认或指定的数据源,无论是免费还是付费的数据源都能适配。

随着产品升级,OpenBB 的用户界面也进化为 OpenBB Platform CLI,它结合了命令行工具和 WebView,为调用 OpenBB API 提供了便捷环境。在命令行中查询股价历史的示例命令如下:

2025 Jun 25, 21:35 (🦋) /equity/price/ $ historical --symbol 000002 --provider akshare --start_date 2025-05-01 --end_date 2025-05-30

执行该命令后,WebView 会展示查询结果。
在这里插入图片描述

OpenBB Workspace

OpenBB Platform CLI 更适合开发者和具备编程能力的金融分析人员,而对于企业用户,OpenBB 团队推出了 OpenBB Workspace 解决方案,也被称为 OpenBB Terminal Pro。它虽然并非全开源产品,但有望为团队带来收益,目前是 OpenBB 团队的主要开发方向。

通过参考 OpenBB 官方文章中的架构图(整合了 2024 年 3 月及后续关于私有化部署和 AI 集成的示意图),可以清晰了解其产品定义。

关于这个架构图,参考下面这篇文章 Exploring the architecture behind the OpenBB Platform

在这里插入图片描述

开源的 OpenBB Platform 是金融分析应用的基础,在此之上,前端部分不断发展。从 2025 年 6 月起,OpenBB Bot 转由 Unusual Whales 运营,OpenBB Workspace 也转变为基于 AI 的可定制方案。企业用户能够基于 OpenBB Platform 和自身数据,将 OpenBB Workspace 定制为兼具金融终端功能和 AI 能力的专属金融分析平台,相比传统昂贵的金融终端,具有显著优势。为增强灵活性和可定制性,OpenBB 开源了 OpenBB Workspace 的后端和 AI Agent 的集成部分,除用户界面组件外,数据集成方案和 OpenBB Copilot 都支持定制。

  • OpenBB Workspace Backend
    https://github.com/OpenBB-finance/backends-for-openbb

  • OpenBB Agents
    https://github.com/OpenBB-finance/agents-for-openbb


OpenBB与AI的集成

OpenBB 针对企业用户和开发者,分别提供了不同的 AI 使用方式,其与 AI 的集成主要体现在以下两个层面:

  • OpenBB Platform - LLM Friendly Mode:专为开发者设计的集成方法
  • OpenBB Workspace - OpenBB Copilot:主要面向企业用户的使用方式

LLM Friendly Mode

在 API 层面,OpenBB Platform 的 LLM 友好模式,极大地降低了开发者将 OpenBB 数据模型集成到 AI 应用中的难度。OpenBB 开放的函数接口能够轻松转换为 LLM 的函数调用,官方提供的示例代码如下:

from magentic import prompt_chain, FunctionCall, OpenaiChatModel@prompt_chain( \"You are a helpful financial agent that can use function calling to retrieve data.\\nUser Query: {query}\", functions=[obb.equity.price.quote], model=OpenaiChatModel(model=\"gpt-4-turbo-preview\"))def llm(query: str) -> FunctionCall | str: ...r = llm(query=\"What is the current stock price of AAPL?\")r

上述代码创建了一段 LLM 对话,并将 OpenBB 的股价查询函数obb.equity.price.quote作为 LLM 的函数调用,方便快捷地实现数据获取。

OpenBB Copilot

对于企业用户而言,OpenBB Workspace 提供的 OpenBB Copilot 功能十分实用。用户可以依据当前仪表板内容,借助 AI 进行深度分析。例如,在查看辽港股份资料后,通过 OpenBB Copilot 获取 2025 年投资建议,其分析结果和行业对比总结具有较高的参考价值。

在这里插入图片描述

上图中,使用的 Equity Template 模板在查询中国股市数据时存在部分空白项,如当前股票新闻、收入分析等。从辽港股份股票代码601880.SS的查询情况来看,中国股市数据主要依赖 Yahoo Finance,但该数据源对于中国股市数据分析存在局限性,OpenBB 若能支持更多本地化主流数据源,将更贴合中国市场需求。

中国市场的金融数据源

在中国金融市场,主流数据源大多需要付费使用,其中 Wind、东方财富 Choice 和同花顺 iFind 是行业内常用的数据源。除付费数据源外,也有一些可靠的开源数据源可供选择,如 AKShare 和 TuShare:

  • AKShare - https://github.com/akfamily/akshare

  • TuShare - https://github.com/waditu/tushare

通过开发 OpenBB Platform 的数据源扩展,接入中国市场专有的数据源,能够进一步提升 OpenBB 在中国市场金融分析领域的实用性和竞争力。


📝 总结

OpenBB 是一个功能强大、开源免费、面向未来金融数据需求的综合平台。无论你是想了解市场动态、构建投资组合,还是进行深度数据分析,OpenBB 都能为你提供强有力的支持。随着其生态系统的不断发展,OpenBB 正逐渐成为新一代金融科技爱好者的首选工具。

参考资料

  • GME didn’t take me to the moon, but Gamestonk terminal did

  • Sunsetting OpenBB Terminal: Why, How, and What now?