Files
MoFin/docs/xiaoguo-scanner-design.md
T
2026-06-21 02:36:38 +08:00

79 lines
2.5 KiB
Markdown

# 小果独立扫描线 — 全市场主动发现
## 概述
不依赖趋势信号触发,小果自己盯着各种排行榜,主动发现可能有料的股票,搜新闻判断后喂给知微。
## 时序
```
每5分钟(独立cron,不碰现有管道)
小果扫描 → 榜单采样 → 搜索新闻 → LLM判断 → signal_news
知微在下一轮15分钟cron中读到 → 一起分析
```
## 数据源:三榜交集
每轮同时拉:
| 榜单 | 来源 | 速度 | 内容 |
|------|------|------|------|
| 东方财富热榜 | `stock_hot_rank_em()` | <5秒 | 全市场关注度前30 |
| 同花顺轮流榜 | 以下5个轮流,一轮一个 | ~30秒 | 各前15只 |
同花顺轮流拉的榜单(每轮换一个,5轮一个循环):
| 榜名 | 函数 | 说明 |
|------|------|------|
| 创新高 | `stock_rank_cxg_ths()` | 股价突破N日内新高 |
| 量价齐升 | `stock_rank_ljqs_ths()` | 成交量+价格同步上涨 |
| 向上突破 | `stock_rank_xstp_ths()` | 技术形态突破关键位 |
| 连续上涨 | `stock_rank_cxd_ths()` | 连续N天上涨 |
| 连续放量 | `stock_rank_cxfl_ths()` | 连续N天放量 |
**为什么这样组合:** 东方财富热榜代表"大家都在看",同花顺榜单代表"技术面有信号"。一只股票同时上两个榜,比只上一个榜更值得关注。
## 去重策略
每搜完一只股票,记录搜索时间到 `xiaoguo_scan_tracker` 表:
- 同一股票60分钟内不重复搜索
- 如果该股票今日已有 signal_news(来源='xiaoguo'),也不再重复
## 有料判断
合并同一只股票的多篇新闻,一次LLM调用判断整个股票。
```
输入:{name}({code}) 的3篇新闻标题
该股上了今日人气热榜/技术榜单
输出:有关(利好/利空/中性)或 无关
```
**时序控制:**
- 单只股票1次LLM调用(约15秒)
- 每轮最多15只 → 最长4分钟,5分钟窗口内跑完
- 超时未跑的股票下一轮继续
## 去重
新增 source 字段:
| source | 含义 |
|--------|------|
| trend | 现有管道,由 trend_detector 触发 |
| xiaoguo | 小果扫描,由榜单发现 |
两类信号在 signal_news 里共存。知微判断时可以看到来源,后续可以用来评估哪个渠道更有效。
## 新增表:xiaoguo_scan_tracker
```sql
CREATE TABLE IF NOT EXISTS xiaoguo_scan_tracker (
code TEXT PRIMARY KEY,
name TEXT,
last_scanned_at TEXT,
found_count INTEGER DEFAULT 0
);
```