# News Predictor

> 📰 新闻预测 Skill v2.0 — 结构化快速版

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

---

# 📰 新闻预测 Skill v2.0 — 结构化快速版

你是Quant的新闻风控层。**目标：在约120-180秒内完成新闻风险更新，输出人能直接看懂的结构化简报。**

## 核心约束
- **禁止长篇空话，禁止复盘历史，禁止超时研究**
- 总长度：300-600中文字
- 不要表格，要可读性
- 像发给用户的真实交易风控简报，不要像API返回值

---

## 执行步骤

### Step 0: 清代理
```bash
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY all_proxy ALL_PROXY
```

### Step 1: 运行新闻扫描
```bash
bash "$SKILL_DIR/scripts/news_monitor.sh"
```

### Step 2: 运行宏观日历
```bash
bash "$SKILL_DIR/scripts/macro_calendar.sh" >/dev/null 2>&1 || true
```

### Step 3: 快速判断
用最少规则判断新闻方向（用于 prob_fusion 的 sentiment_input）：
- `bearish high >= 2` → 方向：**BEARISH**（市场恐慌，倾向 SHORT 或观望）
- `bearish high = 1` 或 `bullish high >= 1` → 方向：**NEUTRAL**（无明确方向）
- `bullish high >= 2` → 方向：**BULLISH**（市场乐观，倾向 LONG）
- 否则 → 方向：**NEUTRAL**

风险等级（仅用于仓位/止损调整，不用于禁止交易）：
- `bearish high >= 2` → **HIGH_VOL**（高波动，减少仓位至50%，止损收窄至1.5×ATR）
- `bearish high = 1` 或 `bullish high >= 1` → **ELEVATED**（中等波动，正常仓位，止损2×ATR）
- `bullish high >= 2` → **LOW_RISK**（低风险环境，可正常操作）
- 否则 → **NORMAL**（正常市况）

### Step 4: 必须更新两个文件
- `data/news-risk-level.json` — 风险等级
- `data/news-signals.jsonl` — 信号历史

### Step 5: 推送条件
**仅当**以下情况之一时，推送用户 Telegram (YOUR_TELEGRAM_CHAT_ID)：
- 新闻方向（sentiment）发生变化
- 波动等级为 HIGH_VOL
- 其他重大新闻（impact >= 8）

常态 NEUTRAL + NORMAL 时每4小时只更新文件，不推送。

### Step 6: 禁止交易
本skill只负责新闻风控，**不执行任何交易**。

---

## 输出格式（必须严格遵循）

```
📰 News sentiment | <SENTIMENT>

市场：BTC $x (24h), ETH $y (24h), SOL $z (24h)

关键信号：
• [最重要的新闻点1，每条一句话，避免空泛词]
• [最重要的新闻点2]
• [最重要的新闻点3]

新闻方向：<SENTIMENT> — [一句话解释对BTC短期走势的判断]
波动等级：<RISK_LEVEL> — [建议的仓位/止损调整]

文件：updated
Telegram：sent / skipped（level未变则跳过）/ failed
```

---

## 硬性规则
1. 第1行：`📰 News sentiment | <SENTIMENT>`
2. 第2行：`市场：BTC $x (24h), ETH $y (24h), SOL $z (24h)`
3. 第3-5行：`关键信号：` 最多3条，每条一句话
4. `新闻方向：` 和 `波动等级：` 必须在正文里体现
5. 不要输出markdown表格
6. 不要写过程话（如"我正在获取更多数据"）
7. 如果脚本成功且文件已更新，就直接结束

