---
name: short-term-analysis
description: |
  A股短期走势分析Skill - 使用多周期+触碰验证+形态识别+Volume Profile四项优化技能
  
  **⚠️ 强制要求：生成报告后必须立即发送完整报告给用户，禁止等待用户询问，禁止分批发送，禁止询问"是否需要发送"。**
  
  核心功能:
  1. 多周期支撑压力分析 (日线+60分钟)
  2. 触碰次数验证 (支撑/压力有效性)
  3. 形态结构识别 (W底/M顶/头肩)
  4. Volume Profile分析 (POC/Value Area)
  5. 综合评分与预期走势预测
  
  适用场景:
  - 个股短期(1-4周)走势判断
  - 支撑压力位识别
  - 买卖时机选择
  - 多股对比筛选
  
  触发方式:
  - "分析股票短期走势"
  - "短期技术分析"
  - "支撑压力位分析"
  
  数据源: 长桥API (真实行情数据)
  
  风险提示: 本分析基于历史数据，不构成投资建议
---

# 短期走势分析 Skill

## 功能

生成个股的短期走势分析报告，包括：

1. **多周期支撑压力位**
   - 日线级别 (大趋势)
   - 60分钟级别 (精确位置)
   - 布林带动态支撑压力

2. **触碰次数验证**
   - 统计价格触碰支撑/压力的次数
   - 计算反弹/回落成功率
   - 评估支撑/压力有效性

3. **形态结构识别**
   - W底形态 (看涨)
   - M顶形态 (看跌)
   - 头肩底/顶形态

4. **Volume Profile分析**
   - POC (Point of Control) 控制点
   - Value Area (70%成交量区间)
   - 成交量趋势分析

5. **综合评分与预测**
   - 多因子综合评分
   - 预测方向 (强烈看涨/看涨/震荡/看跌/强烈看跌)
   - 预期收益区间

## 数据源

- **行情数据**: 长桥API (Longbridge OpenAPI)
- **数据周期**: 60分钟K线 + 日线
- **数据范围**: 默认60个交易日
- **实时性**: T日实时数据

## 🚨 关键错误记录（[REDACTED_PHONE]）

### 错误描述
**使用模拟数据代替真实API数据**

在演示阳光电源分析时，为了快速展示流程，使用了以下错误方式：
```python
# ❌ 错误代码 - 绝对禁止！
np.random.seed(42)
base_price = 150
closes_daily = base_price + np.cumsum(np.random.randn(60) * 3)  # 模拟数据！
```

### 错误影响
1. **数据不真实**: 所有技术指标、支撑压力、形态识别基于假数据
2. **分析结论无效**: 评分、预测、买入建议都是基于错误的输入
3. **误导用户**: 可能引导用户基于虚假分析做出投资决策
4. **违反SKILL约定**: 明确约定使用"长桥API真实行情数据"

### 根本原因
1. **急躁心态**: 为了快速演示而牺牲数据质量
2. **侥幸心理**: 认为"只是演示"，用户不会发现
3. **未遵循流程**: 没有先验证API可用性就直接使用模拟数据

### 正确做法
```python
# ✅ 正确代码 - 必须使用真实API
from longport.openapi import QuoteContext, Config, Period, AdjustType

config = Config.from_env()
ctx = QuoteContext(config)

# 必须获取真实数据
resp_60 = ctx.candlesticks(symbol, period=Period.Min_60, count=240, 
                          adjust_type=AdjustType.NoAdjust)
resp_day = ctx.candlesticks(symbol, period=Period.Day, count=60,
                           adjust_type=AdjustType.NoAdjust)

# 提取真实价格数据
closes_daily = np.array([float(c.close) for c in resp_day])
```

### ⚠️ 数据真实性强制检查清单（执行前必须确认）

**绝对禁止的行为：**
- ❌ 使用 `np.random` 生成模拟价格
- ❌ 使用 `faker` 等库生成假数据
- ❌ 使用硬编码的价格数据
- ❌ API失败时使用"示例数据"继续分析

**必须执行的验证：**
- [ ] **API连接**: 确认 `Config.from_env()` 成功，无认证错误
- [ ] **数据获取**: 使用 `ctx.candlesticks()` 获取真实K线数据
- [ ] **数据验证**: 打印最新价格，与实际行情对比确认
- [ ] **错误处理**: API失败时**停止分析**，不使用任何备用数据

**代码审查要点：**
```python
# 每个分析脚本必须包含以下检查
print(f"数据来源: 长桥API实时行情")
print(f"最新价格: {latest_price:.2f}元")
print(f"数据条数: {len(candles)}条")

# 禁止出现以下代码模式
# ❌ closes = np.random.randn(60)  
# ❌ closes = [100, 101, 102, ...]  # 硬编码
# ❌ closes = generate_fake_data()   # 模拟生成
```

---

## 使用方法

### 命令行使用

```bash
# 分析单只股票
cd /root/.openclaw/workspace
./venv_runner.sh skills/short-term-analysis/scripts/analyze_short_term.py 688008.SH

# 分析多只股票
./venv_runner.sh skills/short-term-analysis/scripts/analyze_short_term.py 688008.SH 603986.SH 002384.SZ
```

### Python代码调用

```python
from skills.short_term_analysis.scripts.analyze_short_term import ShortTermAnalyzer

# 初始化分析器
analyzer = ShortTermAnalyzer()

# 分析单只股票
result = analyzer.analyze('688008.SH')
print(f"预测: {result['outlook']}, 预期收益: {result['expected_return']}")

# 分析多只股票
symbols = ['688008.SH', '603986.SH', '002384.SZ']
results = analyzer.analyze_multiple(symbols)

# 结果按评分排序
for r in results:
    print(f"{r['symbol']}: {r['outlook']} (评分: {r['score']})")
```

### 快捷命令

```bash
# 分析7只半导体股票
./venv_runner.sh skills/short-term-analysis/scripts/analyze_short_term.py \
  688008.SH 603986.SH 002384.SZ 688019.SH 603920.SH 300548.SZ 688048.SH
```

## 分析流程

```
输入: 股票代码
  ↓
获取数据 (60分钟K线 + 日线)
  ↓
计算技术指标 (MA/MACD/RSI/布林带)
  ↓
技能1: 多周期支撑压力分析
  ↓
技能2: 触碰次数验证
  ↓
技能3: 形态结构识别
  ↓
技能4: Volume Profile分析
  ↓
综合评分计算
  ↓
预测方向判定
  ↓
输出: 分析报告
```

## 评分体系

### 评分因素

| 因素 | 条件 | 分值 | 说明 |
|:-----|:-----|:---:|:---|
| 日线趋势 | 价格在MA20上方 | +1 | 上涨趋势 |
| 日线趋势 | 价格在MA20下方 | -1 | 下跌趋势 |
| RSI | RSI > 70 (超买) | -0.5 | 可能回调 |
| RSI | RSI < 30 (超卖) | +0.5 | 可能反弹 |
| 支撑有效性 | 触碰≥3次, 反弹≥50% | +1 | 强支撑 |
| 支撑有效性 | 触碰≥2次 | +0.5 | 有支撑 |
| 形态 | W底 | +1 | 看涨形态 |
| 形态 | M顶 | -1 | 看跌形态 |
| 位置 | 低位区间 (<30%) | +0.5 | 安全边际 |
| 位置 | 高位区间 (>70%) | -0.5 | 风险较高 |

### 预测方向判定

| 综合评分 | 预测方向 | 预期收益(20日) |
|:---:|:---|:---|
| ≥ 2.0 | 🚀 强烈看涨 | +15~25% |
| 1.0 ~ 2.0 | 📈 看涨 | +5~15% |
| -1.0 ~ 1.0 | ➡️ 震荡 | -5~5% |
| -2.0 ~ -1.0 | 📉 看跌 | -15~-5% |
| < -2.0 | 🔻 强烈看跌 | -25~-15% |

## 输出示例

```
🥇 长光华芯 (688048.SH)
   价格: 160.21 | 支撑: 135.38 | 压力: 180.87
   触碰验证: 17次/65%反弹
   形态: W底
   POC: 137.93
   评分: 2.0 | 🚀 强烈看涨 | 预期收益: +15~25%
   因素: 日线上涨(+1), 强支撑(+1), W底(+1), M顶(-1)
```

## 使用建议

### 选股策略

1. **优先关注**
   - 综合评分 ≥ 1.0
   - 支撑验证次数 ≥ 3次
   - 有看涨形态 (W底/头肩底)

2. **谨慎对待**
   - 综合评分 0 ~ 1.0
   - 多空因素并存
   - 建议观望或轻仓

3. **回避**
   - 综合评分 < 0
   - 有看跌形态 (M顶/头肩顶)
   - 高位且RSI超买

### 入场时机

- **最佳**: 价格接近强支撑位 + 形态确认 + RSI超卖
- **良好**: 突破POC并站稳 + 放量
- **一般**: 价格在中位区间 + 趋势向上

### 止损设置

- 技术止损: 支撑位下方 2-3%
- 时间止损: 3-5天不盈利离场
- 最大亏损: 单笔不超过总资金 2%

## 局限性

1. **数据周期**
   - 仅分析60个交易日历史
   - 长期趋势需结合更多数据

2. **形态识别**
   - 自动识别可能有误差
   - 建议人工复核关键形态

3. **市场因素**
   - 未考虑宏观经济/政策因素
   - 未考虑个股突发消息

4. **准确率**
   - 历史回测准确率约60-70%
   - 仍有不确定性，需严格风控

## 风险提示

⚠️ **重要声明**:
1. 本分析基于历史数据，不构成投资建议
2. 过往表现不代表未来收益
3. 股市有风险，投资需谨慎
4. 建议小仓位验证，严格止损
5. 本Skill仅供学习和研究使用

## 版本历史

| 版本 | 日期 | 更新内容 |
|:-----|:-----|:---------|
| 1.1 | [REDACTED_PHONE] | **新增**: 数据真实性铁律与关键错误记录（使用模拟数据事件） |
| 1.0 | [REDACTED_PHONE] | 初始版本，4项优化技能 |

## 相关文件

- `scripts/analyze_short_term.py` - 核心分析脚本
- `SKILL.md` - 本说明文档

---

*版本: 1.0 | 更新日期: [REDACTED_PHONE]*