# Eastmoney Trading

> 东方财富证券交易技能，支持自动登录、持仓查询、买入、卖出、撤单、委托查询、资金查询等完整交易功能。使用 CDP 连接浏览器，支持验证码自动识别。⚠️ 高风险操作，需谨慎使用。

- Skill: `dvcrn/eastmoney-trading` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add dvcrn/eastmoney-trading`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/eastmoney-trading/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/dvcrn/eastmoney-trading

---


# 东方财富证券交易技能

⚠️ **安全警告** ⚠️

**使用此技能前请仔细阅读以下警告：**

1. **账号安全风险**
   - 请勿将密码明文存储在脚本或配置文件中
   - 必须使用环境变量传递账号密码
   - 建议在本地运行，不要部署到云端服务器

2. **交易风险** ⚠️⚠️⚠️
   - **买入/卖出/撤单操作涉及真实资金交易**
   - 自动化交易可能导致意外损失
   - 建议先在模拟环境测试
   - 设置交易金额上限和止损
   - **默认启用二次确认**

3. **风控风险**
   - 自动化登录和交易可能触发东方财富的风控系统
   - 可能导致账号被临时锁定
   - ✅ **已支持验证码自动识别**（OCR + LLM）

4. **数据敏感性**
   - 持仓信息和交易记录是高度敏感的财务数据
   - 请确保运行环境安全
   - 不要分享截图或输出结果

---

## 🆕 v3.0.0 功能概览

| 功能模块 | 状态 | 命令 | 说明 |
|----------|------|------|------|
| 🔐 自动登录 | ✅ 已实现 | `login` | CDP 连接 + 验证码识别 |
| 📊 持仓查询 | ✅ 已实现 | `login` | 获取持仓明细、成本、盈亏 |
| 📈 买入操作 | ✅ 已实现 | `buy` | 支持限价/市价委托 |
| 📉 卖出操作 | ✅ 已实现 | `sell` | 支持限价/市价委托 |
| ❌ **撤单操作** | ✅ **已实现** | `cancel` | 按委托编号/股票/全部撤单 |
| 📋 **委托查询** | ✅ **已实现** | `orders` | 当日/历史委托记录 |
| 💰 **资金查询** | ✅ **已实现** | `balance` | 总资产、可用资金、盈亏 |

### 📸 日志和截图功能

- ✅ **按天切分日志文件夹**：`logs/YYYY-MM-DD/`
- ✅ **关键步骤截图**：每个操作阶段自动截图
- ✅ **结构化日志**：同时输出到文件和控制台
- ✅ **错误调试**：失败时自动保存错误现场截图

---

## CDP 连接模式（推荐）⭐

**优势：**
- ✅ 无需安装 Chromium 浏览器
- ✅ 无需安装系统依赖库
- ✅ 复用现有浏览器会话（保持登录状态）
- ✅ 支持远程浏览器连接
- ✅ 资源占用更低

---

## 前置要求

### 1. CDP 连接模式

**配置 OpenClaw 浏览器连接：**

在 `~/.openclaw/openclaw.json` 中添加：
```json
{
  "browser": {
    "enabled": true,
    "attachOnly": true,
    "defaultProfile": "remote",
    "profiles": {
      "remote": {
        "cdpUrl": "http://192.168.100.140:9222/",
        "color": "#FF4500"
      }
    }
  }
}
```

**启动远程浏览器：**
```bash
google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile
```

### 2. 安装依赖

```bash
pip3 install -r scripts/requirements.txt
```

### 3. 安装 Tesseract OCR（验证码识别）

```bash
sudo apt-get install tesseract-ocr tesseract-ocr-chi-sim tesseract-ocr-eng
```

### 4. 配置账号密码

```bash
export EASTMONEY_ACCOUNT=your_account
export EASTMONEY_PASSWORD=your_password
```

---

## 使用方式

### 命令列表

#### 1. 🔐 登录 + 持仓查询

```bash
python3 scripts/eastmoney_trading.py login
```

**输出示例：**
```
📊 东方财富持仓信息
============================================================
💰 总资产：¥125,680.50
💵 可用金额：¥23,450.00
📈 持仓市值：¥102,230.50
🟢 总盈亏：¥8,560.30

📋 持仓明细:
------------------------------------------------------------
600519 贵州茅台
   持仓：100 股
   成本：¥1800.00 | 现价：¥1850.00
   🟢 盈亏：¥5,000.00 (2.78%)
```

#### 2. 📈 买入操作

```bash
# 限价委托（带确认）
python3 scripts/eastmoney_trading.py buy \
  --stock-code 600519 \
  --price 1850.00 \
  --quantity 100

# 跳过确认
python3 scripts/eastmoney_trading.py buy \
  --stock-code 600519 \
  --price 1850.00 \
  --quantity 100 \
  --confirm
```

#### 3. 📉 卖出操作

```bash
python3 scripts/eastmoney_trading.py sell \
  --stock-code 600519 \
  --price 1900.00 \
  --quantity 100
```

#### 4. ❌ 撤单操作

```bash
# 撤销指定委托编号
python3 scripts/eastmoney_trading.py cancel --order-id 12345678

# 撤销某股票的所有未成交委托
python3 scripts/eastmoney_trading.py cancel --stock-code 600519

# 撤销所有未成交委托
python3 scripts/eastmoney_trading.py cancel
```

#### 5. 📋 委托查询

```bash
# 查询当日委托
python3 scripts/eastmoney_trading.py orders

# 查询历史委托
python3 scripts/eastmoney_trading.py orders --type history
```

**输出示例：**
```
📋 委托记录
================================================================================
委托编号       股票代码   股票名称     方向   价格     数量     状态       时间        
--------------------------------------------------------------------------------
20260314001  600519   贵州茅台    买入   1850.00  100      已报       09:35:20
20260314002  300750   宁德时代    卖出   380.00   200      已成       10:20:15
================================================================================
共 2 条委托记录
```

#### 6. 💰 资金查询

```bash
python3 scripts/eastmoney_trading.py balance
```

**输出示例：**
```
💰 账户资金信息
============================================================
💎 总资产：¥125,680.50
💵 可用资金：¥23,450.00
🧊 冻结资金：¥500.00
📈 证券市值：¥102,230.50

🟢 持仓盈亏：¥8,560.30
🟢 当日盈亏：¥1,230.00
📊 仓位：81.3%

============================================================
```

---

## 日志和截图

### 目录结构

```
eastmoney-trading/
└── logs/
    └── 2026-03-14/
        ├── eastmoney_trading_093015.log
        └── screenshots/
            ├── login_page.png
            ├── login_success.png
            ├── position_page.png
            ├── before_buy.png
            ├── buy_success.png
            ├── before_sell.png
            ├── sell_success.png
            ├── before_cancel.png
            ├── cancel_success.png
            ├── orders_page.png
            ├── balance_page.png
            └── ...
```

---

## 技术实现

### 数据源

- **网站**: https://jywg.18.cn/ (东方财富在线交易)
- **连接方式**: CDP (Chrome DevTools Protocol)
- **浏览器**: 远程 Chrome/Chromium

### 安全措施

- ✅ 密码通过环境变量传递
- ✅ 交易二次确认机制
- ✅ 完整交易日志记录
- ✅ 失败时自动截图

---

## 故障排查

### 问题 1：找不到账号密码

```bash
export EASTMONEY_ACCOUNT=your_account
export EASTMONEY_PASSWORD=your_password
```

### 问题 2：登录失败

1. 检查账号密码是否正确
2. 查看日志文件夹中的调试截图
3. 尝试手动登录确认账号正常

### 问题 3：验证码识别失败

1. 安装 Tesseract:
   ```bash
   sudo apt-get install tesseract-ocr tesseract-ocr-chi-sim tesseract-ocr-eng
   ```

2. 配置大模型 API（提高识别率）:
   ```bash
   export BAILIAN_API_KEY=your_api_key
   ```

### 问题 4：撤单失败

- 委托可能已成交，无法撤销
- 检查委托状态是否为"已报"（未成交）

---

## 注意事项

1. **本地运行**: 建议在个人电脑上运行
2. **定期更换密码**: 如使用自动化登录
3. **监控账号**: 注意异常登录提醒
4. **交易谨慎**: 涉及真实资金，务必谨慎
5. **日志管理**: 定期清理日志文件夹

---

## 更新日志

### v3.0.0 (2026-03-14)
- ✅ **新增撤单功能**：支持按委托编号/股票/全部撤单
- ✅ **新增委托查询**：当日/历史委托记录
- ✅ **新增资金查询**：总资产、可用资金、盈亏、仓位
- ✅ 完善命令行帮助信息
- ✅ 优化错误处理和日志记录

### v2.0.0 (2026-03-14)
- ✅ 新增买入/卖出功能
- ✅ 新增日志系统（按天切分）
- ✅ 新增截图功能
- ✅ 交易二次确认机制

### v1.3.0 (2026-03-14)
- ✅ 技能更名：eastmoney-auto-login → eastmoney-trading

---

**⚠️ 最后提醒**: 投资有风险，自动化登录和交易需谨慎。

