본문으로 건너뛰기
M

dsh-stock-research

megapandas/dsh-stock-research

Provides snapshot-based research and question answering for individual A-share and US stocks.

설치

dsh plugin --profile web add github:megapandas/dsh-stock-research

README

DSH Stock Research

面向 A 股与美股的单股研究插件,为研究过程保留数据、证据与分析产物。

基于 deepseek-harness(DSH)构建,支持从固定数据快照出发进行问答、快速研究、深度研究和复盘。研究由主 Agent 协调多个研究角色完成;插件不执行交易。

开始使用 · 常用命令 · 研究过程 · 配置 · 数据来源 · 写锁恢复 · 本地开发

能做什么

  • 个股问答:基于采集到的数据快照回答具体问题。
  • 快速与深度研究:主 Agent 组织研究角色,分阶段验收并汇总报告。
  • 复盘与重跑:基于既有研究记录复盘,或使用固定输入创建派生运行。
  • 保留研究依据:保存数据快照、证据、产物和采集诊断,方便后续查阅。

快速研究适合形成初步判断:覆盖市场、基本面、宏观和公开信息,进行一轮多空讨论与综合风险分析。

深度研究增加经营、地缘政治和市场情绪分析,进行两轮多空讨论,并分别评估财务、估值和事件风险。它通常需要更多时间和模型调用,成本也可能更高。

开始使用

需要 Node.js 24.16.0、DSH >0.2.1-rc.1 和 pnpm。使用 DSH 插件管理命令安装到指定 profile(以 web 为例):

dsh plugin --profile web add @megapandas/dsh-stock-research@next

也可在项目目录执行 npm ci 和 npm run build,将构建后的包放入 DSH 宿主可解析的依赖中,并在 profile 的 dsh.profile.bundles 中加入 @megapandas/dsh-stock-research。

宿主需提供 Agent、工具、模型、命令及本地子 Agent 等基础服务;模型及凭证由 DSH 管理。

在 DSH 聊天中直接提出研究需求,例如:

请对 SZ.002594 比亚迪做一次快速个股调研。
请对 NASDAQ:NVDA 做一次深度调研,研究日期为 2026-10-23。

默认使用 DSH 数据目录,研究子 Agent 继承当前会话的模型设置。

常用命令

日常使用建议直接与 Agent 对话,描述研究或操作需求,由 Agent 调用相应能力;无需手动操作以下命令。

命令用途
/stock-ask基于采集快照回答问题
/stock-quick / /stock-deep发起快速或深度研究
/stock-review基于既有研究保存独立复盘记忆
/stock-replay使用固定输入创建派生运行
/stock-gc all清除插件缓存、研究运行和复盘数据;任务运行时不可执行

清除后的研究数据无法用于后续复盘或重跑,请在清理前确认需要保留的内容。

研究过程

问答和研究先进行确定性数据收集,取得必需日线后采集其余数据。研究子 Agent 分章节撰写和提交报告,主 Agent 可以追问、要求修改,并在验收后推进后续阶段。聊天任务卡显示进度,最终报告由主 Agent 回复。

采集结果和诊断保存在数据目录的 collections/<UUID>.json 中,正式研究也会保存其使用的数据快照。公开信息搜索在额度耗尽后需要审批;搜索多次被拒时暂停,由用户或主 Agent 判断是否恢复。

财务快照包含派生指标及其计算口径,包括 TTM、单季度、同比、利润率和历史倍数统计。研究使用估值引擎,根据业务和数据选择模型并提供预测依据;计算输入、步骤、算法版本和结果随研究保存,报告通过计算编号引用结果。

研究分析内在价值和目标日市场定价,并结合预期差及催化剂解释预测与估值。折现模型按实际天数计算,剔除价值日期之前的现金流;负股权残值保留为偿付分析的依据。旧算法记录可读取,无法重现旧算法的运行需新建研究。

配置

在 DSH Web 界面打开 设置 → 股票研究,可按需调整以下选项:

选项用途与默认行为
研究模型与思考强度配置研究子 Agent 使用的模型;默认继承主 Agent 的会话设置。主 Agent 始终使用当前会话模型。
旧版摘要模型兼容旧版本会话,为旧版研究的摘要任务指定模型;默认继承研究模型。
免审批搜索次数每次公开信息研究尝试默认可搜索 8 次,超过后每次搜索需要审批;设为 0 时每次都需要审批。搜索后端由 DSH 配置。
数据来源控制行情、财务、宏观、基准和公开信息来源。雪球默认关闭,启用时须填写 Cookie;SEC 默认关闭,启用时须提供请求身份、有效联系方式以及已确认的股票 ID 与十位 CIK 映射。
数据目录保存缓存、采集快照、研究记录和复盘记忆,通常为 ~/.dsh/stock-research,随 DSH 数据目录变化。切换目录不会迁移原有数据。
网络与缓存调整请求超时、最大并发、最小间隔、缓存容量及各类数据的缓存有效期。缓存过期不删除已保存的研究记录。
数据新鲜度设置行情、财务和宏观数据的新鲜度阈值;超过阈值的数据会标记为陈旧。

修改后需保存。模型与搜索额度对新任务生效,在途研究保留启动时的设置;数据目录、来源、网络与缓存等资源配置需在研究空闲时保存,并在下一次研究操作前应用。

数据来源

插件通过以下来源获取数据;雪球和 SEC 默认关闭,其余来源在默认配置中启用。公开信息搜索还需要在 DSH 中配置搜索后端。实际采集内容取决于市场、来源设置及数据可用性。

数据来源与用途
行情与估值东方财富提供 A 股行情和估值;Yahoo Finance 提供美股行情及部分市场基准;腾讯行情和新浪财经提供部分行情查询或备用数据;雪球可作为 A 股行情和四组外汇原生 K 线的备用来源。
财务东方财富和新浪财经提供 A 股财务数据,雪球可作为固定财务采集的备用来源。美国证券交易委员会(SEC)可提供美股发行人标准财务字段,默认关闭,启用前须配置请求身份、联系方式及 CIK。
宏观与市场基准东方财富提供中国宏观及部分指数、汇率、黄金和国债数据;商务部数据中心提供社融数据;FRED 提供美国宏观序列;部分市场基准使用 Yahoo Finance。
公开信息通过 DSH 配置的搜索服务获取,具体搜索后端由宿主决定。

使用雪球时,在 设置 → 股票研究 → 数据来源 启用雪球,将已登录雪球 Cookie 中 xq_a_token、u、xq_is_login 的 Value 分别填入三个输入框,无需手动拼接。来源失败时按整张表切换,保留实际来源与缺失字段;不跨来源拼接数值,不采集讨论、文章或情绪数据。插件不会自动获取 Cookie,失效后需手动更新。Cookie 随宿主配置保存,请勿放入研究对话或提交到代码仓库。

雪球备用覆盖 A 股日、周、月线、最新报价、财务指标和三张财务明细表,以及 USD/CNY、USD/CNH、EUR/USD、USD/JPY 的原生日、周、月 K 线。个股 K 线在东方财富、腾讯和新浪之后尝试雪球;外汇在主源之后先尝试雪球,再使用其他已配置备用源。财务三表从东方财富 F10 明细或雪球明细取得,共保留162个业务字段,覆盖债务、营运资本、利润构成和现金流。折旧摊销补充法、租赁负债及使用权资产由 F10 提供;雪球未提供的字段保持为空。财务披露时间及历史修订状态标记为未验证。

写锁恢复

DSH 非正常退出可能留下写锁,导致再次启动时出现 Cannot acquire data-root writer lock。锁不会自动清除。恢复时,确认使用该数据目录的 DSH 和其他写入者均已停止,然后执行以下命令并重新启动 DSH:

rm ~/.dsh/stock-research/.writer.lock

以上路径适用于默认数据目录;如果使用其他目录,请替换为报错中显示的数据目录。不要在写入者运行时删除锁。

本地开发

npm ci
npm run build
npm run typecheck
npm test
npm run lint
npm run format:check

构建后可运行 npm run test:package 验证包入口。仅采集数据、不调用模型:

npm run collect:data -- SZ.002594 2026-10-27 /tmp/byd-collection

输出目录须不存在。结果包含快照、汇总、逐表数据、请求记录和原始响应;来源失败及覆盖不足分别保存在失败清单和缺口中。

参考与致谢

项目基于 deepseek-harness 开发,研究思路参考了 TradingAgents。

免责声明

本项目仅供研究和学习使用,生成的内容不构成投资建议或交易依据。

许可证

MIT

관련 플러그인