Back to skills
SKILL.md
Stock Analyzer
BSecurity全球股票综合分析工具。支持A股、港股、美股等东方财富覆盖的所有市场。根据用户输入的股票名称或代码,从东方财富网获取股票信息,进行基本面、新闻面、资金面三维分析,给出投资建议、买入价位和卖出价位。触发关键词:分析股票、股票推荐、股票买卖点、股票研究、A股分析、港股分析、美股分析、中概股、恒生指数、纳斯达克、标普500、道琼斯、腾讯、阿里巴巴、苹果AAPL、特斯拉TSLA、英伟达NVDA、美光MU等。
- 279 stars
- 0 votes
- 0 copies
- 4 views
- Added September 8, 2026
Works with
Security analysis
75/100- Pipes output to a shell interpreter
Pro scans all 5 files and shows the line behind each finding
npx -y skills add infometa/workbuddyskills --skill stock-analyzer --agent claude-codeAre you the author of Stock Analyzer?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/infometa-stock-analyzer)---
name: stock-analyzer
description: 全球股票综合分析工具。支持A股、港股、美股等东方财富覆盖的所有市场。根据用户输入的股票名称或代码,从东方财富网获取股票信息,进行基本面、新闻面、资金面三维分析,给出投资建议、买入价位和卖出价位。触发关键词:分析股票、股票推荐、股票买卖点、股票研究、A股分析、港股分析、美股分析、中概股、恒生指数、纳斯达克、标普500、道琼斯、腾讯、阿里巴巴、苹果AAPL、特斯拉TSLA、英伟达NVDA、美光MU等。
version: 1.0.0
---
# Stock Analyzer - 全球股票综合分析工具
## 概述
此skill用于对**A股、港股、美股**以及东方财富支持的所有市场(期货、指数、ETF等)进行综合分析,通过模拟东方财富主页(https://www.eastmoney.com/default.html)的搜索框功能来搜索股票,从基本面、新闻面、资金面三个维度进行分析,最终给出投资建议。
### 支持的市场
| 市场 | 代码前缀 | 示例 |
|------|---------|------|
| 🇨🇳 A股-沪市 | sh / 6开头 | sh600519 贵州茅台 |
| 🇨🇳 A股-深市 | sz / 0、3开头 | sz300750 宁德时代 |
| 🇨🇳 A股-北交所 | bj / 8、4开头 | bj830799 |
| 🇭🇰 港股 | hk / 116. | 00700 腾讯控股 |
| 🇺🇸 美股-纳斯达克 | 105. | 105.AAPL 苹果 |
| 🇺🇸 美股-纽交所 | 106. | 106.BABA 阿里巴巴 |
| 🇺🇸 美股-其他 | 107. | 107.XXX |
**输出方式**:
1. 在对话中输出完整的分析报告(Markdown格式)
2. 同时生成可视化HTML网页报告,保存到用户工作目录
## 触发条件
以下情况应使用此skill:
- 用户请求分析某只股票(无论A股、港股、美股)
- 用户询问某只股票是否值得投资
- 用户想了解股票的买入/卖出价位
- 用户提到股票研究、股票分析
- **A股关键词**:A股分析、沪深股票、创业板、科创板、北交所
- **港股关键词**:港股分析、恒生指数、腾讯、美团、小米、比亚迪股份
- **美股关键词**:美股分析、纳斯达克、标普500、道琼斯、中概股、苹果AAPL、特斯拉TSLA、英伟达NVDA、美光MU、谷歌GOOGL、微软MSFT、亚马逊AMZN、Meta、阿里巴巴BABA、拼多多PDD、京东JD
- 用户提到东方财富并涉及股票查询
- 用户直接输入股票代码(如:MU、AAPL、00700、600519)
---
## Step 0: 东方财富登录引导(重要!)
### 为什么需要登录?
东方财富网对未登录用户有访问限流,可能导致:
- 搜索结果加载不完整
- 部分数据页面无法访问
- 请求被限制或返回空数据
### 登录引导流程
在开始分析之前,**必须先引导用户登录东方财富**:
#### 引导话术模板:
```
📊 **股票分析准备**
为了获取完整、准确的股票数据,建议您先登录东方财富网账号。
**请按以下步骤操作:**
1. 🌐 点击打开东方财富主页:https://www.eastmoney.com/default.html
2. 🔐 点击页面右上角的【登录】按钮
3. ✅ 使用以下任一方式登录:
- 手机号 + 验证码
- 账号密码登录
- 微信/QQ扫码登录
4. 📢 登录成功后,请回复"已登录"或"继续分析"
**提示**:
- 如果没有账号,可以快速注册一个(免费)
- 登录后数据获取更稳定,分析结果更准确
- 如果选择不登录,部分数据可能获取不完整
---
请问您是否已经登录东方财富?
```
#### 用户响应处理:
| 用户回复 | 处理方式 |
| ------------------------------ | ---------------------------------------------- |
| "已登录" / "登录了" / "继续" | 继续执行后续分析步骤 |
| "没登录" / "不想登录" / "跳过" | 提示数据可能不完整,继续分析但标注数据可能受限 |
| 无明确回复 | 再次询问或默认继续分析 |
### 登录状态标记
在最终报告中标注数据获取状态:
- ✅ **已登录**:数据完整度高
- ⚠️ **未登录**:部分数据可能受限
---
## ⏱️ 请求延迟策略(重要!)
### 为什么需要延迟?
东方财富网对高频请求有限流保护,连续快速请求可能导致:
- IP被临时封禁
- 返回空数据或错误页面
- 验证码拦截
### 延迟规则
> ⚠️ **必须遵守**:每次请求东方财富网页面,**必须延迟1秒**后再发起下一次请求!
**执行方式**:
```
请求1 → 等待1秒 → 请求2 → 等待1秒 → 请求3 → ...
```
**适用场景**:
- 使用 `web_fetch` 访问东方财富任何页面时
- 包括:搜索页、行情页、资金流向页、F10页、公告页、新闻页等
**不需要延迟的场景**:
- 使用 `web_search` 工具(这是搜索引擎,不是直接访问东方财富)
### 实施要点
1. **串行请求**:不要并行发起多个东方财富页面请求
2. **间隔1秒**:每次 `web_fetch` 东方财富URL后,等待至少1秒
3. **失败重试**:如果请求失败,等待2秒后重试一次
---
## 分析流程
### Step 1: 模拟东方财富主页搜索框搜索股票
**核心原理**:模拟用户在东方财富主页 https://www.eastmoney.com/default.html 上的搜索框中输入股票名称进行搜索。
**搜索方式**:
东方财富主页的搜索框实际上是将用户输入的关键词通过URL参数传递到搜索服务,格式为:
```
https://so.eastmoney.com/Web/s?keyword={股票名称或代码}
```
**操作步骤**:
1. 使用 `web_fetch` 工具访问搜索URL:`https://so.eastmoney.com/Web/s?keyword={用户输入的股票名称或代码}`
2. 从搜索结果中找到匹配的股票条目
3. 提取股票代码和市场标识
4. 获取股票详情页URL
**如果搜索被限流**:
- 使用 `web_search` 工具搜索"{股票名称} 股票代码 东方财富"作为备选
- 或提示用户手动在东方财富搜索并提供股票代码
**各市场搜索示例**:
| 市场 | 用户输入 | 搜索URL | 详情页URL |
|------|---------|---------|-----------|
| 🇨🇳 A股 | 贵州茅台 | `keyword=贵州茅台` | `quote.eastmoney.com/sh600519.html` |
| 🇨🇳 A股 | 宁德时代 | `keyword=宁德时代` | `quote.eastmoney.com/sz300750.html` |
| 🇭🇰 港股 | 腾讯 | `keyword=腾讯` | `quote.eastmoney.com/hk/00700.html` |
| 🇺🇸 美股 | 苹果/AAPL | `keyword=AAPL` | `quote.eastmoney.com/us/AAPL.html` |
| 🇺🇸 美股 | 美光/MU | `keyword=MU` | `quote.eastmoney.com/us/MU.html` |
| 🇺🇸 美股 | 阿里巴巴 | `keyword=阿里巴巴` | `quote.eastmoney.com/us/BABA.html` |
### Step 2: 访问股票详情页获取基本信息(核心步骤!)
> ⚠️ **重要**:当前价格、涨跌幅等实时行情数据**必须优先从东方财富网获取**!这是最权威的数据源。
根据Step 1获取的股票详情页URL,获取实时行情数据。
#### 🚀 推荐方式:使用 Selenium 脚本(可获取动态数据)
由于东方财富页面数据通过 JavaScript 动态加载,推荐使用 skill 自带的 Selenium 脚本获取数据:
```bash
# 港股示例
python scripts/fetch_stock.py 00700 --market hk --output json
# 美股示例
python scripts/fetch_stock.py MU --market us --output json
# A股示例
python scripts/fetch_stock.py 600519 --market sh --output json
```
**脚本输出 JSON 格式:**
```json
{
"success": true,
"code": "00700",
"market": "HK",
"data": {
"name": "腾讯控股",
"price": "512.000",
"change": "-10.500",
"change_percent": "-2.01%",
"amount": "132.2亿",
"market_cap": "4.662万亿",
"pe": "25.67",
"pb": "19.95",
"turnover": "0.88%"
},
"source": "东方财富"
}
```
**脚本参数说明:**
| 参数 | 说明 | 示例 |
|------|------|------|
| `code` | 股票代码 | `00700`, `MU`, `600519` |
| `--market` / `-m` | 市场类型 | `hk`, `us`, `sh`, `sz`, `bj`, `auto` |
| `--output` / `-o` | 输出格式 | `json`, `text` |
| `--timeout` / `-t` | 超时时间(秒) | `15` |
#### 备选方式:使用 web_fetch(可能无法获取动态数据)
如果 Selenium 脚本不可用,可使用 `web_fetch` 访问页面,但注意:
- 页面数据通过 JS 动态加载,`web_fetch` 只能获取静态 HTML
- 港股/美股页面可能显示 "-" 或空值
- 需要结合 `web_search` 补充数据
**必须从东方财富获取的数据(优先级最高)**:
| 数据项 | 重要性 | 获取方式 | 备注 |
|--------|--------|----------|------|
| ⭐ **当前股价** | 🔴 核心 | Selenium脚本 / 东方财富详情页 | 必须获取,失败需标注 |
| ⭐ **涨跌幅** | 🔴 核心 | Selenium脚本 / 东方财富详情页 | 必须获取,失败需标注 |
| ⭐ **涨跌额** | 🔴 核心 | Selenium脚本 / 东方财富详情页 | 必须获取,失败需标注 |
| 成交量 | 中 | Selenium脚本 / 东方财富详情页 | - |
| 成交额 | 中 | Selenium脚本 / 东方财富详情页 | - |
| 最高价、最低价 | 中 | Selenium脚本 / 东方财富详情页 | - |
| 开盘价 | 中 | Selenium脚本 / 东方财富详情页 | - |
| 换手率、量比、振幅 | 中 | Selenium脚本 / 东方财富详情页 | - |
| 总市值、流通市值 | 中 | Selenium脚本 / 东方财富详情页 | - |
| PE、PB | 中 | Selenium脚本 / 东方财富详情页 | - |
**各市场详情页URL模板**:
| 市场 | URL格式 | 示例 |
|------|---------|------|
| A股-沪市 | `https://quote.eastmoney.com/sh{代码}.html` | `sh600519.html` |
| A股-深市 | `https://quote.eastmoney.com/sz{代码}.html` | `sz300750.html` |
| A股-北交所 | `https://quote.eastmoney.com/bj{代码}.html` | `bj830799.html` |
| 🇭🇰 **港股** | `https://quote.eastmoney.com/hk/{代码}.html` | `hk/00700.html` |
| 🇺🇸 **美股** | `https://quote.eastmoney.com/us/{代码}.html` | `us/MU.html`, `us/AAPL.html` |
> ⚠️ **重要**:港股使用 `/hk/` 路径,美股使用 `/us/` 路径!旧版 `unify/r/116.` 和 `unify/r/105.` 路径已失效或不稳定!
**数据获取失败处理**:
如果东方财富页面访问失败或数据获取不完整:
1. 优先尝试使用 Selenium 脚本:`python scripts/fetch_stock.py {代码} -m {市场}`
2. 尝试重试一次(等待2秒后)
3. 使用 `web_search` 搜索"{股票名称} 实时股价 今日行情"作为备选
4. **必须在最终报告中标注数据来源状态**(详见数据来源追踪章节)
### Step 3: 获取基本面数据
需要进一步下钻访问以下页面获取详细财务数据:
**个股资料页(F10)**:
```
https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code={市场代码}{股票代码}
```
**需要获取的指标**:
| 类别 | 指标 |
| -------- | -------------------------------------------------- |
| 估值指标 | 市盈率(PE-TTM/动态/静态)、市净率(PB)、市销率(PS) |
| 盈利能力 | ROE(净资产收益率)、毛利率、净利率、EPS(每股收益) |
| 成长能力 | 营收同比增长率、净利润同比增长率、扣非净利润增长率 |
| 财务健康 | 资产负债率、流动比率、速动比率、经营现金流 |
| 规模指标 | 总市值、流通市值、总股本、流通股本 |
**下钻页面**:
- 财务分析:`#/cwfx`
- 公司概况:`#/gsgk`
- 股东研究:`#/gdyj`
### Step 4: 获取新闻面数据
访问以下页面收集新闻和公告信息:
**公司公告**:
```
https://data.eastmoney.com/notices/stock/{股票代码}.html
```
**个股新闻**(使用搜索功能):
```
https://so.eastmoney.com/news/s?keyword={股票名称}
```
**研究报告**:
```
https://data.eastmoney.com/report/stock/{股票代码}.html
```
**关注要点**:
- 最近3个月重大公告(业绩预告、重大合同、股东变动等)
- 行业政策和动态
- 机构研报评级和目标价
- 市场舆情和热点
### Step 5: 获取资金面数据
访问以下页面分析资金流向:
**主力资金流向**:
```
https://data.eastmoney.com/zjlx/{股票代码}.html
```
**需要获取的数据**:
| 指标 | 重要性 | 说明 |
| -------------------------- | ------- | -------------------------------------------- |
| ⭐**主力净比** | 🔴 核心 | 页面直接显示,如"主力净比:17.23%",无需计算 |
| ⭐**今日主力净流入** | 🔴 核心 | 当日主力资金净额 |
| 5日/10日/20日主力净流入 | 中 | 中长期资金趋势 |
| 超大单净比、大单净比 | 中 | 资金结构分析 |
| 中单净比、小单净比 | 低 | 散户资金动向 |
> ⚠️ **重点关注**:**主力净比**是资金面评分的核心指标,直接从页面"实时资金流向"区域读取,无需自己计算!
>
> **页面位置**:在"今日主力净流入"数值的右侧,以百分比形式显示(如:17.23%)
**北向资金持股**:
```
https://data.eastmoney.com/hsgtcg/stock.html?scode={股票代码}
```
**融资融券**:
```
https://data.eastmoney.com/rzrq/detail/{股票代码}.html
```
### Step 6: 技术面参考(可选下钻)
从详情页获取技术指标辅助判断:
**关注指标**:
- 当前价格相对于52周高低点位置
- 均线系统(5/10/20/60/120/250日均线)
- 支撑位和压力位
- 成交量变化趋势
- **10日涨幅**和**20日涨幅**(阶段涨跌幅)
#### 10日/20日涨幅获取方法
> ⚠️ 东方财富网页端和同花顺网页端**均不直接展示**10日和20日涨幅数据。同花顺仅提供5日/3月/1年涨幅,东方财富行情中心支持60日和年初至今涨幅,但10日/20日需自行计算。
**计算公式**:
```
N日涨幅 = (当前收盘价 / N个交易日前收盘价 - 1) × 100%
```
**数据获取方式**(按优先级排序):
1. **方式一:Selenium脚本获取K线数据**(推荐)
- 从东方财富个股K线页面获取最近30个交易日的日K数据
- 取第10个和第20个交易日前的收盘价,代入公式计算
2. **方式二:东方财富K线API**
```
https://push2his.eastmoney.com/api/qt/stock/kline/get?secid={市场代码}.{股票代码}&fields1=f1,f2,f3,f4,f5,f6&fields2=f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61&klt=101&fqt=1&end=20500101&lmt=25
```
- `klt=101` 表示日K,`lmt=25` 获取最近25个交易日
- 返回数据中 f51=日期, f52=开盘价, f53=收盘价
- 取倒数第11条(10日前)和倒数第21条(20日前)的收盘价计算
3. **方式三:web_search 补充**
- 搜索"{股票名称} 最近20日 历史股价"获取近期价格数据
- 手动计算涨幅
**10日/20日涨幅在报告中的展示**:
| 涨幅指标 | 数值 | 含义 | 信号判断 |
|---------|------|------|---------|
| 10日涨幅 | {10日涨幅}% | 短期(约2周)股价动量 | >10% 短期强势;<-10% 短期弱势 |
| 20日涨幅 | {20日涨幅}% | 中短期(约1月)股价趋势 | >20% 中期强势;<-15% 中期弱势 |
**涨幅信号判断标准**:
| 10日涨幅 | 20日涨幅 | 综合判断 |
|---------|---------|---------|
| >15% | >25% | 🔴 短期涨幅过大,注意追高风险 |
| 5%~15% | 10%~25% | 🟠 上涨趋势中,关注持续性 |
| -5%~5% | -10%~10% | 🟡 震荡整理,等待方向选择 |
| -15%~-5% | -25%~-10% | 🟢 回调中,关注支撑位企稳机会 |
| <-15% | <-25% | ⚫ 大幅回调,注意风险或超跌反弹机会 |
**技术面评分补充规则**(10日/20日涨幅对评分的影响):
| 条件 | 评分调整 | 说明 |
|------|---------|------|
| 10日涨幅>5% 且 20日涨幅>10% | +1分 | 短中期均上涨,趋势向好 |
| 10日涨幅<-10% 或 20日涨幅<-20% | -1分 | 短期或中期大幅回调,趋势走弱 |
| 10日涨幅>20% | -1分(风险扣分) | 短期涨幅过大,存在回调风险 |
### Step 6.5: 并购重组分析(条件触发)
> ⚠️ **触发条件**:当发现公司存在正在进行或近期公告的并购、重组、收购事项时,**必须执行此步骤**。
#### 识别并购事项
在 Step 4(新闻面分析)中,如果发现以下关键词,则触发并购分析:
| 触发关键词 | 示例 |
|-----------|------|
| 收购、并购、重组 | "拟收购XX公司100%股权" |
| 重大资产购买 | "重大资产购买报告书" |
| 要约收购 | "发起全面要约收购" |
| 合并、吸收合并 | "拟与XX公司合并" |
| 战略投资、股权收购 | "拟以XX亿元收购XX%股权" |
| 借壳上市 | "XX公司拟借壳上市" |
#### 获取并购标的数据
**需要搜索获取的目标公司关键数据**:
使用 `web_search` 搜索以下信息:
```
搜索关键词:
1. "{收购标的名称} 营收 净利润 毛利率 财务数据"
2. "{收购标的名称} 估值 PE 行业"
3. "{收购方公司} 收购 {标的名称} 方案 对价 比例"
4. "{收购方公司} 并购 重组 进展 最新公告"
```
**必须获取的标的公司数据**:
| 数据项 | 重要性 | 说明 |
|--------|--------|------|
| ⭐ 标的公司营收 | 🔴 核心 | 最近一年/最近一期营收 |
| ⭐ 标的公司净利润 | 🔴 核心 | 最近一年/最近一期归母净利润 |
| ⭐ 标的公司毛利率 | 🔴 核心 | 主营业务毛利率 |
| ⭐ 收购比例 | 🔴 核心 | 拟收购股权比例(如100%、51%、30%等) |
| ⭐ 收购对价 | 🔴 核心 | 交易总金额 |
| ⭐ 公告日股价 | 🔴 核心 | 首次公告收购当日的收盘价(用于计算公告至今涨幅) |
| 标的公司估值 | 高 | 交易估值(评估值) |
| 支付方式 | 高 | 现金/股份/混合支付 |
| 业绩承诺 | 高 | 标的方承诺的未来业绩(净利润承诺) |
| 标的所属行业 | 中 | 行业及竞争地位 |
| 并购进展阶段 | 中 | 预案/草案/审批中/已完成 |
| 商誉金额 | 中 | 收购对价 - 标的净资产 = 商誉 |
#### 获取公告日股价与计算公告至今涨幅
**目的**:直观展示并购公告发布后市场的实际反应和股价变动幅度。
**获取方法**:
1. 确定首次并购公告日期(如"拟收购XX公司"公告发布日期)
2. 使用 `web_search` 搜索"{公司名称} {公告日期} 收盘价 股价"获取公告当日收盘价
3. 或从东方财富K线历史数据中查找对应日期的收盘价
**计算公式**:
```
公告日至今涨幅 = (当前股价 - 公告日收盘价) / 公告日收盘价 × 100%
```
**在报告中展示**:
- 在并购概况表格中新增"公告日期"、"公告日收盘价"、"公告至今涨幅"三行
- 涨幅为正时标绿(🟢),涨幅超过50%时标橙(🟡 警示过热),涨幅超过100%时标红(🔴 严重过热)
#### 并购估值计算模型
**核心公式**:
```
1. 并表后预期营收 = 收购方当前营收 + 标的营收 × 收购比例
2. 并表后预期净利润 = 收购方当前净利润 + 标的净利润 × 收购比例
3. 并表后预期毛利 = 收购方当前毛利 + 标的毛利 × 收购比例
4. 并表后预期毛利率 = 并表后预期毛利 / 并表后预期营收
5. 并表后预期EPS = 并表后预期净利润 / 并购后总股本
(若为股份支付:并购后总股本 = 原总股本 + 增发股份数)
(若为现金支付:并购后总股本 = 原总股本)
6. 基于行业PE的预期市值 = 并表后预期净利润 × 行业/可比公司PE
7. 基于当前PE的预期市值 = 并表后预期净利润 × 公司当前PE
8. 预期股价(行业PE法) = 预期市值(行业PE) / 并购后总股本
9. 预期股价(当前PE法) = 预期市值(当前PE) / 并购后总股本
10. 股价涨幅空间 = (预期股价 - 当前股价) / 当前股价 × 100%
```
**估值场景分析**(必须同时计算三种场景):
| 场景 | PE取值 | 说明 |
|------|--------|------|
| 🟢 乐观情景 | 标的行业高PE(75分位) | 市场情绪好、标的高成长 |
| 🟡 中性情景 | 标的行业中值PE(50分位) | 正常市场环境 |
| 🔴 保守情景 | 标的行业低PE(25分位)或收购方当前PE取低 | 市场低迷、整合风险 |
**业绩承诺估值法**(如有业绩承诺):
```
承诺期预期利润 = 业绩承诺净利润(通常3年)
承诺期预期PE = 行业合理PE
承诺完成后预期市值 = 承诺净利润 × 承诺期PE
```
#### 并购协同效应评估
| 协同类型 | 评估要点 | 加分/减分 |
|---------|---------|-----------|
| 收入协同 | 标的业务与收购方是否互补,能否交叉销售 | +1~+2分 |
| 成本协同 | 合并后能否降低管理/采购/运营成本 | +1分 |
| 技术协同 | 标的是否具备收购方缺乏的核心技术 | +1~+2分 |
| 行业地位 | 并购后市场份额/行业排名是否提升 | +1分 |
| 整合风险 | 文化差异、管理层留任、客户流失风险 | -1~-2分 |
| 商誉风险 | 商誉/净资产比值越高风险越大 | -1~-3分 |
| 支付方式风险 | 大比例现金支付→负债升高;大比例增发→摊薄EPS | -1~-2分 |
#### 并购分析对评分的影响
并购分析结果需调整原有评分:
**基本面评分调整**:
- 并购后预期营收增长 > 30%:基本面 +1~+2分
- 并购后预期净利润增长 > 50%:基本面 +2分
- 并购后毛利率提升 > 5个百分点:基本面 +1分
- 商誉/净资产 > 50%:基本面 -1~-2分
- 标的净利润为负:基本面 -2分
**新闻面评分调整**:
- 并购获监管批准/进展顺利:新闻面 +1~+2分
- 并购存在不确定性/被否风险:新闻面 -1~-2分
- 有业绩承诺且承诺可信:新闻面 +1分
#### 并购分析输出要求
在最终报告中,需要新增独立的 **"并购重组分析"** 板块,包含:
1. **并购概况**:交易方案简述(标的、对价、比例、支付方式、公告日期、公告日股价、公告至今涨幅)
2. **标的公司画像**:主营业务、营收、净利润、毛利率、所属行业
3. **并表后估值测算**:三种场景(乐观/中性/保守)的详细计算
4. **股价涨幅空间**:基于估值测算的预期涨幅区间
5. **协同效应评估**:加分/减分项列表
6. **并购风险提示**:商誉、整合、审批等核心风险
7. **并购事项对综合评分的调整**:明确标注加减分
---
### Step 6.6: 异动监控分析(仅A股)
> ⚠️ **适用范围**:仅适用于A股(沪深主板、创业板、科创板、北交所),港股/美股不适用此规则。
>
> **核心价值**:异动触发前股价通常会停滞甚至回调。通过计算当前偏离值距异动阈值的距离,可提前预警"上涨天花板",辅助卖出/止盈决策。
#### 异动核心概念:偏离值
异动判定不是简单的涨跌幅累加,而是计算**个股与对应基准指数的偏离值**,剔除大盘波动影响。
**偏离值计算公式**:
```
偏离值 = 个股区间涨跌幅 - 对应基准指数区间涨跌幅
```
**基准指数对照表**:
| 板块 | 基准指数 | 指数代码 |
|------|---------|---------|
| 上证主板(60xxxx) | 上证指数 | sh000001 |
| 深证主板(00xxxx) | 深证综指 | sz399106 |
| 创业板(30xxxx) | 创业板综指 | sz399102 |
| 科创板(688xxx) | 科创50指数 | sh000688 |
| 北交所(8xxxxx/4xxxxx) | 北证50指数 | bj899050 |
#### 异常波动(普通异动)认定标准
| 板块 | 统计周期 | 触发条件(收盘价涨跌幅偏离值累计) | 特殊情形 |
|------|---------|----------------------------------|---------|
| 沪深主板 | 连续3个交易日 | ≥ ±20% | ST/*ST股票为 ≥ ±12% |
| 创业板 | 连续3个交易日 | ≥ ±30% | - |
| 科创板 | 连续3个交易日 | ≥ ±30% | - |
| 北交所 | 最近3个有成交日 | ≥ ±40% | 统计窗口最长不超过20个交易日 |
**沪深主板补充触发条件(换手率异动)**:
- 连续3个交易日内,日均换手率与前5个交易日日均换手率比值达到 **30倍**
- 且该3个交易日内累计换手率达到 **20%**
#### 严重异常波动认定标准
| 触发情形 | 沪深主板标准 | 创业板/科创板标准 |
|---------|------------|-----------------|
| 频次触发 | 连续10个交易日内,4次出现同向异常波动 | 连续10个交易日内,3次出现同向异常波动 |
| 幅度触发(10日) | 偏离值累计 ≥ +100% 或 ≤ -50% | 同左 |
| 幅度触发(30日) | 偏离值累计 ≥ +200% 或 ≤ -70% | 同左 |
#### 数据获取方法
**需要获取的数据**:
| 数据项 | 获取方式 | 说明 |
|--------|---------|------|
| 个股最近3个交易日收盘价 | K线API / Selenium | 用于计算个股区间涨跌幅 |
| 基准指数最近3个交易日收盘价 | K线API | 用于计算指数区间涨跌幅 |
| 个股最近10/30个交易日收盘价 | K线API | 用于计算严重异动指标 |
| 基准指数最近10/30个交易日收盘价 | K线API | 用于计算严重异动指标 |
| ST/*ST标识 | 东方财富详情页 / F10 | 判断是否适用特殊阈值 |
| 日换手率(最近8个交易日) | K线API / 详情页 | 仅沪深主板需要,用于换手率异动判断 |
**K线API获取基准指数数据**:
```
# 上证指数
https://push2his.eastmoney.com/api/qt/stock/kline/get?secid=1.000001&fields1=f1,f2,f3,f4,f5,f6&fields2=f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61&klt=101&fqt=1&end=20500101&lmt=35
# 深证综指
https://push2his.eastmoney.com/api/qt/stock/kline/get?secid=0.399106&fields1=f1,f2,f3,f4,f5,f6&fields2=f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61&klt=101&fqt=1&end=20500101&lmt=35
# 创业板综指
https://push2his.eastmoney.com/api/qt/stock/kline/get?secid=0.399102&fields1=f1,f2,f3,f4,f5,f6&fields2=f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61&klt=101&fqt=1&end=20500101&lmt=35
# 科创50
https://push2his.eastmoney.com/api/qt/stock/kline/get?secid=1.000688&fields1=f1,f2,f3,f4,f5,f6&fields2=f51,f52,f53,f54,f55,f56,f57,f58,f59,f60,f61&klt=101&fqt=1&end=20500101&lmt=35
```
#### 异动分析计算流程
**Step 1:判断板块和对应阈值**
```
if 股票代码.startswith('60') → 沪深主板,阈值20%,基准=上证指数
elif 股票代码.startswith('00') → 沪深主板,阈值20%,基准=深证综指
elif 股票代码.startswith('30') → 创业板,阈值30%,基准=创业板综指
elif 股票代码.startswith('688') → 科创板,阈值30%,基准=科创50
elif 股票代码.startswith('8') or 股票代码.startswith('4') → 北交所,阈值40%,基准=北证50
如果是 ST/*ST 且为沪深主板 → 阈值改为12%
```
**Step 2:计算3日偏离值**
```
个股3日涨跌幅 = (今日收盘价 / 3个交易日前收盘价 - 1) × 100%
指数3日涨跌幅 = (今日指数收盘 / 3个交易日前指数收盘 - 1) × 100%
3日偏离值 = 个股3日涨跌幅 - 指数3日涨跌幅
```
**Step 3:计算异动距离(核心输出)**
```
异动阈值距离 = 板块阈值 - |当前3日偏离值|
异动触发进度 = |当前3日偏离值| / 板块阈值 × 100%
```
**Step 4:计算10日/30日偏离值(严重异动指标)**
```
个股10日涨跌幅 = (今日收盘价 / 10个交易日前收盘价 - 1) × 100%
指数10日涨跌幅 = (今日指数收盘 / 10个交易日前指数收盘 - 1) × 100%
10日偏离值 = 个股10日涨跌幅 - 指数10日涨跌幅
30日偏离值同理
```
#### 异动预警等级
| 3日偏离值进度 | 预警等级 | 含义 | 建议 |
|-------------|---------|------|------|
| ≥100% | 🔴 **已触发异动** | 已达到异常波动标准 | 公司将发公告,短期股价大概率停滞/回调,建议止盈 |
| 80%-99% | 🟠 **临近异动** | 距异动触发仅一步之遥 | 上涨空间极为有限,强烈建议减仓/止盈 |
| 60%-79% | 🟡 **异动警戒** | 偏离值较大,需密切关注 | 关注次日走势,若继续大涨可能触发异动 |
| 40%-59% | 🟢 **轻度偏离** | 有一定偏离但距离异动尚远 | 正常持有,留意加速上涨风险 |
| <40% | ⚪ **安全区间** | 偏离值较小,异动风险低 | 无需担忧异动限制 |
**严重异动预警**:
| 指标 | 预警条件 | 说明 |
|------|---------|------|
| 10日偏离值 | ≥ +80%(距+100%阈值仅20%) | 接近严重异动上限 |
| 10日偏离值 | ≤ -40%(距-50%阈值仅10%) | 接近严重异动下限 |
| 30日偏离值 | ≥ +160%(距+200%阈值仅40%) | 接近严重异动上限 |
| 30日偏离值 | ≤ -56%(距-70%阈值仅14%) | 接近严重异动下限 |
#### 异动分析对评分的影响
**技术面评分调整**:
| 条件 | 评分调整 | 说明 |
|------|---------|------|
| 3日偏离值进度 ≥ 100%(已触发) | -2分 | 已触发异动,短期回调风险极高 |
| 3日偏离值进度 80%-99%(临近) | -1.5分 | 上涨空间极度受限 |
| 3日偏离值进度 60%-79%(警戒) | -1分 | 存在异动触发风险 |
| 10日偏离值 ≥ +80% 或 ≤ -40% | -1分(额外) | 临近严重异动 |
| 30日偏离值 ≥ +160% 或 ≤ -56% | -1分(额外) | 临近严重异动 |
**对投资建议的影响**:
| 异动状态 | 对买入建议的调整 |
|---------|----------------|
| 🔴 已触发异动 | 明确标注"短期不宜追涨",建仓价应在异动回调后 |
| 🟠 临近异动 | 标注"上涨空间受限",目标价应考虑异动天花板 |
| 🟡 异动警戒 | 标注"关注异动风险",止盈位可适当下调 |
#### 异动分析输出要求
在报告中技术面板块之后,新增 **"异动监控"** 子板块,包含:
1. **板块信息**:所属板块、异动阈值、基准指数、ST标识
2. **3日偏离值分析**:个股3日涨跌幅、指数3日涨跌幅、偏离值、异动进度、预警等级
3. **严重异动监测**:10日/30日偏离值、距严重异动阈值距离
4. **异动天花板估算**:基于当前偏离值,估算触发异动时对应的个股最大涨幅空间
5. **监管措施提示**:触发后的信息披露、停牌核查、龙虎榜披露等说明
**异动天花板估算公式**:
```
剩余异动空间 = 板块阈值 - 当前3日偏离值
异动天花板价格 = 当前股价 × (1 + 剩余异动空间/100)
(注意:此为极端估算,实际中指数也会变动)
```
> ⚠️ **注意事项**:
> - 无价格涨跌幅限制的股票(新股上市首日、恢复上市首日等)不纳入异动计算
> - 若指数大幅波动,可能出现"个股涨停但未触发异动"或"个股未涨停却触发异动"的情况
> - 异动分析为辅助参考,不应作为唯一卖出依据
---
### Step 7: 综合分析与建议
基于以上所有数据进行综合评估:
#### 评分体系
| 维度 | 权重 | 评估要点 |
| ------ | ---- | ------------------------------------------------------------------------ |
| 基本面 | 35% | PE/PB是否合理、ROE水平、成长性、盈利能力、财务健康 |
| 新闻面 | 20% | 是否有重大利好/利空、行业政策、业绩预期、机构评级 |
| 资金面 | 35% | **主力净比(核心指标)**、主力资金动向、北向资金增减、融资余额趋势 |
| 技术面 | 10% | 趋势判断、支撑压力位、量价配合 |
> ⚠️ **重要说明**:资金面权重提升至35%,其中"主力净比"是核心评判指标,直接从东方财富页面读取(无需计算),能直接反映当日市场主力态度。
#### 评分标准
**基本面评分(满分10分)**:
- PE低于行业均值且ROE>15%:+3分
- 净利润增长率>20%:+2分
- 毛利率>30%:+2分
- 资产负债率<50%:+2分
- 现金流健康:+1分
**新闻面评分(满分10分)**:
- 有重大利好公告:+3分
- 机构评级为买入/增持:+2分
- 行业政策利好:+2分
- 无负面舆情:+2分
- 业绩预期向好:+1分
**资金面评分(满分10分)**:
| 指标 | 条件 | 分值 | 说明 |
| -------------------- | ------ | ---- | ---------------------------------------------------- |
| ⭐**主力净比** | >10% | +4分 | **核心指标**,直接从页面读取,反映当日主力态度 |
| ⭐**主力净比** | 5%-10% | +3分 | 主力明显介入 |
| ⭐**主力净比** | 0%-5% | +2分 | 主力小幅流入 |
| ⭐**主力净比** | -5%-0% | +1分 | 主力小幅流出 |
| ⭐**主力净比** | <-5% | +0分 | 主力明显流出 |
| 5日主力净流入 | >1亿 | +2分 | 中期资金趋势 |
| 北向资金 | 增持 | +2分 | 外资态度 |
| 超大单净流入 | 为正 | +1分 | 机构资金动向 |
| 换手率 | 3%-8% | +1分 | 交易活跃度适中 |
**主力净比数据来源**:
```
页面:https://data.eastmoney.com/zjlx/{股票代码}.html
位置:实时资金流向区域 → "今日主力净流入"右侧
格式:如 "主力净比:17.23%"
```
> ✅ 直接读取页面数据,无需手动计算!
**资金面评分解读**:
- 8-10分:主力强势介入,短期看多
- 6-8分:主力温和流入,可关注
- 4-6分:资金面中性,需结合其他维度
- 2-4分:主力流出迹象,谨慎
- 0-2分:主力明显撤离,回避
#### 投资建议等级
| 综合评分 | 建议等级 |
| -------- | -------- |
| 8-10分 | 强烈推荐 |
| 6-8分 | 推荐买入 |
| 4-6分 | 观望等待 |
| 2-4分 | 谨慎操作 |
| 0-2分 | 建议回避 |
#### 买卖价位计算
**买入价位**:
- 建仓价:当前价 × 0.95-0.98(回调5%-2%时建仓)
- 加仓价:支撑位附近或均线支撑位
**目标价位**:
- 参考机构目标价
- PE估值法:合理PE × 预测EPS
- 压力位附近
**止损价位**:
- 跌破支撑位
- 通常设置为买入价的92%-95%
---
## Step 8: 生成可视化HTML报告(必须执行)
分析完成后,**必须生成一个可视化的HTML网页报告**并保存到用户工作目录。
### HTML报告要求
1. **文件命名**:`{股票代码}_{股票名称}_分析报告_{日期}.html`
- 示例:`603618_杭电股份_分析报告_20260226.html`
2. **保存位置**:用户当前工作目录
3. **报告内容**:与Markdown报告内容一致,但以可视化网页形式呈现
4. **使用模板**:使用 `assets/report_template.html` 作为HTML模板
### HTML报告特性
- 📊 **可视化图表**:使用进度条、仪表盘展示评分
- 🎨 **美观样式**:现代化UI设计,响应式布局
- 📱 **支持打印**:可直接打印或导出PDF
- 🔗 **交互链接**:包含东方财富相关页面的快捷链接
### 生成流程
1. 读取 `assets/report_template.html` 模板
2. 将分析数据填充到模板中
3. 使用 `write_to_file` 工具保存HTML文件
4. 使用 `preview_url` 工具在浏览器中预览(可选)
---
## 输出格式
分析完成后,需要输出两种格式的报告:
### 1. 命令行输出(Markdown格式)
按照 `assets/report_template.md` 模板格式输出完整的投资分析报告,包括:
1. **基本信息**:股票代码、名称、行业、市值等
2. **基本面分析**:估值、盈利、成长、财务健康度
3. **新闻面分析**:公告、新闻、研报、舆情
4. **资金面分析**:主力资金、北向资金、融资融券
5. **技术面参考**:价格位置、均线、支撑压力
6. **综合投资建议**:评分、结论、买入价、目标价、止损价
7. **风险提示**
### 2. 可视化网页报告(HTML格式)
使用 `assets/report_template.html` 模板生成可视化网页:
1. 生成HTML文件并保存
2. 告知用户文件保存位置
3. 提供预览链接(如果可行)
---
## 下钻策略
在分析过程中,根据需要深入访问各个子页面:
```
登录引导 → 主页搜索 → 搜索结果页 → 股票详情页 → 下钻各数据页面 → 生成报告
↓
┌───────────────┼───────────────┐
↓ ↓ ↓
F10资料页 资金流向页 公告新闻页
↓ ↓ ↓
财务分析 主力追踪 研究报告
股东研究 北向资金
公司概况 融资融券
↓
┌─────────┴─────────┐
↓ ↓
Markdown报告 HTML报告
(命令行输出) (文件保存)
```
## 📊 数据来源追踪(重要!)
### 为什么需要追踪数据来源?
为了确保报告的透明度和可信度,**必须在最终报告中显示每项数据的来源状态**:
- 用户可以清楚知道哪些数据来自东方财富(权威源)
- 用户可以识别哪些数据是通过搜索引擎补充的
- 用户可以了解哪些数据获取失败或未获取
### 数据来源状态定义
| 状态 | 标识 | 说明 |
|------|------|------|
| ✅ **东方财富** | `[东财]` | 成功从东方财富网获取 |
| 🔄 **搜索补充** | `[搜索]` | 东方财富获取失败,通过搜索引擎补充 |
| ❌ **获取失败** | `[失败]` | 无法获取该数据 |
| ⚪ **未参考** | `[未获取]` | 未尝试获取该数据 |
### 核心数据来源要求
以下数据**必须优先从东方财富获取**,并在报告中标注来源状态:
| 数据项 | 东方财富URL | 优先级 |
|--------|-------------|--------|
| 当前股价 | 详情页 `quote.eastmoney.com` | 🔴 必须 |
| 涨跌幅/涨跌额 | 详情页 | 🔴 必须 |
| 总市值 | 详情页 | 🔴 必须 |
| PE/PB | 详情页 | 高 |
| 换手率 | 详情页 | 中 |
| 主力净流入 | `data.eastmoney.com/zjlx/` | 高 |
| 主力净比 | `data.eastmoney.com/zjlx/` | 高 |
| 财务指标(ROE等) | F10资料页 | 中 |
| 公告新闻 | 公告/新闻页 | 中 |
### 报告中数据来源显示格式
**在HTML报告和Markdown报告中,必须添加"数据来源状态"区块**:
#### 示例:数据来源状态表格
```markdown
## 📡 数据来源状态
| 数据项 | 来源 | 状态 |
|--------|------|------|
| 当前股价 | 东方财富 | ✅ 成功 |
| 涨跌幅 | 东方财富 | ✅ 成功 |
| 总市值 | 东方财富 | ✅ 成功 |
| PE/PB | 东方财富 | ✅ 成功 |
| 主力净流入 | 东方财富 | ✅ 成功 |
| 主力净比 | 东方财富 | ✅ 成功 |
| 财报数据 | 搜索引擎 | 🔄 补充 |
| 分析师目标价 | 搜索引擎 | 🔄 补充 |
| 机构持仓 | - | ❌ 失败 |
> 📊 数据完整度:80% | 东财数据占比:60%
```
---
## 注意事项
1. **登录优先**:每次分析前先引导用户登录东方财富,避免限流
2. **搜索准确性**:如果股票名称模糊,可能返回多个结果,需要确认是否为用户想要的股票
3. **数据时效性**:股票数据实时变化,分析结果基于获取时刻的数据
4. **页面访问**:某些页面可能需要多次访问才能获取完整数据
5. **备选方案**:如果东方财富访问受限,使用 `web_search` 作为数据补充来源
6. **双重输出**:必须同时输出Markdown报告和HTML报告
7. **数据来源标注**:必须在报告中显示数据来源状态表格,让用户清楚了解数据可靠性
7. **市场代码对照表**:
| 市场 | URL路径格式 | 示例URL |
|------|------------|---------|
| 🇨🇳 A股-沪市 | `quote.eastmoney.com/sh{代码}.html` | `sh600519.html` |
| 🇨🇳 A股-深市 | `quote.eastmoney.com/sz{代码}.html` | `sz300750.html` |
| 🇨🇳 A股-北交所 | `quote.eastmoney.com/bj{代码}.html` | `bj830799.html` |
| 🇭🇰 **港股** | `quote.eastmoney.com/hk/{代码}.html` | `hk/00700.html` |
| 🇺🇸 **美股** | `quote.eastmoney.com/us/{代码}.html` | `us/MU.html`, `us/AAPL.html` |
> ⚠️ **重要**:旧版 `unify/r/116.` (港股) 和 `unify/r/105.` (美股) 路径已失效!请使用新版 `/hk/` 和 `/us/` 路径!
8. **港美股特殊说明**:
- **港股**使用 `quote.eastmoney.com/hk/{代码}.html` 路径
- **美股**使用 `quote.eastmoney.com/us/{代码}.html` 路径
- 港美股可能没有完整的F10资料页,需使用 `web_search` 补充基本面数据
- 港美股资金流向数据可能与A股格式不同,需灵活处理
- 美股代码为英文字母(如 AAPL、MU、TSLA),港股为数字(如 00700)
9. **常见美股代码速查**:
- AAPL (苹果) / MSFT (微软) / GOOGL (谷歌) / AMZN (亚马逊)
- TSLA (特斯拉) / NVDA (英伟达) / MU (美光) / AMD (超威)
- META (Meta) / NFLX (奈飞) / BABA (阿里) / PDD (拼多多) / JD (京东)
## 参考资料
- 详细URL模板和数据解析指南:`references/eastmoney_guide.md`
- Markdown报告模板:`assets/report_template.md`
- HTML报告模板:`assets/report_template.html`
Files in this skill
- SKILL.md
- assets/report_template.md
- references/eastmoney_guide.md
- scripts/fetch_stock.py
- scripts/requirements.txt
Attribution
Comments
Loading comments…