Stock Research logo

Stock Research

CommunityPopular
qusong0627
stock-research

个股深度研究(多 Agent 编排版)— 多角色分析师并行编排(技术/新闻/资金情绪/基本面/市场 5 分析师并行 → 多空辩论 → 研究经理汇总),数据全部走 QuantMind 本地(QuantDB + PG 新闻富集 + Huntly),新闻双通道(自家 FinBERT 量化情绪 + 实时搜索补充)。用户说「深度研究」「个股深度研究」「研究某只股票」「多角度分析」时使用:跑 research_data.py 取数 → 并行分析师 → 辩论 → 汇总报告 → PDF → 落盘深度分析目录。触发词:深度研究、个股研究、研究600519、多角度分析、全面分析某股

Overview

Publisherqusong0627
RepositoryQuantMind
Skill namestock-research
Stars
1.7K
Forks
387
Bundled files
10
LicenseAGPL-3.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 10 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by qusong0627 on GitHub. Read the source before you install it.

Installation

Install the Stock Research AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/qusong0627/QuantMind/tree/master/skills/stock-research
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/qusong0627/QuantMind.git /tmp/QuantMind
mkdir -p .claude/skills
cp -r /tmp/QuantMind/skills/stock-research .claude/skills/stock-research
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Stock Research in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Stock Research on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Stock Research is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

⚙️ 本技能遵循公共运行环境契约(最高优先级,先于本文其余内容执行): 详见 _shared/env-contract.md,执行前先读它。

stock-research — 个股深度研究(多 Agent 框架版)

把多角色投研编排落地到 QuantMind:数据 100% 走本地(QuantDB parquet + PG 新闻富集 + Huntly),新闻双通道(自家 FinBERT 情绪量化 + WebSearch 实时补充),输出研报级 MD + PDF,落盘深度分析目录(报告管理页 → A股市场 → {股票名})。

与 [[stock-deep-research]](智能体自主版深度投研)不冲突,互为补充:

  • 本 skill = 5 分析师并行编排的「多 Agent 框架版」,流程更重、结构化更强;
  • [[stock-deep-research]] = 轻量自主版(特征快照 → 多空子代理辩论 → 综合研判),任何大模型可跑;
  • 两者数据同源(QuantDB + PG),本 skill 额外整合了模型推理分数(engine_signal_scores)与新闻类型分布;
  • 结论冲突时以数据为准:每个数字都可在数据包溯源,也可读归档目录下已有报告(A股市场/{股票名}/)交叉验证。

架构

Phase 1(并行 5 分析师,各读同一份数据包的不同切片):
  技术面 → 趋势/均线/指标/量价
  新闻面 → 自家 FinBERT 情绪(主)+ WebSearch 实时新闻(辅)
  资金情绪 → L2 主力资金流 + 换手/量能
  基本面 → 估值 + 财务三表核心科目
  市场面 → 大盘背景 + 所属行业强弱 + 板块资金流
Phase 2(并行):多头研究员 vs 空头研究员(基于 facts 辩论,禁编数据)
Phase 3:研究经理汇总 → 结论(评级/目标区间/风险/跟踪信号)
输出 → md → PDF → 落盘

⚠️ 数据铁律(最高优先级,所有 Agent 必须遵守)

  1. 禁止伪造数据:所有价格/PE/财务/资金流数字必须来自数据包 JSON,严禁编造
  2. 数据包是唯一数据源:先跑 research_data.py 拿到 {symbol}_{date}.json,各分析师只读该文件对应切片;WebSearch 只允许补充新闻面的时效性(不得用于取行情/财务)
  3. 过期标注:数据包 generated_at 距今 >5 个交易日时,报告开头标注 ⚠️ 数据截止 {generated_at};财报报告期为上季度时注明
  4. 单位口径:amount 万元、市值元(估值 JSON 已原样给出,报告统一 亿元=÷1e8)、L2 资金流脚本已转亿元、技术指标 pct_change 为 %
  5. 数据缺失不跳过:某段数据为空时在报告「数据可用性」注明,不得用推断值充数
  6. Symbol 格式:内部统一后缀格式(600036.SH);输入任意格式(600036/SH600036/招商银行)由脚本归一化

执行流程(每次 7 步)

第 1 步:跑数据脚本(容器内)

bash
docker cp <repo>/skills/stock-research/scripts/research_data.py quantmind:/tmp/
docker exec quantmind python3 /tmp/research_data.py --symbol 600036.SH
# 输出: /data/reports/stock_research/600036_SH_YYYYMMDD.json(容器内)
docker cp quantmind:/data/reports/stock_research/600036_SH_YYYYMMDD.json /tmp/

数据包含:quote(120 日 K 线/60日高低/20-60日涨幅)、indicators(量纲无关指标:rsi/kdj/macd/乖离率/量能/波动率/return 系列;均线由 K 线计算)、valuation(pe_ttm/pb/ps/市值)、l2_flow(近 10 日主力净流入)、financials(三表最新报告期)、sector(CSRC 一级行业)、market_context(5 指数 + 行业涨幅榜 + 板块资金流 1/5/10 日 + 所属行业)、news(近 60 天 FinBERT 情绪事件 + 来源/标签统计 + 类型分布)、model_score(最新推理 run 的融合/轻量/TFT 分数 + 信号方向 + 预期价 + 全市场分位)。

第 2 步:创建报告目录

bash
mkdir -p /tmp/stock-research/{symbol}/reports

第 3 步:Phase 1 并行启动 5 个分析师(Agent tool,各自独立)

每个 Agent 的 prompt = prompts/{role}.md 内容 + 数据包路径 + 输出路径。并行(同一消息多个 Agent 调用)。输出各自 reports/{role}.md。

  • technical.md — 技术面
  • news.md — 新闻面(双通道:自家情绪统计为主 + WebSearch 实时为辅)
  • sentiment.md — 资金情绪(L2 主力资金流)
  • fundamentals.md — 基本面(估值 + 财务)
  • market.md — 市场面(大盘 + 行业 + 板块资金)

第 4 步:Phase 2 多空辩论(并行)

bull.md / bear.md:基于 5 份分析师报告 + 数据包,各自构建最强多/空逻辑链。必须引用具体数据,不得空泛。

第 5 步:Phase 3 研究经理汇总(串行)

research_manager.md:读全部 7 份报告,输出最终研究报告(结论/目标区间/风险/跟踪信号)。

第 6 步:md → PDF → 落盘深度分析目录

bash
# PDF(研报风管线,QwenPaw 本地直接执行:扩展镜像已内置 reportlab + 中文字体)
python3 /app/backend/scripts/md_to_pdf_report.py /tmp/stock-research/{symbol}/reports/final.md /tmp/ma_report.pdf

# 落盘(A股市场/{股票名}/,与深度分析报告同列表)
# /data 为 QwenPaw 与 quantmind 共享挂载,直接写入即可被「报告档案」页实时列出
mkdir -p '/data/reports/stock_reports/A股市场/{股票名}'
cp /tmp/stock-research/{symbol}/reports/final.md '/data/reports/stock_reports/A股市场/{股票名}/{股票名}{代码}_2026-08-29_深度研究分析报告.md'
cp /tmp/ma_report.pdf '/data/reports/stock_reports/A股市场/{股票名}/{股票名}{代码}_2026-08-29_深度研究分析报告.pdf'

文件名约定:{股票名}{代码}_{日期}_深度研究分析报告.pdf(与现有深度学习分析报告同格式,便于排序)。

第 7 步:聊天回复速览

3-5 行:结论评级、关键数据(现价/PE/资金/情绪)、主要风险、报告路径。

支持的分析师独立运行

用户指定单个分析师时只跑该角色(如"技术面分析 600519"):步骤 1 + 3(单 Agent)+ 直接输出该角色报告。

已知边界

  • 财务为最新报告期(季度),非实时;估值/技术指标为最新交易日
  • 新闻情绪依赖 FinBERT 富集(PG),Huntly 断流时新闻段降级为空并在报告中标注
  • 仅支持 A 股(QuantDB 主库);港股/美股个股研究走其他 skill
  • 报告落盘目录为容器 root,宿主机不可写,统一容器内操作

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Stock Research AI skill do?

个股深度研究(多 Agent 编排版)— 多角色分析师并行编排(技术/新闻/资金情绪/基本面/市场 5 分析师并行 → 多空辩论 → 研究经理汇总),数据全部走 QuantMind 本地(QuantDB + PG 新闻富集 + Huntly),新闻双通道(自家 FinBERT 量化情绪 + 实时搜索补充)。用户说「深度研究」「个股深度研究」「研究某只股票」「多角度分析」时使用:跑 research_data.py 取数 → 并行分析师 → 辩论 → 汇总报告 → PDF → 落盘深度分析目录。触发词:深度研究、个股研究、研究600519、多角度分析、全面分析某股

Why use Stock Research on TypingMind?

Because you install it once and use it with any model. Stock Research is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Stock Research in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/qusong0627/QuantMind/tree/master/skills/stock-research. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Stock Research?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Stock Research?

As many as you like. As long as a model supports skills, you can use Stock Research with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Stock Research AI skill free?

Yes. It is published on GitHub by qusong0627 under the AGPL-3.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇