DeepSeek Harness Hub
← 返回列表

davidalmeida90/finance-agent-kit

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

面向 DeepSeek Harness、Claude Code 以及任何读取 SKILL.md 约定的 harness…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/5 · 已提供中文文档

为DeepSeek Harness和Claude Code提供的股票估值技能与数据MCP。SEC文件、自下而上的行业贝塔、有来源的隐含ERP。

综合分
28.6
GitHub 分
28.6
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add davidalmeida90/finance-agent-kit
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

finance-agent-kit

面向 DeepSeek Harness、Claude Code 以及任何读取 SKILL.md 约定的 harness 的股票估值技能和数据 MCP。

来自 Anthropic 的 Apache 2.0 金融服务仓库的七项估值技能,外加两个 MCP 服务器,用于提供这些技能假定你已从 Bloomberg 终端获得的数据。

从 agent 安装

如果由 agent 替你完成,以下是具体步骤。请在项目目录中运行它们,并汇报结果,而不是挂载任何东西。

1. 确认项目有 .git 目录。如果没有,先运行 git init:dsh 通过向上查找来解析项目根目录,没有它,技能会从错误的位置加载,或者根本无法加载。
2. 从
https://raw.githubusercontent.com/davidalmeida90/finance-agent-kit/main/bootstrap.py
下载 bootstrap.py,并在运行前阅读它。
3. 检查以下模块能否导入,无法导入的请安装:mcp、yfinance、pandas、lxml、
edgartools、openpyxl、python-docx、matplotlib。在 Windows 上,还需要 pywin32。
4. 运行 bootstrap.py,传入 --identity " "。该值是 SEC 的
公平访问要求,因此请向用户询问,而不是自行编造。
5. 汇报当前可见的技能以及写入的两个补丁文件。不要启动
harness。 组合配置在启动时读取,因此挂载是用户的步骤:

dsh --profile web --patch ./sec-edgar.cordis.yml --patch ./market.cordis.yml --port 3081

使用端口 3081 而非默认的 3080,因为你当前运行的会话几乎肯定已经在 3080 上提供服务。一个端口只能被一个进程占用,因此复用它会导致 EADDRINUSE 失败,新的 harness 永远无法启动。只有在 3080 上没有任何服务时,才可以去掉 --port。

安装会向项目中写入一个 AGENTS.md,其中包含数据、资本成本和输出规则。任何已存在的文件会保留为 AGENTS.md.previous。传入 --no-agents-md 可改为保留你自己的文件。

安装

在你的项目目录内执行。无需 git,不会留下多余文件。

curl -sL https://raw.githubusercontent.com/davidalmeida90/finance-agent-kit/main/bootstrap.py -o bootstrap.py
py -3 -m pip install mcp yfinance pandas lxml edgartools openpyxl python-docx matplotlib
py -3 bootstrap.py --identity "Your Name you@example.com"

在 PowerShell 上,将第一行替换为 iwr https://raw.githubusercontent.com/davidalmeida90/finance-agent-kit/main/bootstrap.py -OutFile bootstrap.py。

在运行 bootstrap.py 之前请先阅读它。它只有 100 行,并且会从互联网下载代码,这类脚本值得先读一读。

然后启动 harness:

dsh --profile web --patch ./sec-edgar.cordis.yml --patch ./market.cordis.yml --port 3081

最终你会得到 .dsh/skills 中的技能、两个已解析的补丁文件,以及一个存放 MCP 服务器的 finance-agent-kit/ 目录。请保留该目录:补丁文件会指向它。
或者克隆,如果你更喜欢

git clone https://github.com/davidalmeida90/finance-agent-kit.git
cd finance-agent-kit
py -3 -m pip install -r requirements.txt
py -3 install.py --target /path/to/your/project --identity "Your Name you@example.com"

有两点容易让人踩坑

--identity 是 SEC 公平访问要求,不是密钥或凭证。它是 SEC 在你的请求中看到的姓名和电子邮件。

你的项目需要一个 .git 目录。dsh 通过向上查找来找到项目根目录,所以没有它,你的技能会解析到某个父目录并静默加载失败。先运行 git init。

如果你希望同一次安装也能在 Claude Code 以及 dsh 中工作,请添加 --skills-dir .agents/skills。

里面有什么

技能

| 技能 | 作用 |
|---|---|
| dcf-model | 带情景、WACC 构建、敏感性表、Excel 输出的 DCF |
| comps-analysis | 带统计基准的可比公司分析 |
| 3-statement-model | 联动的利润表、资产负债表、现金流量表 |
| audit-xls | 公式追踪和工作簿审计 |
| xlsx-author | 电子表格构建约定 |
| initiating-coverage | 以 DOCX 报告结束的五任务启动流程 |
| earnings-analysis | 财报发布后的盈利笔记 |

原样引入,未作修改。来源、提交哈希和已知缺陷见 skills/VENDORED.md。

MCP 服务器

sec-edgar 封装了 EdgarTools。无需密钥、只读,并且是发行人报告的任何内容的权威来源。公司财务数据、个别申报文件、叙述部分,以及分部收入和地区收入实际所在的附注。

market-data 是原创的,它的存在是因为申报文件不包含股价,而且没有任何东西能从包含股价的来源中汇总过去十二个月的数据。六个工具:

| 工具 | 返回 |
|---|---|
| trailing_financials | 来自最新 10-K 以及任何更新 10-Q 的 TTM 收入、EBIT、D&A 和资本支出,包含两个 accession 以及实际资本密集度比率 |
| market_quote | 价格、市值、流通股数、企业价值 |
| market_beta | 原始、Blume 调整和自下而上的行业 beta |
| equity_risk_premium | Damodaran 当前隐含 ERP,实时,包含其日期和度量 |
| risk_free_rate | 美国国债收益率,默认 10 年期 |
| peer_metrics | 同行倍数和利润率,仅基于完整行的中位数 |

无需 API 密钥。底层使用 yfinance 和公开数据。

工具

tools/verify.py 会完全像 dsh 那样,直接从生成的补丁文件启动两个 MCP 服务器,完成握手,列出工具,并分别进行一次实时调用。安装后运行它。MCP 挂载失败否则是不可见的:子进程在启动时死亡,工具只是不存在,模型会从记忆中而不是从申报文件中回答,并且任何地方都没有错误。
tools/recalc.py 会在 Excel 或 LibreOffice 中打开工作簿,使其公式获得缓存值,然后验证覆盖率并报告任何 #REF!、#DIV/0! 或 #VALUE!。openpyxl 写入公式时不带结果,因此如果没有这一步,生成的工作簿在所有下游验证器看来都是空的,包括 dcf-model 内置的那个验证器。

市场 MCP 为何如此行事

它的两个工具之所以存在,是因为这些技能会在这两点上出错,而且错误很大。

贝塔。 dcf-model 说要使用五年月度回归贝塔。在 2026 年 9 月对 NVIDIA 运行这一方法,Yahoo 返回 2.217,这会产生 17% 的 WACC 和比市场价格低 49% 的估值。该贝塔是在该股票上涨约十倍的期间测得的,因此它捕捉的是重估而非系统性风险。Damodaran 对 66 家公司计算的半导体行业贝塔为 1.49。按 NVIDIA 自身的资本结构进行去杠杆调整后,它基本不变,因为该公司几乎没有债务,而估值落在市场价格 10% 以内。market_beta 返回全部三个数字,并推荐自下而上的那个,当原始贝塔与其行业贝塔偏离超过 30% 时发出警告。

股权风险溢价。 该技能说“5.0-6.0%(市场标准)”,没有来源,也没有指明度量方法。Damodaran 目前发布五个 ERP 估计值,范围从 3.56% 到 6.05%。他当前的隐含数字是 4.14%;他的十年平均现金流收益率是 6.05%。两者都站得住脚,它们是不同的估计量,而在高贝塔股票上,这一差距价值每股数十美元。equity_risk_premium 实时获取当前隐含数字及其日期和度量方法,以便记录选择而非假设。

基期。 这些技能中没有任何内容强制使用过去十二个月的基期,而 dcf-model 明确允许“LTM 或最近一个财年”。在一次实际运行中,智能体面前有更新的 10-Q,提到该季度收入 120 次,却仍然锚定在财年上,而该财年已过时两个季度,代价约为估值的三分之一。trailing_financials 通过一次调用组装基期,使正确的选择成为容易的选择。

两个技能都不包含的检查。 在报告估值之前,求解当前股价所隐含的折现率。当它与你的 WACC 相差超过约 300 个基点时,投入假设更可能是问题所在。这一步就能立即抓住大多数糟糕的资本成本假设。

完整示例

examples/nvda/ 有一个完整的 NVIDIA 估值:包含 150 个实时公式且零错误的 Excel 模型、包含 11 张嵌入图表的 DOCX 首次覆盖报告,以及构建脚本。

要求

Python 3.11+。recalc.py 需要 Excel 或 LibreOffice。参见 requirements.txt。

许可证

原创作品采用 MIT 许可证,参见 LICENSE。内置技能采用 Apache 2.0 许可证,参见 NOTICE 和 LICENSE-APACHE-2.0-anthropic。
Anthropic 的 xlsx、docx、pdf 和 pptx 技能未包含在内。其许可证禁止再分发。

不构成投资建议。所展示的示例仅用于演示工具,并非对任何证券的推荐。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群