---
title: 市场数据体系 + 小果情报分析需求文档
tags: [需求文档, 知微, 市场数据, 小果, 行业热点]
created: 2026-06-18
status: 活跃
priority: 高
---

# 市场数据体系 + 小果情报分析需求文档

## 一、痛点现状

### 1.1 MoFin 市场模块三个子页面全部失效

| 页面 | 状态 | 问题 |
|------|------|------|
| 行业热点 | 数据虚假 | 行业涨幅为编造（如塑料+389%），数据源是 LLM cron 凭空生成，不是真实API |
| 知微洞察 | 空白 | "暂无洞察"，没有分析流程 |
| 潜力股挖掘 | 空白 | "暂无挖掘"，没有挖掘流程 |

根因：原 cron `b818e2bfd8d1`（市场数据采集）是 LLM 驱动的，不是真正的数据采集脚本。LLM 没有真实数据源，只能编造。该 cron 已失效，但 market.json 中的假数据还在。

### 1.2 行业数据割裂

- `stock_profiles.json` 中 16/38 只有行业数据（仅覆盖持仓股），22只自选股行业为空
- 行业分类无标准化体系（各行业中文名不一致）
- 无自动化行业补全流程
- `market_watch.py`（东方财富API行业采集脚本）已开发但未接入 Dashboard

### 1.3 小果本地 LLM 可用但未被利用

- 小果（192.168.1.122:18003, MLX Qwen3.6-27B, API port 8645）
- 免费（本地运行），适合做不需要高推理能力但费 token 的重复活
- 当前未被整合到知微的情报分析流程中

---

## 二、总体设计原则

### 2.1 数据来源唯一铁律

**所有 MoFin Dashboard 展示的数据，必须来自真实API，禁止 LLM 编造。**
LLM 只能分析真实数据，不能生成伪数据。

### 2.2 分类规范

- **市场模块展示内容 = 真实API数据 + 知微(智)分析 + 小果情报**
- 数据层（纯脚本）→ 分析层（LLM/知微）→ 展示层（Dashboard）
- 每条展示数据的来源必须可追溯

### 2.3 小果定位

- **不是用来替代知微的**，是辅助工具
- 跑在本地 Mac Mini，免费，但慢且推理能力弱
- 适合：分类/标注/情感分析/简单判断
- 不适合：复杂推理/多步决策/需要深度分析
- 输出给知微参考，知微做最终判断

---

## 三、模块一：行业热点（行业数据采集体系）

### 3.1 核心流程

```
东方财富 push2 API
  ↓ (market_watch.py, no_agent 纯脚本, 每30分钟)
行业原始数据 (涨跌/成交量/资金流向/上涨家数/下跌家数)
  ↓ (清洗+标准化)
market.json (标准化数据，写入 Dashboard data/)
  ↓ (供各模块使用)
MoFin 行业热点  |  知微D2行业分析  |  小果情报参考
```

### 3.2 API 规范

**首选：东方财富 push2 API**

行业板块：
```
GET https://push2.eastmoney.com/api/qt/clist/get
  ?pn=1&pz=15&po=1&np=1
  &fields=f2,f3,f4,f12,f14
  &fs=m:90+t:2
```
返回字段：f2(最新价), f3(涨跌幅%), f4(涨跌额), f12(代码), f14(名称)

概念板块：
```
GET https://push2.eastmoney.com/api/qt/clist/get
  ?pn=1&pz=10&po=1&np=1
  &fields=f2,f3,f4,f12,f14
  &fs=m:90+t:3
```

**降级：akshare（同花顺数据）**
```
ak.stock_board_industry_summary_ths()
  → 涨跌幅, 上涨家数, 下跌家数, 净流入资金
```

**三级降级：web_search 兜底**
当前两个API都失败时，web_search 搜索当日行业涨跌排行补充

### 3.3 行业分类标准化

建立一级/二级行业分类体系（参考申万/Swift行业分类）：

| 一级 | 二级 | 对应持仓/自选 |
|------|------|-------------|
| TMT/科技 | 半导体/消费电子/互联网/通信设备 | 中芯/德明利/丘钛/腾讯/阿里/博创/长飞 |
| 新能源 | 新能源汽车/储能/新能源材料 | 比亚迪/宁德/海博思创/中科电气/信义光能 |
| 金融地产 | 银行/保险/房地产 | 招商银行/中银香港/中国平安/万科/人寿 |
| 医药 | 创新药/医药流通 | 百济神州/辽宁成大 |
| 工业材料 | 有色金属/复合材料/电子元器件/新材料 | 紫金矿/法拉电子/中科/诺德 |
| 资源 | 黄金/贵金属 | 黄金ETF |
| 消费 | 汽车/消费电子 | 小鹏/TCL |
| ... | ... | ... |

**存量补全规则**：
- 持仓股：补全行业 + 业务描述（优先级高）
- 自选股：补全行业（优先级中）
- 新入自选：创建时即补全行业（规范）

补全方法：优先查腾讯 API 的行业字段，次选 akshare，最后 web_search

### 3.4 market.json 输出结构

```json
{
  "timestamp": "2026-06-18 14:30",
  "total_sectors": 56,
  "up_ratio": 45.2,
  "mood": "neutral",
  "sectors": [
    {
      "name": "半导体",
      "code": "BK0477",
      "price": 5287.63,
      "change_pct": 2.35,
      "volume": 325.6,
      "turnover": 528.4,
      "up_count": 68,
      "down_count": 12,
      "net_inflow": 12.5
    }
  ],
  "concepts": [...],
  "top_gainers": [前5],
  "top_losers": [末3],
  "source": "eastmoney"
}
```

字段规范：
- `change_pct`: **百分数**（如+2.35表示涨2.35%），不是绝对点数
- `price`: 板块指数点，不是股票价格
- `up_count/down_count`: 板块内上涨/下跌家数（仅 ak 降级时才有）
- `net_inflow`: 资金净流入（亿元，仅 ak 降级时才有）
- `source`: 数据来源标识（eastmoney/ths/web）

### 3.5 stock_profiles.json 行业数据维护

**自动补全流程**（每周/每月）：
```
第1步：筛选 stock_profiles.json 中 sector 为空的条目
第2步：查腾讯 API 的行业分类字段（港股/A股）→ 匹配申万行业
第3步：腾讯没有 → 查 akshare 股票基本信息
第4步：都不行 → web_search 查公司主营业务，提取行业关键词
第5步：写入 stock_profiles.json
第6步：记录补全日志（谁补的、依据来源、置信度）
```

**人工审核流程**：
- 自动补全的行业标记为"待审核"
- 知微在分析中遇到缺失/错误时手动修正
- 老爸也可以直接编辑

---

## 四、模块二：知微洞察 + 潜力股挖掘

### 4.1 知微洞察

定义：基于行业数据和持仓分析，每日输出 1-3 条有操作价值的洞察。

**数据来源**：
- market.json 行业热点（当日涨跌幅+资金流向）
- decisions.json 策略评估结果
- 小果情报分析（见第五部分）
- web_search 新闻

**洞察类型**：

| 类型 | 触发条件 | 示例 |
|------|---------|------|
| 行业轮动预警 | 持仓行业连续3天跑输大盘>2% | 新能源材料连续3天跑输，需关注 |
| 资金异动提醒 | 行业资金净流入/出异常>5亿 | 半导体单日净流入12亿，板块转强 |
| 策略调整建议 | 某行业趋势反转，影响持仓策略 | 银行板块跌破MA60，万科止损需收紧 |
| 新机会发现 | 非持仓行业连续强势>3天 | 军工板块连涨3天，值得关注 |
| 风险预警 | 行业政策突变/突发事件 | 美国关税政策影响光伏行业 |

**输出位置**：
- MoFin Dashboard → 知微洞察
- XMPP 推送（有实质内容才推）
- 关联到策略评估的 D5 消息面

### 4.2 潜力股挖掘

定义：从行业热点中筛选出与现有持仓/自选相关的潜力标的。

**挖掘流程**：
1. 每日从行业热点中找出最强势的 1-3 个行业
2. 从强势行业中筛选出：基本面+技术面+估值 都符合标准的个股
3. 对比现有持仓/自选，去重
4. 写入 watchlist.json（如果符合买入条件）
5. 输出到 MoFin 潜力股挖掘

**筛选标准**：
- 所属行业排名前20%（当日涨幅）
- PE/估值合理（非亏损股）
- 技术形态向好（近期有放量突破）
- 与现有持仓/自选不重复

**输出形式**：
- 每只标的名 + 行业 + 选取理由（一句话）
- 建议关注级别（高/中/低）
- 建议买入区间（可选）

---

## 五、模块三：小果情报分析

### 5.1 小果能力概述

| 能力 | 适用场景 | 精度要求 | 频率 |
|------|---------|---------|------|
| 新闻情感分类 | 个股新闻/行业新闻 → 正面/负面/中性 | 70%+ 即可 | 每日 |
| 量价异常标注 | 当日成交量/换手率/量比异常识别 | 80%+ | 每日20:00 |
| 行业热词提取 | 行业新闻关键词提取 | 可接受 | 每日 |
| 简单问答 | 替代知微做低精度任务 | 看情况 | 按需 |

**调用方式**：
- 知微通过 Hermes delegate_task 向 xiaoguo profile 派发任务
- 或通过 API 直调（http://192.168.1.122:8645）
- 小果的结果作为知微分析的输入参考

### 5.2 新闻情感分析

**输入**：从 web_search 搜索到的个股/行业新闻标题+摘要

**输出**（JSON）：
```json
{
  "code": "00700",
  "name": "腾讯控股",
  "news": [
    {
      "title": "腾讯游戏业务Q2增长超预期",
      "source": "新浪财经",
      "sentiment": "positive",
      "confidence": 0.85,
      "keywords": ["游戏", "超预期", "增长"]
    }
  ],
  "overall_sentiment": "positive"
}
```

**实现方式**：
- 知微在评估 cron 中，web_search 拉取新闻后，将新闻文本发给小果分类
- 小果返回情感标签 + 置信度
- 知微汇总到 D5 消息面分析

### 5.3 量价异常标注

**输入**：当日行情数据（收评）——价格/成交量/换手率/量比

**输出**（JSON）：
```json
{
  "code": "300750",
  "name": "宁德时代",
  "anomalies": [
    {
      "type": "volume_surge",
      "detail": "今日成交量3.2倍于20日均量",
      "assessment": "放量下跌，警惕"
    }
  ]
}
```

**异常类型**：
- `volume_surge`: 量比>2 的异常放量
- `volume_shrink`: 量比<0.5 的异常缩量
- `price_volume_divergence`: 价量背离（价涨量缩或价跌量放）
- `turnover_spike`: 换手率异常高（>20只日均换手3倍）
- `amplitude_surge`: 振幅异常大

**实现方式**：
- 数据收集脚本（collect_evaluation_data.py）收评后，将当日数据发给小果
- 小果标注异常点
- 标注结果写入 evaluation_input.json 的 anomaly 字段

### 5.4 持续情报监控（新增）

让**小果持续跑**，不只在收评时分析：

```
小果持续运行（每15-30分钟）
  ↓
扫描行业热点数据（market.json）
  ↓
发现异常 → 写入 小果情报日志
  ↓
知微评估 cron 读取情报日志，判断是否有价值 → 整合到分析报告
```

**持续监控内容**：
- 行业排行榜变化：前3名/末3名的行业
- 涨跌比变化：上涨/下跌比例突变
- 资金流向变化：突然转向的行业
- 新闻突发：web_search 发现的重大新闻

---

## 六、废弃清单

### 立即废弃

| 组件 | 原因 | 替代 |
|------|------|------|
| `strategy_evaluator.py` 中的评估逻辑（R/R、评分、阶段一/二） | LLM cron 做六维评估，脚本不做判断 | 保留脚本做数据采集/统计部分 |
| 旧 cron `b818e2bfd8d1`（市场数据采集 LLM 版） | 不可靠、数据虚假 | 新建 no_agent market_watch cron |
| `market.json` 旧数据 | 虚假数据 | 新 market_watch 覆盖 |

### 逐步废弃

| 组件 | 原因 | 替代 |
|------|------|------|
| 旧 `EXPERT_SYSTEM_DESIGN.md`（项目目录和 Dashboard 目录各一份） | 过时，与新系统不一致 | 新需求文档统一管理 |
| `stock_profiles.json` 中空字段 | 无数据占位 | 自动补全脚本 |

---

## 七、实施优先级

### P0（当前可做）

1. 修复 market_watch 脚本：输出目录改为 Dashboard data/
2. 创建 market_watch cron（no_agent，每30分钟）
3. 小果 API 调用验证（发一条简单测试）
4. 废弃旧 market.json + 旧 cron

### P1（本周）

5. stock_profiles.json 行业自动补全脚本
6. 知微洞察 MVP（每日1条有价值洞察）
7. 小果新闻情感分析接入

### P2（下周）

8. 潜力股挖掘 MVP
9. 小果持续情报监控
10. 行业数据刷新 Dashboard 展示

### P3（远期）

11. 行业资金流向可视化
12. 行业轮动预警系统
13. 小果自主情报Bot（主动推送）

---

## 八、关联文件规范

所有本需求涉及的组件，必须在以下文件中标注链接：

- `strategy-evaluation` skill 中标注 D2/D5 数据源为 market.json + 小果
- `mofin-system-arch` skill（如有）中标注新模块
- `collect_evaluation_data.py` 中标注加入行业数据合并
- 本需求文档链接进所有相关 skill 的 references 部分

---

*本需求文档为权威需求，高于任何 skill/记忆/脚本中的描述。如有不一致，以本文档为准。*
