# Stock Compare Analysis

> 多股票对比分析 Skill。基于财富 MCP Gateway，对 2～5 只股票的主营业务、所属行业、生成式行业与竞争分析、同日行情和近期事件进行轻量横向比较。适用于“工行和建行有什么区别”“宁德时代和比亚迪业务上有什么差异”“今天哪只股票涨得更多”等问题。第一版不支持结构化财务、估值、技术面、资金流向或目标价对比。

- Skill: `templeking/stock-compare-analysis` (Agent Skill)
- Install (CLI): `npx skillmds@latest add templeking/stock-compare-analysis`
- Raw SKILL.md: https://api.skillmd.com/api/skills/templeking/stock-compare-analysis/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: TempleKing (https://skillmd.com/u/templeking)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/templeking/stock-compare-analysis

---


# 多股票对比分析 Skill

## 1. 功能范围

本 Skill 用于对 2～5 只具体股票进行轻量横向比较，包括：

* 公司画像：交易所、申万行业、行业代码、主营业务；
* 可比性判断：行业、业务模式和产业链位置；
* 行业与竞争分析：PEST、SWOT、波特五力等生成式观点；
* 行情对比：同一日期的价格和涨跌幅；
* 事件对比：近期公司、行业和政策资讯；
* 差异总结：各公司的业务特点、机会、压力与风险。

本 Skill 不提供财务质量、估值高低、技术指标、资金流向、机构评级或目标价对比。

---

## 2. When to Use

当用户提出以下问题时，使用本 Skill：

* 工商银行和建设银行有什么区别？
* 宁德时代和比亚迪的业务模式有什么差异？
* 这几家公司分别属于什么行业？
* 两家公司面临的行业机会和风险有什么不同？
* 今天这几只股票谁涨得更多？
* 对比这几家公司近期发生的重要事件。
* 帮我从公司和行业角度比较这三只股票。

用户未指定比较维度时，默认比较：

1. 主营业务与行业；
2. 可比性和产业位置；
3. 工具生成的优势与压力；
4. 同日行情；
5. 必要的近期事件；
6. 当前数据能力边界。

---

## 3. When NOT to Use

以下问题不要用本 Skill 直接完成：

1. 比较营业收入、净利润、现金流、ROE 等财务指标。
2. 比较 PE、PB、PS、估值分位或目标价。
3. 比较均线、MACD、支撑位等技术指标。
4. 比较主力资金、北向资金或机构评级。
5. 从全市场筛选或推荐股票。
6. 要求判断“应该买哪只”。
7. 要求加仓、减仓、买入或卖出。
8. 要求预测未来涨跌幅或承诺收益。
9. 只分析一只股票。

对于当前工具不支持的维度，应明确说明数据不足，不得使用生成式观点替代结构化数据。

---

## 4. 场景识别与工具路由

| 用户意图 | 优先 Tool | 用途 |
| ------------ | ------------------------ | ---------------- |
| 公司、行业与业务画像对比 | `queryStockKypInfo_7192` | 获取稳定基础字段及生成式分析文本 |
| 当前或指定日期行情对比 | `querySecuQuote_7681` | 获取价格、涨跌幅和数据日期 |
| 近期事件与政策背景对比 | `search_3347` | 获取资讯标题、正文、来源和时间 |

工具调用原则：

1. `queryStockKypInfo_7192` 是核心工具。
2. 行情比较必须使用相同交易日和相同口径。
3. `search_3347` 只在用户询问近期变化、事件或涨跌背景时调用。
4. 不将资讯中的观点直接视为确定事实。
5. 不因用户问“谁更好”就输出买卖建议。

---

## 5. 参数构造规则

### 股票画像

名称明确时使用：

```json
{
  "skShortNameList": ["宁德时代", "比亚迪"]
}
```

代码明确时使用 `skInnerCodeList`。

股票代码明确时，使用 `skInnerCodeList`。
```json
{
  "skInnerCodeList": ["000001.SZ", "600519.SH", "300750.SZ"]
}
```

处理规则：

1. 模糊匹配结果与用户输入高度一致时，可以继续。
2. 返回对象明显不一致时，应先确认。
3. 任一股票识别失败时，不得用模型记忆补充代码。

### 行情对比

```json
{
  "secuNames": ["宁德时代", "比亚迪"]
}
```

用户指定日期时，补充 `queryDate`。

### 资讯检索

建议分别构造公司查询，避免多家公司资讯混杂：

```json
{
  "query": "宁德时代近期重要公司事件和行业影响",
  "maxSize": 5
}
```

---

## 6. 返回结果解析规则

1. 先检查工具调用是否成功。
2. `data` 为字符串时，应二次解析。
3. 检查股票名称和代码是否与用户输入一致。
4. 只提取本次比较需要的字段。
5. 结构化事实与生成式观点分开表达。
6. 资讯应保留来源和发布时间。
7. 字段缺失时明确标注，不得自行补全。
8. 不展示原始 JSON、内部 class、接口参数或 debug 信息。

---

## 7. 工作流策略：六步轻量股票对比法

### Step 1：确认对比对象和目标

识别：

* 股票名称或代码；
* 股票数量；
* 用户关注维度；
* 时间范围；
* 是否需要行情或近期事件。

本 Skill 默认处理 2～5 只股票。

---

### Step 2：判断可比性

根据申万行业、主营业务和产业链位置判断：

#### 高可比

* 同一行业；
* 主营业务相近；
* 商业模式相似。

可以直接比较业务特点、行业环境和竞争观点。

#### 部分可比

* 属于同一产业，但处于不同产业链环节；
* 业务存在交集，但经营范围不同。

应先说明业务差异，再进行维度化比较。

#### 低可比

* 行业和商业模式明显不同。

主要解释差异，不输出统一优劣排名。

---

### Step 3：比较公司和业务画像

通过 `queryStockKypInfo_7192` 比较：

* 股票名称和代码；
* 交易所；
* 申万行业；
* 申万行业代码；
* 主营业务。

重点说明：

* 各公司主要做什么；
* 业务是否存在重合；
* 所处行业或产业链位置有何不同；
* 可能受到哪些行业因素影响。

工具未返回收入构成、市场份额或行业排名时，不得自行补充。

---

### Step 4：比较行业环境和竞争观点

整理工具返回的：

* PEST；
* SWOT；
* 波特五力；
* 行业亮点；
* 基本面总结。

建议按以下维度比较：

* 政策与行业环境；
* 公司业务优势；
* 竞争压力；
* 潜在机会；
* 主要风险。

这些内容属于生成式分析观点，不是财务事实。应使用：

* “工具返回的分析认为……”
* “当前生成式总结显示……”

不得据此判断某公司的真实盈利能力或财务质量更优。

---

### Step 5：比较行情和近期事件

#### 行情

使用 `querySecuQuote_7681` 比较同一日期的：

* 价格；
* 涨跌幅；
* 数据日期。

处理规则：

1. 绝对股价高低不代表公司价值高低。
2. 单日涨跌不代表长期表现。
3. 缺少历史价格序列时，不比较长期收益。
4. 缺少技术指标时，不判断趋势或买卖信号。

#### 事件

必要时使用 `search_3347`，比较：

* 公司自身事件；
* 行业共同事件；
* 政策和市场背景；
* 事件可能影响的业务环节。

不得将某条资讯认定为股价变化的唯一原因。

---

### Step 6：形成维度化结论

最终结论以差异说明为主，例如：

* A 和 B 属于同一行业，业务可比性较高。
* A 的业务更聚焦于某一环节，B 的业务范围更广。
* 工具生成的分析中，A 更受某类行业需求影响，B 面临的风险来源有所不同。
* 在所查询交易日，A 的涨跌幅高于 B，但单日表现不足以判断长期优劣。
* 当前没有财务和估值数据，无法判断谁的盈利质量更好或估值更便宜。

不得输出：

* A 的基本面一定更好；
* B 的估值更低；
* 建议购买某只股票；
* 某只股票更值得长期持有；
* 目标价或未来涨跌空间。

---

## 8. 数据能力边界

当前稳定支持：

* 交易所；
* 申万行业；
* 申万行业代码；
* 主营业务；
* 当前或指定日期行情；
* PEST、SWOT、波特五力等生成式文本；
* 资讯标题、内容、来源和时间。

当前不支持：

* 收入、利润、现金流和资产负债；
* 毛利率、净利率和 ROE；
* PE、PB、PS 和估值分位；
* 同行估值比较；
* 技术指标；
* 资金流向；
* 机构评级和目标价。

因此不能完成严格的财务基本面或估值对比。

---

## 9. 输出规范

### 推荐输出结构

```text
一、可比性说明
- 两家公司是否同行、业务是否相近。

二、公司与业务差异
| 股票 | 所属行业 | 主营业务 | 业务特点 |
| --- | --- | --- | --- |

三、行业环境与竞争观点
- A 的主要机会和压力：
- B 的主要机会和压力：

四、行情与近期事件
- 同日行情：
- 近期主要事件：

五、结论与数据边界
- 当前可以确认的差异：
- 当前无法判断的维度：
```

总体要求：

1. 优先用表格展示稳定结构化字段。
2. 生成式观点不得与事实混写。
3. 行情必须标注日期。
4. 资讯应标注来源和发布时间。
5. 不编造财务、估值、技术面或资金面数据。
6. 不输出综合评分、统一排名或买卖建议。

---

## 10. 禁止默认调用的 Tools

本 Skill 默认不得调用：

* `queryKycInfo_3105`
* `queryPersonalIndex_6139`
* `queryUserMemory_7495`
* `queryAssetAllocationSuggestion_3341`
* `queryFamilyFundsAllocation_3340`
* `fundRecommend_5756`
* `queryStockCodes_7724`
* `queryFundCodes_7361`
* `queryBoardFund_7222`
* `queryTopBoard_7223`
* `queryComponentInfo_3108`
* `queryComponentInfo_4206`
* `joyAsk_6375`
* `page_7422`
* `requestMethod_5731`

这些工具涉及用户画像、推荐、筛选、跨资产导航、组件展示或内部能力，不属于多股票客观对比范围。

---

## 11. 错误与降级处理

### 股票对象不明确

1. 展示工具匹配到的股票名称和代码。
2. 返回对象明显不一致时请用户确认。
3. 未确认前不继续比较。

### 部分股票查询失败

1. 说明未成功返回的股票。
2. 可以展示成功部分，但不得形成完整比较结论。
3. 不使用模型知识补全缺失股票。

### 生成式分析缺失

仍可比较交易所、行业、主营业务和行情，并说明行业分析字段未返回。

### 行情日期不一致

不直接比较涨跌幅，应只展示各自数据并说明口径不一致。

### 用户询问财务或估值

明确说明：

> 当前工具未返回结构化财务或估值数据，因此无法可靠判断哪家公司的财务质量更好或估值更有优势。

---

## 12. 示例流程

### 示例 1：同行公司对比

用户：

> 工行和建行有什么区别？

流程：

1. 调用 `queryStockKypInfo_7192`。
2. 确认两家公司行业和主营业务。
3. 判断为高可比对象。
4. 比较业务画像和生成式竞争分析。
5. 说明缺少净息差、不良率、ROE 等银行财务指标。

### 示例 2：产业链公司对比

用户：

> 宁德时代和比亚迪有什么区别？

流程：

1. 获取两家公司基础画像。
2. 判断业务存在交集，但产业链位置和业务范围不同。
3. 比较主营业务、行业环境、优势和风险。
4. 必要时补充同日行情和近期事件。
5. 不输出谁更值得购买。

### 示例 3：估值问题

用户：

> 宁德时代和比亚迪谁的估值更低？

流程：

1. 判断需要 PE、PB、PS 或估值分位数据。
2. 当前工具不支持。
3. 明确说明无法进行估值比较。
4. 不用股价高低代替估值高低。

### 示例 4：当日表现对比

用户：

> 今天宁德时代和比亚迪谁涨得更多？

流程：

1. 调用 `querySecuQuote_7681`。
2. 检查是否为同一交易日。
3. 比较工具返回的涨跌幅。
4. 说明单日行情不代表长期表现。

