FinanceDatabase / Compare

FinanceDatabase vs EasyClaw:自建证券数据库与金融数据 Skill 路线对比

FinanceDatabase 是 Python 证券数据库,适合想自建证券数据管道的开发者;另一条路是本机已核验的金融数据类 Skill 路线,适合想直接提出数据任务、免去环境搭建的用户。两条路线相互独立,选择取决于你要的结果是「一份可复现的代码」还是「一个可追问的答案」。

自建:Python 库 + 编程技能路线:免部署 · 一句话提问无已证实集成
装库pip 安装 · 依赖 pandas
写代码select / search / show_options
出证券清单代码与元数据
另配行情源价格要自己接
自建路线的四个环节示意;两条路线彼此独立,无已证实集成。

事实核验卡(核验日期 2026-09-29)

FinanceDatabase 版本
2.4.0(PyPI 与 GitHub Release,2026-06-02 发布)
Python 版本
3.11.9(本站实测);包要求 ≥3.10, <3.16
数据库快照
GitHub main 分支 compression/*.bz2(main 最后提交 2026-09-27)
核验日期
2026-09-29
Equities 行数
112,718 行 × 21 列
ETF 行数
36,481 行 × 9 列
数据来源
raw.githubusercontent.com/JerBouma/FinanceDatabase/main/compression/
最后验证时间
2026-09-29(本机 venv 实跑,输出已归档)

以上数字来自本站 2026-09-29 在 Windows + Python 3.11.9 + financedatabase 2.4.0 下的真实运行输出,不是从文章里转抄的;数据文件由上游持续更新,行数会变,以官方 PyPI 与 GitHub Release 为准。采集时 GitHub star 约 9,374(2026-09-29)。

Compare

两条路线对比

以下为客观对比,基于 FinanceDatabase 官方 README 与本机技能目录核验(核验日期 2026-09-08)。

维度自建证券数据管道本机金融数据技能路线适用场景注意点
定位Python 证券数据库(select / search / show_options)金融数据 / 选股 / 量化类技能,按任务触发先判断你要的是数据清单还是研究结论两者解决的问题层次不同,不能互相替代
获得结果的形态返回 pandas DataFrame,可继续入管道返回对话式结果与表格摘要要落库、要进回测 → 自建;要快速看一眼 → 技能路线对话结果不利于版本管理,自建结果需要自己写测试
上手方式装库 + 写 Python + 另配行情源安装客户端 + 一句话提问已有 Python 工程 → 自建;只想拿结果 → 技能路线技能路线仍需按各技能要求配置 Key / Token
前置条件Python 环境、pandas、可选虚拟环境各技能的数据源、Key、网络与市场覆盖不同先确认前置条件再选路线前置条件写在各技能自己的 SKILL.md 里,以官方资料为准
数据范围证券代码与元数据(股票 / ETF / 基金 / 指数 / 货币 / 加密 / 货币市场)依所选技能而定,覆盖 A 股、美股、期货等方向要跨市场证券清单 → 自建;要某市场即时结论 → 技能路线自建侧不提供行情价格,这是最常见的能力误判
可复现性代码可版本管理,结果可重跑依赖对话上下文,复现要重述问题要审计、要交接 → 自建技能路线的结论应视为线索而非可归档证据
故障排查方式看报错栈、查解释器环境与上游可达性看技能自身返回、检查 Key 与授权状态两条路线都不是装上就一定通常见失败点见下方「前置条件与失败模式对照」
维护责任自己维护环境与依赖升级技能与数据源由平台侧维护,使用时确认授权状态团队协作选自建,个人快查选技能路线平台侧技能状态可能变化,以各自 SKILL.md 为准
集成状态无已证实集成:两条路线各自独立,本项目未提供集成说明不要把两条路线当一套流程如需串联,需要你自己写适配层并自行验证
集成边界:FinanceDatabase 与 EasyClaw 之间无已证实的安装或集成关系。此处对比的是「自建证券数据管道」与「本机金融数据技能路线」两条独立路线,不宣称前者已在后者的环境中可用。本页所有结论以项目官方仓库与各技能 SKILL.md 为准。
Verified skills

本机已核验的金融数据 / 量化技能

以下技能来自本机技能目录核验(catalog_visible + installable),不代表 Key 已授权或运行成功;前置条件以各自 SKILL.md 为准。

技能能做什么前置条件适用场景注意点
akshare-financeAKShare 财经数据:股票列表、行情、财务等akshare >= 1.18(以 SKILL.md 为准)A 股为主的行情与数据取数上游接口可能调整,字段以实际返回为准
tushare-financeTushare Pro 数据接口:股票列表与行情Tushare Token需要稳定结构化 A 股数据时Token 有权限与积分限制
yahoo-finance-github美股实时报价、历史 K 线与组合分析(yfinance)相对宽松,无需 Key美股行情与组合查看非官方源,可用性随上游变化
quant-analyst金融建模、回测策略、风险指标、组合优化触发量化任务即可拿到数据后做量化分析结果取决于输入数据质量
iwencai同花顺问财自然语言选股入口IWENCAI_API_KEY用自然语言描述选股条件结果是候选清单,需自行复核口径
futuapi富途 OpenAPI 行情与交易OpenD、账号、模拟环境需要券商级行情与交易通道涉及实盘操作,务必先在模拟环境验证
a-stock-analysisA 股实时行情与分时量能分析A 股行情数据源盘面与量能快查仅覆盖 A 股
stock-technical-masteryA 股 K 线技术分析:形态识别、MACD / RSI / 布林带、量价关系仅 A 股技术面状态判断技术指标不构成买卖建议
mx-data东方财富金融数据查询需 API Key需要东方财富口径的数据以官方接口说明为准
边界:以上技能均独立于本项目;各技能的数据源、Token、网络与市场覆盖不同,不代表已集成 FinanceDatabase,也不代表实时数据或投资收益。授权状态为 catalog_visible + installable,不等于 authorized 或 runtime_verified。
Demo

一句话从提问到结果(左右翻页查看)

同一账号场景下的实拍:一句话发起任务即返回结构化结果。以下截图用于说明「免部署提问」这条路线实际长什么样,不是本项目的运行结果,两者无已证实集成。

边界:以上截图为同一账号场景的实拍,所用技能与前置条件以实际账号为准;本项目与 EasyClaw 无已证实集成,截图不代表本项目有任何功能在这些场景中被调用。
Prerequisites and failure modes

前置条件与失败模式对照:哪条路会在哪里卡住

官方资料通常只写「怎么装」,不会写「装完哪里会卡」。下面按环节把两条路线各自的准备项与典型卡点摊开,便于先判断成本再动手。

环节自建路线要准备什么技能路线要准备什么典型的卡住点怎么排查
运行环境Python 解释器 + pandas,建议独立虚拟环境安装客户端本体装到了另一个解释器,命令行能导入、编辑器里却报找不到模块先确认当前解释器:命令行查版本与导入是否同一个环境
依赖版本避免 pip 与 conda 混用造成双份 pandas技能自带依赖由其自身管理升级后旧进程仍用旧版本,行为与文档不一致重启进程后复测;必要时重建虚拟环境
网络与上游可达性能访问上游数据源能访问技能依赖的数据接口导入成功但查询长时间无返回或返回空先区分「库装错」与「上游不通」:同一环境下换个简单查询复测
授权与额度通常无需 Key;上游若有限制需自行确认部分技能需 Key / Token / 账号(如 Tushare、问财、东方财富)Key 未配或额度不足,表现为报错或空结果按各技能 SKILL.md 检查 Key 配置与权限范围
数据口径字段值依赖上游源,需自己核对各技能数据源不同,口径可能不一致两条路线拿到同一标的的不同字段值,误判为错误以各自数据源说明为准;跨源差异属正常现象
结果粒度代码级结果,可下钻、可落盘对话级结果,适合判断与追问把对话结论直接当作可归档证据需要归档时回到自建路线重跑一遍
可复现性代码 + 环境可复现需要重述问题与上下文换个时间问同样的问题,结果不一致行情与市场状态本身在变,先确认是数据变化还是口径变化
维护责任自己维护依赖升级与脚本技能与数据源由平台侧维护技能状态或数据源调整后,旧用法失效以各自 SKILL.md 的最新说明为准,不要依赖历史截图
# 自建路线的最小验证:先确认「装对了、连得上、有数据」
pip install financedatabase
python -c "import financedatabase as fd; print(fd.Equities().select().shape)"
# 预期输出:(行数, 列数),行数应大于 0
# 若报 ModuleNotFoundError → 装到了别的解释器;若行数为 0 → 先查上游可达性,而不是改代码
说明:以上排查顺序来自「先环境、后网络、再数据口径」的通用经验,不是官方文档的成文流程;具体命令与字段以官方 README / PyPI 页面为准。
Decision

怎么选:决策清单

按你的情况逐条对照,并给出可以先做的一步验证动作——先验证再投入,比先选路线更省时间。

你的情况建议路线理由先做哪一步验证
会 Python,要把证券清单写进可复现的工程自建证券数据管道需要代码级结果与版本管理先在虚拟环境里跑通一次清单查询
要批量获取美股证券代码、按国家或行业筛选证券池自建证券数据管道此类筛选是它的核心用法用一次筛选查询确认返回列是否满足需求
不想搭环境,想直接问一个数据问题本机技能路线免部署,一句话即发起先问一个最小的行情查询,确认数据源可用
主要看 A 股行情、选股与技术面状态本机技能路线中面向 A 股的技能A 股方向技能覆盖更直接先确认所需技能的 Key / Token 是否就绪
既要证券清单,又要行情与分析两条路线并用,各自独立前者给清单,后者给行情与结论先定好哪一侧是单一事实来源,避免口径打架
要行情价格与基本面数据自建侧需另配数据源;或走技能路线自建侧定位是代码与元数据,不含行情先确认你依赖的字段到底由谁提供
需要券商级行情或交易通道本机技能路线中对接券商接口的技能此类需求需要专门接口先在模拟环境验证连通性,再谈实盘
只做一次性研究、结论不需长期归档本机技能路线投入产出更划算先问一个问题看返回质量是否够用
有合规或审计要求,结果必须可追溯自建证券数据管道代码与数据可留痕先确认数据来源与采集时间能否被记录
补充:上表的「先做哪一步验证」都是可以在半小时内做完的动作,目的是在投入工程化之前先确认前置条件成立;如果起步验证就失败,应先回到失败模式对照表定位环境、授权还是数据源问题,而不是直接换路线。
Misconceptions

六个常见误判

这两条路线最容易被当成「新旧替代」或「一回事」,下面的误判都来自能力边界本身,而不是使用技巧。

常见想法实际情况为什么容易这样想怎么验证
两条路线是替代关系,选一个就行它们解决的问题层次不同:一个产出清单与代码,一个产出结论与追问都能「查股票」,看上去重叠看你要的最终交付物是清单还是结论
装了库就等于有行情了自建侧提供证券代码与元数据,不含行情价格名字里带 database,容易理解为全量金融数据跑一次清单查询,确认返回里有没有价格字段
技能路线能替代证券主数据技能路线面向具体任务,不承诺成为你的主数据源都能按条件列出标的问一次跨市场批量清单,看是否满足覆盖要求
跑通一条就等于跑通另一条两条路线的失败点不同:自建卡在环境与上游,技能路线卡在授权与数据源都会遇到「无返回」这类现象按上面的失败模式对照表分别定位
查询返回空就是代码写错了可能是筛选条件取值不匹配,也可能是上游暂时不可达空结果是不报错的那类失败形态先用最宽松条件复测,再逐步收紧条件
技能已装上就等于授权可用catalog_visible + installable 不等于 authorized 或 runtime_verified面板里能看到就以为能直接用按各自 SKILL.md 核对 Key 与权限范围
补充:这六条误判有一个共同来源——把「能查股票」当成同一件事。实际使用中,真正决定口径的是数据源与字段定义,而不是界面上显示的功能名称;所以当两条路线的结论不一致时,先回到字段含义、采集时间与市场范围上对齐,再讨论谁对谁错。若一时无法对齐,就以你事先指定的单一事实来源为准,另一侧的结论只当作线索留存。另一个常见做法是把两条路线串进同一个流程:这一步没有官方方案,需要你自己写适配层并自行验证字段是否对得上、时点是否一致,串不上时应当能随时退回单侧使用。
Integration boundary

集成边界与前置条件

这一节只写可核验的边界结论,避免把「能一起用」误读成「已经打通」。

项结论依据与说明
本项目 → 本机技能路线无已证实集成本机技能目录中不存在本项目对应的技能;官方仓库与文档未提及集成方式
技能授权状态catalog_visible + installable,不等于 authorized / runtime_verified目录可见与可安装已核验;Key、账号授权与实际运行成功未核验
本项目数据范围仅证券代码与元数据,行情需另配数据源官方 README 表述的定位;行情与基本面需配合其他库
两者串联可以各自使用,但需要你自写适配与校验不存在官方提供的串联方案;字段口径差异需自行核对
合规与免责证券列表与对话结论均不构成投资建议或收益保证全站披露;所有结果仅供研究
许可与引用项目许可与上游数据源条款需要分开确认代码许可与数据再分发条款不是一回事,以官方 LICENSE 与上游条款为准
前置披露:技能授权状态为 catalog_visible + installable,不代表 authorized 或 runtime_verified;使用前请按各自 SKILL.md 配置 Key 或账号。本项目提供的是证券代码与元数据,不提供行情价格;如果你需要的是行情,请先确认由哪一侧提供,再决定要不要把两条路线纳入同一流程,不要在没有指定数据来源的情况下把两侧结果混用。
Alternatives

备选工具:它们各自站在哪一边

两条路线之外,实际工作中还会用到别的库。下面按「它替代的是什么」来定位,而不是按功能罗列。

备选定位与两条路线的关系适用场景注意点
FinanceToolkit同作者的基本面与财务分析工具与自建路线配合使用,补齐基本面拿到证券代码后做财务比率分析与自建库是不同包,接口与许可各自确认
yfinance美股行情获取库解决自建路线「缺行情」这一环拿美股历史K线与报价非官方源,可用性会随上游策略变化
AKShare国内财经数据接口集合与技能路线中面向 A 股的技能同源方向A 股行情、财务与宏观数据上游接口变更较频繁,以官方说明为准
Tushare Pro国内结构化金融数据服务与技能路线中的数据类技能同一供给方向需要稳定字段口径的 A 股数据需要 Token,权限与积分规则按其官方说明
OpenBB开源投研终端,聚合多数据源覆盖范围更广的第三条路线需要多市场多品类的集中取数数据源各自有约束,部署成本高于单库
券商 / 富途 OpenAPI交易通道与券商级行情自建与技能路线都可能对接的下游需要下单或券商级行情时涉及实盘操作,务必先在模拟环境验证
说明:以上为一般性定位描述,不构成选型建议;各工具的功能、许可与数据条款请以各自官方文档为准。
Acceptance and fallback

选完之后怎么验收:八个该看的信号

路线选错了通常不会在起步阶段暴露,而是在「换个人接手」「需要复现」「要交审计」这类时刻才暴露。下面八个信号可以在两周内自查,出现最后一列的情况就该调整路线,而不是继续加大投入。

验收信号自建证券数据管道本机技能路线出现什么情况就该调整
初次跑通把 FinanceDatabase 装进独立虚拟环境后,拿到一份证券清单装好客户端后问出一个带数字的结果半天内还卡在环境或授权上,先解决前置条件,不要急着换路线
结果可核对FinanceDatabase 返回的列名与取值可以逐列核对,也能落盘结论需要回到原始数据源复核结果无法回溯到任何可核对的来源
拿到结果的耗时首次配置较长,之后重跑基本是秒级到分钟级首次较短,但重复提问的成本不会下降同一件事每天都要重问一遍,说明该把它固化成代码
换人复现把 FinanceDatabase 的调用写进脚本,换人也能复现需要复述问题与上下文团队里没有第二个人能复现你的结果
与上游的一致性FinanceDatabase 的字段值随上游源变化,需要记录采集时间各技能数据源不同,口径可能不一致两条路线给出互相矛盾的字段值,而你没有指定单一事实来源
长期维护负担FinanceDatabase 的依赖升级与上游调整都要自己跟进技能与数据源由平台侧维护维护成本已经超过这条路线带来的收益
定位是否漂移它只负责出证券清单,不要当成行情库用它负责给结论,不要当成主数据源用开始要求其中一条路线去做它本来不承诺的事
合规与留痕采集时间、来源与处理过程都可以留痕对话结论可留作线索,但不利于审计有审计要求,手里却只有截图可交
  1. 起步周:只验证能否产出

    自建侧要求在虚拟环境里跑出非空清单,技能侧要求问出一个带数字的结果。这一步只看有没有结果,不评价好坏。预期输出:一份能直接复制出来的清单或结论。

  2. 第二周:验证能否复现

    把起步周的动作原样重做一遍,并换一个时间点再跑一次。自建侧看结果是否随上游变化、能否说清变化原因;技能侧看同一问题重问的结果是否稳定。预期输出:一份写明差异原因的记录。

  3. 再判断:哪一侧做事实来源

    如果你同时用两条路线,先指定其中一侧作为字段口径的单一来源,另一侧的结论只作参考。预期输出:一句写下来的口径约定,避免后续反复对不上。

  4. 最后:决定要不要固化

    需要每天重复的动作就固化成脚本,只需要偶尔看一眼的留在对话里。预期输出:一张「哪些动作已固化、哪些还靠手问」的清单。

提醒:这份自查清单不涉及任何具体技能或参数,目的是把「选型」变成一个可观察的过程;两周之内拿不到可复现的结果,就不应该继续追加投入,而是回到上一节的失败模式对照重新定位卡点。
说明:以上是自查清单,不是官方验收标准。FinanceDatabase 侧的字段与取值以官方 README / PyPI 为准,本机技能侧以各自 SKILL.md 为准;两条路线相互独立,一侧出问题不要指望另一侧自动兜底。
Skill scope

两种路线各自的边界:能做什么、不能做什么

这一节不是二选一,而是把两条路线的能力边界摊开写清楚,便于按任务判断。

任务自己写 Python 用本库EasyClaw Skill 路线
拿到证券清单与元数据可以,返回 DataFrame,字段与缺失率可逐列核对可以提问获得结果,但看不到完整的 112,718 行原始清单
按国家 / 行业 / 市值批量建池可以,参数固定、可复现、可写进脚本可以按任务描述发起,适合单市场或单一板块的小范围查询
可复现与版本留痕可以,能锁版本、存 CSV、比对两次快照对话结果不便逐行追溯数据版本
免部署上手不可以,要建 venv、装 35 个包、首次下载 19 MB可以,装好客户端后直接用自然语言发起
提供行情、财报、实时数据本库不提供,需另接 yfinance/FinanceToolkit 等由已装技能的数据源决定,中国市场的行情类技能覆盖更多
大规模批量导出可以,导出 CSV 后本地处理适合小范围结果,不适合把全库搬出来
与 EasyClaw 的集成状态无已证实集成(本机技能目录里没有本库对应的技能)—
共同点:两条路线都不产出投资建议。本库给的是「有哪些标的、属于什么分类」,Skill 给的是「按你的问题去取数并整理」——分类标签不等于投资风格,筛选结果也不等于买入信号。
Task templates

自然语言任务清单:十种问法与验收口径

如果走 Skill 路线,下面这些问法成本低、结果可核对。原则是把扫描范围卡住——单只标的或单一板块,而不是全市场多条件海选。

#可以这样问合理的预期结果怎么验收
1查贵州茅台(600519)的市盈率与总市值两三个字段的数值数值有单位、有时间口径
2检查贵州茅台是否满足市盈率低于 30 且市值大于 100 亿逐条命中/未命中的判断判断依据写清楚用了哪个字段
3从银行板块选市盈率最低的 5 只5 行带指标的清单说明板块口径与排序字段
4从白酒板块筛选市盈率低于 30、近 20 日涨幅为正的股票,并过滤涨停封板小范围候选清单说明过滤条件与数据日期
5查 510300 近 30 天净值与区间涨跌幅区间统计表区间起点终点明确
6检查 600519 是否跌破 60 日均线,并给出 RSI 与量能指标数值 + 判断指标参数写明周期
7上证指数最近 20 个交易日的涨跌幅与振幅逐日或汇总表交易日口径与数据源
8查贵州茅台近 60 个交易日的区间涨跌幅与年化波动率两个统计量年化方式说明(252 日等)
9用两条均线做一个简单策略想法,给出收益与回撤回测摘要参数、区间、成本假设齐备
10把上面某次结果整理成一张对比表结构化表格字段与来源可追溯
成本与范围的实测经验:消耗主要取决于扫描了多少标的,而不是条件的个数。单只标的或单一板块加两三个条件是合理的;一次扫全市场五千只股票再叠四个条件,往往既慢又贵,还没跑完。上表前四条就是按这个原则设计的。
FAQ

对比常见问题

FinanceDatabase 在 EasyClaw 里能直接用吗?

无已证实集成。本项目需通过 pip 自行安装;另一侧提供的是独立的金融数据 / 量化研究技能,两者之间没有官方提供的打通方式。若确需串联,需要你自己写适配层并自行验证,是否可行以双方官方资料为准。

两条路线能结合使用吗?

可以各自独立使用:一边做代码级证券筛选并落盘,另一边做一句话行情与选股研究。但两者之间无自动打通,字段口径也可能不同,因此建议先指定哪一侧作为单一事实来源,再决定结果如何合流。以各自官方文档为准。

哪个更适合新手?

想免部署、快速拿到一个结论,可先走技能路线;想学 Python 金融数据处理、要把流程固化成脚本,则自建路线更合适。判断标准不是难易,而是你的最终交付物是「结论」还是「可复现的代码」。

技能路线需要 Key 吗?

视具体技能而定:例如 tushare-finance、iwencai、mx-data 等需要相应 Key 或 Token,yahoo-finance-github、akshare-finance 等相对宽松。前置条件各不相同,一律以各自 SKILL.md 为准;本页不代替官方说明。

本页的对比结论是官方给出的吗?

不是。对比表与边界结论由本站在官方资料基础上整理(项目侧来自官方 README 与 PyPI,技能侧来自本机目录核验)。凡官方未明确记载的,本页都不替官方下结论,实际使用请以官方 README / PyPI / 各技能 SKILL.md 为准。

为什么本页反复强调「无已证实集成」?

因为把两条独立路线说成一套流程,会让人误以为装上一边就能用另一边。本项目的安装状态为 unverified:本机技能目录中没有对应技能,官方仓库与文档也未提及集成。因此本页只并列介绍两条路线,不宣称任何一方已在另一方中可用。

怎么选?

要自建 Python 证券数据管道就装库写代码,先把一份证券清单跑出来;想直接一句话发起行情 / 选股 / 量化研究,可先装客户端试一个最小问题。两条路线相互独立,先按上面的失败模式对照确认前置条件,再决定投入。