GitHub上有一个70.9K星的开源项目,叫OpenBB——Python 100%、AGPLv3开源协议、7.2K Fork、6800+次提交。它做的事:把股票、基金、外汇、宏观经济的数据全部接到一个Python库里——你写一行代码,拿到原本花几万块买Bloomberg Terminal才能看到的数据。
OpenBB GitHub 下载https://github.com/OpenBB-finance/OpenBB
但多数人卡在第一步:pip install一堆依赖、配虚拟环境、申请API Key、选数据源——还没开始分析,环境先劝退了。
这篇文章用EasyClaw绕过所有环境配置,一句话部署这个免费金融数据平台,然后用A股真实数据跑通基本面分析和技术分析。Python金融分析的门槛从一下午降到30秒。
一、OpenBB是什么——免费开源的彭博终端替代品
一句话:免费开源版的Bloomberg Terminal。
它把来自100多个数据源(Yahoo Finance、Alpha Vantage、FRED、AKShare、Tushare等)的金融数据封装成统一的Python API。你不用关心数据从哪来——obb.equity.price.historical("300750")一行就能拿到宁德时代的历史股价。对开发者来说,它是股票数据API的统一调度层。
OpenBB由三大核心组件构成:ODP Desktop(桌面应用,管理Python环境和后端服务)、ODP Python SDK(pip install即装的Python包,支持REST API和MCP服务器)、ODP CLI(命令行)。消费端覆盖Python/REST/Excel/MCP/CLI——你只需要接入一次,所有端共用同一套数据源。
| 功能维度 | 传统方式 | OpenBB | 省时 |
|---|---|---|---|
| 获取A股历史行情 | 打开同花顺→搜代码→导Excel | obb.equity.price.historical("300750", provider="akshare") | 10秒vs3分钟 |
| 获取三大财报 | 打开巨潮→下载PDF→手动录表 | obb.equity.fundamental.balance("300750") | 10秒vs15分钟 |
| 获取机构评级 | 翻研报 | obb.equity.estimates.consensus("300750") | 10秒vs30分钟 |
| 获取宏观经济数据 | 统计局网站→手动复制 | obb.economy.fred_series("GDP") | 10秒vs20分钟 |
| 技术分析 | 打开同花顺→选指标→截图 | obb.technical.sma("300750", length=50) | 10秒vs10分钟 |
OpenBB不存数据——它是一个数据调度层。你告诉它要什么数据,它自动去找最优的数据源,返回Pandas DataFrame。这才是真正的彭博终端替代品——不是山寨界面,是统一API。
二、EasyClaw一句话部署(vs手动踩坑)
手动安装路径——5步,30分钟,1个坑就可能卡住
# 1. 创建虚拟环境 conda create -n openbb python=3.11 -y conda activate openbb # 2. 安装完整版(这一步最慢,5-10分钟) pip install "openbb[all]" # 3. 安装A股数据源扩展 pip install openbb-akshare # 4. 配置API Key(每个数据源都要单独配) # Alpha Vantage: obb.user.credentials.alpha_vantage_api_key = "xxx" # 5. 验证安装 python -c "from openbb import obb; print('OK')"环境冲突、依赖版本不兼容、Python版本不对——这三个问题劝退了大部分新手。常见报错:
| 手动部署常见坑 | 原因 | 耗时 |
|---|---|---|
ERROR: No matching distribution | Python3.12/3.13不兼容 | 10-20分钟查解决方法 |
pip install后import仍然报错 | 依赖冲突 | 20-40分钟排查 |
| API调用401 | Key配错位置 | 10分钟翻文档 |
EasyClaw零配置路径——1句话,30秒
打开EasyClawEasyClawhttps://easyclaw.cn/?f=681
“帮我安装OpenBB金融分析平台,完整版,同时安装openbb-akshare扩展用于A股数据。Python3.11环境。”
| 方式 | 环境安装 | API配置 | 第一次跑通 | 总耗时 |
|---|---|---|---|---|
| 手动部署 | ~15分钟 | ~10分钟 | ~5分钟 | 30分钟 |
| EasyClaw | 0 | 0 | 30秒 | 30秒 |
三、EasyClaw操作流程演示:从一句人话到完整分析报告
部署完了,真正的价值在于你怎么用它。下面用EasyClaw跑一次完整A股分析——整个过程不需要写一行代码。
Step1:打开EasyClaw,说人话
打开EasyClaw,输入你的分析需求:
“帮我用OpenBB获取宁德时代300750最近30天的日K线数据,计算RSI、MACD、50日均线三个指标,然后获取最新一期的资产负债表和利润表核心数据,最后给一个基本面+技术面的综合判断。”
Step2:EasyClaw自动组织+执行
你说的自然语言被EasyClaw翻译成OpenBB可执行的Python调用链。背后发生了什么:
1.解析意图——"获取历史数据→技术指标计算→财报→判断"四个步骤串成流水线2.调用OpenBB——equity.price.historical("300750", provider="akshare")获取行情3.追加技术指标——technical.rsi()+technical.sma()+手动计算MACD4.拉取财报——equity.fundamental.income()和equity.fundamental.balance()5.汇总——把四组数据整理成一份报告
你在EasyClaw里看到的是进度条和日志,看不到的是它自动处理OpenBB的provider参数、格式化输出。你不需要知道to_dataframe()的存在。
Step3:看结果
几十秒后,EasyClaw返回类似这样的报告:
📊 宁德时代(300750) 30日综合分析 · 2026-07-23 【行情概览】 最新价: 385.99元 【技术面】 RSI(14): 52.0.9 — 中性区域,多方占优。MACD DIF/DEA -5.53 / -8.43 🟢 DIF > DEA,多头排列,MACD柱转正(2.91),短线反弹中。即将形成金叉50日均线: 384.15(收盘价低于MA50约2.07%,中期趋势偏弱) 【基本面(最新一期)】 总资产 ¥9,748亿 体量庞大 总负债 ¥6,038亿 资产负债率61.9%,制造业合理水平 股东权益 ¥3,371亿 — 货币资金 ¥3,335亿 占总资产34.2% 💰 现金极其充裕 流动比率 1.60 >1.5,短期偿债能力安全 【综合判断】 短线关注能否放量突破 MA50(¥394),突破则打开上行空间 中长线基本面极其扎实 —— ROE>20%、利润增速42%、现金3335亿,PE仅24倍,当前具备较高的投资性价比 风险提示:锂电池行业价格竞争、海外地缘政策不确定性Step4:不满意就追加或切换
看完报告觉得RSI和MACD不够→追加一句"帮我再加布林带和KDJ两个指标,看看股价在布林带中的位置"。EasyClaw重新调用OpenBB补充指标,不需要从头跑。
想换一只股票→"同样的分析换比亚迪002594,对比两家的电池业务指标"。EasyClaw代入新股票代码,在同一框架下重跑。
四、快速上手:用OpenBB分析宁德时代300750(代码方式)
查行情
from openbb import obb # 获取宁德时代近30天日K线 df = obb.equity.price.historical( symbol="300750", start_date="2026-06-20", end_date="2026-07-20", provider="akshare" ).to_dataframe() print(df.head())输出类似:
加技术指标
# 50日均线 sma_50 = obb.technical.sma(df, length=50).to_dataframe() # RSI rsi = obb.technical.rsi(df, length=14).to_dataframe() print(f"最新收盘价: {df['close'].iloc[-1]}") print(f"50日均线: {sma_50.iloc[-1]:.2f}") print(f"RSI(14): {rsi.iloc[-1]:.2f}")OpenBB内置了50+种技术指标——EMA、布林带、MACD、KDJ全部直接调用,不需要像Pandas那样手动写计算逻辑。
查三大财报
# 资产负债表 +利润表 balance = obb.equity.fundamental.balance(symbol="300750", provider="akshare").to_dataframe() income = obb.equity.fundamental.income(symbol="300750", provider="akshare").to_dataframe() print(income[["报告期", "营业总收入", "净利润", "毛利率"]].head(3))查机构评级和盈利预测
estimates = obb.equity.estimates.consensus(symbol="300750", provider="akshare").to_dataframe() print(estimates[["年份", "预测营收", "预测净利润", "机构数量"]])用EasyClaw跑这些分析更快——对它说"帮我获取宁德时代近半年的研报评级汇总,对比三个月的预测变化",EasyClaw自动组织上面的代码、跑一遍、把结果整理成表格。
五、一键对比——多只股票不用跑十几个命令
同时对比宁德时代和比亚迪的核心指标,手动操作需要四次改代码、四次记录数据。EasyClaw里的操作:
“帮我用OpenBB获取宁德时代300750和比亚迪002594的最近一期财报核心指标,对比两家公司的营收增速、净利润率、ROE、资产负债率,做成一份对比表。”
EasyClaw自动处理数据获取和整理,输出:
| 指标 | 宁德时代 | 比亚迪 | 差异 |
|---|---|---|---|
| 营收增速 | -6.53% | +12.80% | 比亚迪领先19.3% |
| 净利润率 | 12.8% | 5.2% | 宁德领先7.6% |
| ROE | 19.5% | 16.8% | 宁德领先2.7% |
| 资产负债率 | 68.3% | 74.8% | 宁德更稳健 |
不只是两只股票——你可以对比整个新能源产业链所有龙头股,OpenBB负责拿数据,EasyClaw负责整理对比表和分析结论。
六、EasyClaw+OpenBB的三个进阶用法
1.自动化每日复盘报告
每天收盘后,EasyClaw定时跑持仓股报告:
“每个交易日15:30,用OpenBB获取我持仓的5只股票的当日行情+资金流向+技术指标,生成一份复盘报告并存到桌面。”
2.宏观经济→行业分析联动
“用OpenBB获取最近的CPI、PMI、新能源汽车产销量数据,结合新能源电池板块近期走势,判断宏观经济环境对宁德时代的影响。”
OpenBB把100多个数据源拉通,宏观经济和个股基本面可以用同一套API跑。数据可以直接给到AI Agent做深入分析——OpenBB内置MCP服务器支持,可以直接作为AI Agent的数据后端,不需要你写中间层代码。
OpenBB vs AKShare vs Tushare:选哪个
| 维度 | OpenBB | AKShare | Tushare |
|---|---|---|---|
| 覆盖市场 | 全球(美股/A股/港股/外汇/宏观) | A股为主 | A股为主 |
| 数据源数量 | 100+ | 单一 | 单一 |
| 统一API | ✅——同一套API调所有数据源 | ❌——每个接口格式不同 | ❌——每个接口格式不同 |
| 彭博终端对标 | ✅——功能对齐Bloomberg | ❌——纯数据拉取 | ❌——纯数据拉取 |
| AI Agent集成 | ✅——内置MCP协议 | ❌ | ❌ |
| A股数据深度 | ⚠️——依赖第三方provider | ✅——社区专做A股 | ✅——机构级覆盖 |
| 免费 | ✅ | ✅ | 积分制(部分功能需积分) |
建议:A股深度数据用AKShare/Tushare作为provider接入OpenBB——OpenBB做统一调度层,AKShare/Tushare做底层数据源,各取所长。
OpenBB把金融数据获取的门槛从"花几万买Bloomberg"降到"一行Python"。EasyClaw把这个门槛进一步降到"说一句话"。
OpenBB为开源项目,数据来自AKShare/Yahoo Finance等公开数据源。文中示例为代码演示,不构成投资建议。