finnhub_utils.py
封装 FinnHub 行情/新闻接口。
各数据源的用途与 key 需求不同,按任务选择。
| 数据源 | 用途 | API Key |
|---|---|---|
| FinnHub | 行情、新闻等 | FinnHub API Key(必填) |
| FMP(Financial Modeling Prep) | 利润表 / 资产负债表 / 现金流 | FMP API Key(报表必填) |
| SEC EDGAR | 上市公司申报文件 | SEC API Key(按需) |
| yfinance | 公开行情数据 | 通常无需 key |
| finnlp | 金融 NLP 数据 | 按 finnlp 要求 |
数据源接入统一封装在 finrobot/data_source 目录,供智能体感知层调用。
封装 FinnHub 行情/新闻接口。
封装 FMP 财务数据接口。
封装 SEC 申报与 yfinance 公开行情。
没有对应 key,相应数据源就无法工作。
| Key | 获取方 | 必填场景 |
|---|---|---|
| OpenAI API Key | platform.openai.com | LLM 推理(核心) |
| FinnHub API Key | finnhub.io | 行情/新闻 |
| FMP API Key | financialmodelingprep.com | 财报/估值 |
| SEC API Key | sec-api.io | 申报文件 |
官方数据源以美股为主,这是与 EasyClaw 量化 Skill 路线的关键差异之一。
FMP / FinnHub / SEC / yfinance 覆盖充分,是 FinRobot 主战场。
官方未内置 A 股数据源,需自行适配或换数据源。
EasyClaw 的 akshare-finance / tushare-finance 等 Skill 更贴合 A 股数据。
官方数据源以美股为主;A 股需自行适配数据源,官方未内置 A 股接口。
yfinance 走公开接口,通常无需 key,但稳定性与限流不受 FinRobot 控制。
先检查对应 key 是否填入 config_api_keys;仍为空可能是接口限流或权限不足。
可以按需配置,但完整研报通常需要 FMP(财报)与 FinnHub(行情/新闻)配合。