# Trade Review

> 投资复盘 - 触发词：复盘、交易复盘、回顾我的交易、review trades。基于建仓→验证→退出三阶段框架，结合富途成交记录和滴答清单支点笔记生成个性化复盘报告。

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

---


# 投资复盘 Skill

基于**建仓→验证→退出**三阶段框架，评估**决策质量**（而非结果运气）。

**核心原则**：执行了计划+亏损 = 好决策；没有支点+盈利 = 坏决策。

```
建仓阶段              验证阶段                退出阶段
设立支点 ──→ 触发投资 ──→ 验证支点成立/崩塌 ──→ 止盈/止损退出
    ↑                                              ↓
    └──────────────── 投资复盘 ←──────────────────┘
```

---

## 一、触发方式

- "复盘一下" / "交易复盘"
- "复盘 NVDA" / "复盘 [股票代码]"（单标的）
- "帮我做月度复盘"

---

## 二、数据采集（并发执行）

同时运行以下 4 个操作：

```bash
# 美股成交（默认90天，可用 --days 30 指定）
python3 ~/.claude/skills/futu-trades/scripts/futu_trades.py --days 90 --market US

# 港股成交
python3 ~/.claude/skills/futu-trades/scripts/futu_trades.py --days 90 --market HK

# 当前持仓（含盈亏）
python3 ~/.claude/skills/futu-trades/scripts/futu_trades.py --positions
```

同时：调用 `mcp__dida365__list_tasks`（limit 100）获取支点笔记。

**已知问题**：
- `stock_name` 在成交记录中为空 → 用 `stock_code` 匹配
- `current_price = 0.0` 在休市时属正常 → 用持仓 `avg_cost` 代替
- `profit_rate` 单位为基点（÷100 得百分比）

---

## 三、支点笔记提取

### 3.1 筛选规则

从 dida365 任务列表中筛选：
1. tag 含 `投资` 的任务
2. 项目名含「投资」的任务
3. 任务标题/描述中含股票代码（如 NVDA、TSLA、09927）或常见别名（英伟达、特斯拉）

### 3.2 支点解码时间

`createdTime` 字段为 null，用任务 ID 解码：
```python
from datetime import datetime, timezone, timedelta
tz_sh = timezone(timedelta(hours=8))
pivot_time = datetime.fromtimestamp(int(task_id[:8], 16), tz=tz_sh)
```

### 3.3 无支点处理

如某标的无匹配任务 → 标注「**无书面支点**」→ 这本身是复盘发现，需记录：
> "建仓时无明确支点记录，是冲动买入还是支点未文档化？"

---

## 四、按标的分组分析

### 4.1 分组

将成交记录按 `stock_code` 聚合，每组得到：
- 所有 BUY 记录（按时间升序）
- 所有 SELL 记录（按时间升序）
- 当前持仓（如有）
- 匹配到的支点笔记

**期权标的**（代码含 `-C-`、`-P-`）：单独处理，注明到期日和行权价，不与正股混合。

### 4.2 三阶段评估模板

**建仓阶段**

| 评估项 | 来源 | 回答 |
|--------|------|------|
| 支点内容 | dida365 | [原文摘录] |
| 支点建立时间 | task_id 解码 | YYYY-MM-DD |
| 首次建仓时间 | futu-trades | YYYY-MM-DD |
| 支点先于建仓？ | 对比时间 | 是/否 |
| 入场逻辑清晰度 | AI判断 | ⭐1-5分 |

**验证阶段**（持仓期间的动作解读）

| 动作 | 含义 |
|------|------|
| 追加买入 | 支点强化信号，主动加仓 |
| 部分减仓 | 支点动摇，试探性退出 |
| 无操作持有 | 等待验证中 |
| 全部平仓 → 进入退出阶段 | |

**退出阶段**

| 退出类型 | 判断标准 | 决策质量 |
|----------|----------|----------|
| 止盈退出 | 达目标价/支点完全兑现 | A |
| 计划性止损 | 支点崩塌、执行预设止损 | A |
| 被迫止损 | 无计划割肉 | C |
| 过早止盈 | 支点未兑现就跑 | B |
| 扛亏持有 | 支点已崩但不认错 | D |

---

## 五、历史价格走势（可选）

如需查看成交后的价格走势（验证支点是否兑现）：

```bash
python3 ~/.claude/skills/trade-review/scripts/price_history.py --ticker NVDA \
  --start 2026-01-01 --end 2026-02-20
```

港股格式：`--ticker 9927.HK`（去掉 `HK.0` 前缀，保留数字）

---

## 六、复盘报告格式

报告保存到 `~/usr/odyssey/0 收集箱/research/【MMDD】投资复盘_YYYYMM.md`

```markdown
# 投资复盘 YYYY-MM

> 复盘日期：YYYY-MM-DD | 覆盖周期：最近90天

## 概览

| 指标 | 数值 |
|------|------|
| 复盘标的数 | N 个 |
| 已退出标的 | N 个（胜率 X%） |
| 当前持仓标的 | N 个 |
| 有书面支点比例 | X% |
| 整体盈亏 | +$X / -$X |

---

## [股票代码] [股票名称/别名]

### 支点

> [从滴答清单原文摘录，或「无书面支点」]
> — 记录于 YYYY-MM-DD

**入场逻辑清晰度**：⭐⭐⭐⭐☆

### 建仓记录

| 日期 | 方向 | 价格 | 数量 | 操作理由 |
|------|------|------|------|----------|
| ... | BUY | $X | N | 支点触发 |

**建仓均价**：$X.XX | **首次建仓**：YYYY-MM-DD

### 验证过程

[持仓期间的动作叙述，支点是否被验证/证伪]

### 退出情况

| 日期 | 方向 | 价格 | 单笔盈亏 |
|------|------|------|----------|
| ... | SELL | $X | +$Y |

**退出类型**：止盈退出 / 止损退出 / 持有中
**累计盈亏**：+$X (+X.X%)
**决策质量**：A / B / C / D

### 复盘结论

**做得好**：
- ...

**改进点**：
- ...

**支点更新**：[是否需要调整支点条件]

---

## 整体学习点

[跨标的共性发现，如：总是过早止盈、某类支点失败率高、期权时间价值消耗被低估等]

## 下期支点库

[基于本次复盘，建立/调整的支点条件清单]
```

---

## 七、决策质量评分细则

| 项目 | 权重 | A（优） | B（良） | C（差） |
|------|------|---------|---------|---------|
| 支点清晰度 | 30% | 有书面支点+量化触发条件 | 有模糊支点 | 无支点 |
| 入场纪律 | 20% | 支点触发后买入 | 略早/略晚 | 冲动买入 |
| 持仓管理 | 25% | 按计划加减仓 | 有偏差但合理 | 无计划 |
| 退出执行 | 25% | 达目标或止损点执行 | 偏差<10% | 扛亏/过早跑 |

