# Stock Analysis

> 该技能用于股票个股技术分析，支持多数据源自动切换获取实时行情数据，计算技术指标（均线、MACD、RSI），识别支撑位压力位和有效缺口，集成消息面分析，生成专业格式分析报告并提供操作建议。当用户需要分析股票走势、预测未来走势、获取技术指标分析、了解支撑压力位、查看缺口情况或获取操作建议时，应调用此技能。

- Skill: `boya357/stock-analysis` (Agent Skill, multi-file: 12 files)
- Install (CLI): `npx skillmds@latest add boya357/stock-analysis`
- Raw SKILL.md: https://api.skillmd.com/api/skills/boya357/stock-analysis/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: boya357 (https://skillmd.com/u/boya357)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/boya357/stock-analysis

---


# 股票个股分析

## 任务目标

本技能用于对指定股票进行全面的技术分析，包括实时数据获取、技术指标计算、支撑位压力位分析、缺口识别分析、消息面分析。

能力包含：
- 实时行情获取
- 技术指标计算（均线、MACD、RSI）
- 支撑位压力位识别
- 缺口识别（向上/向下缺口及支撑压力作用，已回补缺口自动过滤）
- 趋势判断
- 消息面分析（基于搜索能力）
- 未来走势预测

触发条件：用户提供股票代码并要求分析走势、预测未来、获取操作建议。

## 前置准备

依赖安装：

```bash
pip install pandas==2.0.3 numpy==1.24.3 requests==2.31.0 lxml==4.9.3 beautifulsoup4==4.12.2
```

可选依赖：

```bash
pip install git+https://github.com/Etherdrake/openclaw-china-market-gateway.git
```

## 操作步骤

### 标准流程

#### 1. 获取股票代码并验证

用户提供股票代码，参考股票代码格式文档（见 references/stock_code_format.md），确保代码格式正确。

示例：
- 000001（平安银行）
- sh600000（浦发银行）
- 000001.SZ（深交所格式）

#### 2. 获取实时行情数据

调用 `scripts/fetch_stock_data.py` 获取实时行情和历史K线数据。

**数据格式说明**：详见 [references/data_format.md](references/data_format.md)

多数据源自动切换机制：
- 主数据源：新浪财经（免费、稳定）
- 备用数据源1：东方财富（免费、稳定）
- 备用数据源2：雪球（免费、稳定）
- 自动切换：主数据源失败时自动尝试备用数据源

参数：
- `--stock_code`：股票代码（必需）
- `--days`：获取历史数据天数（默认60天）
- `--source`：指定数据源（可选，可选值：sina/eastmoney/xueqiu，不指定则自动切换）

返回：当前价格、涨跌幅、成交量、历史K线数据、数据源信息。

数据文件字段：
- `historical`：历史K线数据（推荐使用）
- `kline_data`：历史K线数据（兼容性字段，与 historical 相同）
- `real_time`：实时行情数据

#### 3. 消息面分析

使用搜索能力搜索股票相关资讯（最近7天）。

搜索关键词："{股票名称} {股票代码}"

执行步骤：
1. 使用搜索能力搜索 "{股票名称} {股票代码}" 相关的最新资讯（最近7天）
2. 筛选出与该股票直接相关的资讯（公告、新闻、研报等）
3. 分析每条资讯的情绪（正面/负面/中性）
4. 统计情绪分布
5. 预测对明日开盘的影响
6. 提供投资建议

情绪判断标准：
- 正面：利好消息、业绩增长、订单增加、政策支持等
- 负面：利空消息、业绩下滑、减持、处罚等
- 中性：客观信息、行业动态、市场数据等

影响等级：
- 高影响：资讯数量多且整体情绪偏多，可能显著影响开盘
- 中高影响：资讯较多且情绪较好，对开盘有积极影响
- 中等影响：资讯适中，对开盘有一定影响
- 低影响：资讯较少或情绪中性，影响有限
- 高负面影响：负面资讯多，可能导致低开或下跌
- 中等负面影响：负面资讯较多，有一定负面影响

#### 4. 计算技术指标和支撑位

调用 `scripts/analyze_stock.py` 进行技术分析。

参数：
- `--data_file`：股票数据文件路径（必需）
- `--output`：分析结果输出文件路径（可选）

计算结果：
- MA5/MA10/MA20/MA60 均线
- MACD 指标
- RSI 指标
- 支撑位和压力位
- 缺口分析（向上缺口和向下缺口，已回补缺口自动过滤）
- 成交量分析（1手=100股）
- 趋势判断
- 消息面分析（基于搜索能力，智能体补充）

#### 5. 分析当前走势

基于技术指标进行多维度分析：
- 均线排列（多头排列/空头排列/缠绕）
- MACD金叉死叉状态
- RSI超买超卖状态
- 成交量配合情况
- K线形态分析
- 缺口分析：
  - 向上缺口：通常构成支撑位（回调时缺口上沿可能成为支撑）
  - 向下缺口：通常构成压力位（反弹时缺口下沿可能成为压力）
  - 缺口大小和位置对走势的影响
- 消息面分析：
  - 资讯情绪分布
  - 最新资讯解读
  - 投资参考提示

#### 6. 预测未来走势

综合技术指标和趋势分析，对未来走势进行判断。

考虑因素：趋势方向、支撑压力位、缺口支撑压力、成交量变化、消息面影响、市场情绪。

给出概率评估：上涨/下跌/横盘的概率和强度。

#### 7. 生成操作建议

根据分析结果和预测，给出明确的操作建议：
- 买入/持有/卖出/观望
- 建议的买入/卖出价格区间
- 止损位和止盈位设置
- 缺口相关的操作提示（如：向上缺口未回补前可作为支撑参考）
- 消息面相关的操作提示

## 资源索引

- 获取数据：见 [scripts/fetch_stock_data.py](scripts/fetch_stock_data.py)（用途：多数据源获取股票数据，支持自动切换）
- 技术分析：见 [scripts/analyze_stock.py](scripts/analyze_stock.py)（用途：计算技术指标和支撑位压力位，生成专业报告）
- 代码格式：见 [references/stock_code_format.md](references/stock_code_format.md)（用途：股票代码格式参考）
- openclaw集成（可选）：见 [scripts/fetch_stock_data_openclaw.py](scripts/fetch_stock_data_openclaw.py)（用途：基于openclaw的数据获取，需安装openclaw）

## 注意事项

- 股票市场存在风险，所有分析仅供参考，不构成投资建议
- 技术分析基于历史数据，不能保证未来表现
- 建议结合基本面分析和市场环境进行综合判断
- 实时数据可能存在延迟，请以实际交易数据为准
- 数据源说明：
  - 系统支持多数据源自动切换，提高数据获取稳定性
  - 默认使用新浪财经作为主数据源，失败时自动尝试东方财富和雪球
  - 可通过 `--source` 参数指定使用特定数据源
  - 数据源状态会在输出中明确显示
  - 如遇所有数据源均失败，请检查网络连接或稍后重试
- 消息面分析说明：
  - 使用搜索能力获取最新资讯（最近7天）
  - 智能体自动分析资讯情绪（正面/负面/中性）
  - 为每条资讯提供投资参考提示
  - 情绪分析基于关键词匹配，仅供参考
  - 建议结合技术分析和基本面分析综合判断
- 手数换算说明：
  - 成交量统一换算为"手"
  - 1手 = 100股（符合A股交易规则）
  - 在报告中明确标注换算关系
- openclaw说明（可选）：
  - openclaw 是一个开源的中国市场数据网关项目
  - 支持更多数据源（SSE/SZSE/东方财富/新浪/雪球等）
  - 目前可能未正式发布到 PyPI，建议使用已集成的备用数据源
  - 如需使用 openclaw，可从源码安装
  - 未安装 openclaw 时，使用 `fetch_stock_data.py` 即可获得完整功能
- 缺口分析要点：
  - 向上缺口（跳空高开）：通常在回调时可能构成支撑，关注缺口是否回补
  - 向下缺口（跳空低开）：通常在反弹时可能构成压力，关注缺口是否回补
  - 缺口越大，其支撑或压力作用通常越强
  - 成交量配合的缺口更具参考意义
  - 近期缺口的参考价值高于远期缺口
- 必须在所有建议中包含风险提示

## 使用示例

### 示例1：完整分析流程（技术面 + 消息面）

用户：分析三安光电（600703）的走势和消息面

执行步骤：
1. 调用 `python scripts/fetch_stock_data.py --stock_code 600703`（默认获取60天数据）
2. 调用 `python scripts/analyze_stock.py --data_file stock_data_600703.json`
3. 使用搜索能力搜索"三安光电 600703"最近7天的资讯
4. 分析资讯情绪、预测对明日开盘的影响
5. 基于技术分析和消息面分析生成走势预测和操作建议

输出：包含技术指标分析（含准确的MA60和MACD）、支撑压力位、缺口分析、消息面分析、明日开盘影响预测、操作建议的完整报告。

### 示例2：纯技术分析（不含消息面）

用户：分析平安银行（000001）

执行步骤：
1. 调用 `python scripts/fetch_stock_data.py --stock_code 000001`（默认获取60天数据）
2. 调用 `python scripts/analyze_stock.py --data_file stock_data_000001.json`
3. 生成技术分析报告（均线、MACD、RSI、支撑压力位、缺口分析等）

输出：专业格式的技术分析报告，包含完整的MA60均线、准确的MACD指标、支撑压力位、缺口情况、成交量分析、趋势判断。

### 示例3：指定数据源分析

用户：使用东方财富数据源分析贵州茅台（600519）

执行步骤：
1. 调用 `python scripts/fetch_stock_data.py --stock_code 600519 --source eastmoney`（默认获取60天数据）
2. 调用 `python scripts/analyze_stock.py --data_file stock_data_600519.json`
3. 生成分析报告

输出：基于东方财富数据源的技术分析报告，包含完整的技术指标（MA5/MA10/MA20/MA60、MACD、RSI）和趋势判断。

## 故障排查

### 问题：数据获取失败

解决方案：
1. 检查网络连接
2. 尝试指定其他数据源：`--source eastmoney` 或 `--source xueqiu`
3. 检查股票代码是否正确（参考 references/stock_code_format.md）

### 问题：openclaw 未安装

解决方案：
1. 直接使用 `fetch_stock_data.py`（已实现完整功能）
2. 或尝试从源码安装 openclaw：
   ```bash
   pip install git+https://github.com/Etherdrake/openclaw-china-market-gateway.git
   ```

### 问题：消息面分析无数据

解决方案：
1. 使用搜索能力搜索"{股票名称} {股票代码}"最近7天的资讯
2. 筛选与该股票直接相关的资讯
3. 建议关注公司公告和行业动态

