Skip to content

mihang123/mom-index

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

👩‍👧 宝妈指数 (Mom Index)

追踪中文社交平台上散户/小白/宝妈的投资讨论热度。指数越高,散户情绪越极端,市场越危险——基于"擦鞋童理论"的行为金融学反向指标。

核心原理

当菜市场大妈和宝妈都在讨论股票,就是该离场的时候。
                         — Joseph Kennedy, 1929

四个板块独立计算,每个板块有三个指标:

指标 含义
宝妈指数 综合情绪热度 (0-100)
🟢 宝妈买入 追涨情绪强度 (0-100)
🔴 宝妈卖出 割肉恐慌强度 (0-100)

指数解读

区间 信号 建议
0-20 🔵 极度冷清 小白沉默,可能是底部
20-40 🟢 正常区间 维持现有策略
40-60 🟡 开始升温 关注,准备减仓
60-75 🟠 高度警惕 大幅减仓
75-100 🔴 极度狂热 擦鞋童时刻,清仓

覆盖板块

板块 股吧代码 ETF
纳斯达克 of159941 513100
黄金 of518880 518880
CPO通信 of515880 515880
半导体 of512480 512480

最近数据

2026-06-21 | 来源:东方财富股吧(310条)+ 小红书模拟数据(54条小白帖) 市场背景:科技牛市(CPO+半导体持续上涨) + 黄金阴跌(从高位回撤20%) + 纳指高位震荡

板块 指数 买入 卖出 买卖比 小白占比 信号
CPO通信 60.4 51.9 20.9 5:1 30.2% 🟠 高度警惕 — FOMO追涨
黄金 51.8 0.0 64.1 0:∞ 32.6% 🟡 开始升温 — 恐慌割肉
纳斯达克 50.4 46.2 0.0 ∞:0 27.9% 🟡 开始升温 — 温和追涨
半导体 43.5 59.6 0.0 ∞:0 31.1% 🟡 开始升温 — 跟风买入

⚠️ 当前小红书数据为模拟数据(真实 API 不可用)。接入真实小红书数据后指数可能进一步上升。

项目结构

mom-index/
├── pipeline.py                  # 主流程:采集→分析→指数→存储
├── sync_data.py                 # 数据同步脚本(data/ → frontend/data/)
├── collectors/
│   ├── anti_detection.py        # 反检测核心:UA轮换+隐身+延迟
│   ├── guba_collector.py        # 东方财富股吧采集(✅ 生产可用)
│   ├── xhs_collector.py         # 小红书 rnote.dev API(⚠️ 需充值)
│   └── xhs_playwright.py        # 小红书 Playwright 方案(⚠️ 需登录态)
├── analyzer/
│   ├── llm_analyzer.py          # 多维度分类引擎(40+信号词库)
│   └── index_calculator.py      # 指数计算(含买入/卖出子指数)
├── frontend/
│   ├── dashboard.html           # 看板页面(Chart.js 暗色主题)
│   └── data/                    # 前端数据(pipeline 自动同步)
├── data/
│   ├── dashboard_data.json      # 前端数据源
│   ├── history.json             # 完整历史记录
│   └── xhs_posts.json           # 小红书采集缓存
├── .gitignore
└── README.md

快速开始

cd ~/Desktop/mom-index

# 运行数据采集 + 分析 + 指数计算(自动同步到 frontend/data/)
python pipeline.py

# 启动前端看板(默认 8765 端口)
cd frontend && python -m http.server 8765

# 浏览器打开
# http://localhost:8765/dashboard.html

数据源

数据源 状态 日采集量 说明
东方财富股吧 ✅ 稳定 ~307条 4个ETF吧,无需cookie,无风控
小红书 (rnote.dev) ⚠️ 需充值 0 免费额度仅够一轮
小红书 (x-mcp) ⚠️ 登录通/搜索风控 0 扩展已装,搜索被XHS风控
小红书 (Playwright) ⚠️ 需登录态 0 隐身脚本已就绪,缺登录cookie

分析方法

小白判定(40+信号词库)

每条帖子匹配多维度信号,每条判定带可读推理:

帖子「黄金亏了20%了要不要割肉啊😭」
  命中: 决策依赖(+7) + 情绪恐慌(+5)
  意图: 🔴 卖出(命中"割肉""亏了")
  得分: 58分 → 判定「纯小白」

信号维度:

维度 权重 示例
身份自述 +8 "小白"、"宝妈"、"新手"
知识求助 +6 "怎么买"、"在哪看"、"请教"
决策依赖 +7 "该不该"、"要不要"、"还能买吗"
情绪恐慌 +5 "亏麻了"、"好慌"、"心态崩了"
跟风行为 +6 "听博主说"、"朋友推荐"
过度乐观 +4 "梭哈"、"满仓干"、"稳赚"
专业术语 -5 PE/PB/估值/溢价率(扣分项)

意图判定

60+ 关键词区分买入/卖出意图:

  • 🟢 买入:上车、冲、加仓、买了、还能买吗、想买、心动...
  • 🔴 卖出:割肉、止损、清仓、亏了、要不要走、跌麻了...

指数公式

宝妈指数 = 小白占比×0.40 + 小白强度×0.25 + 情绪极端度×0.20 + 信号纯度×0.15

宝妈买入 = 买入小白占比×50 + 小白热度×30 + 买入强度×20
宝妈卖出 = 卖出小白占比×50 + 小白热度×30 + 卖出强度×20

前端看板

  • 四板块指数卡片(实时数值 + 买入/卖出子指标)
  • 30天历史曲线(Chart.js)
  • 今日典型小白帖(含推理过程)
  • 暗色主题,响应式布局

反检测系统

collectors/anti_detection.py — 从 AIMail_Agent 项目搬过来的三件套:

能力 说明
请求头轮换 7个 Chrome/Edge UA 随机切换 + Sec-CH-UA 指纹头
人类延迟 高斯分布,每10次停5-15s,每50次停30-60s
隐身脚本 8条 — webdriver/plugins/hardwareConcurrency 全部伪造
Playwright 参数 20+ 启动参数隐藏自动化痕迹

已知局限

  • 股吧小白占比低:5-20% 是正常的,真正的小白信号需要小红书数据
  • 关键词规则限制:非 LLM 语义理解,会漏掉隐含信号、误判部分 spam
  • 缺少回测:尚未用历史行情数据验证指数与市场顶底的相关性
  • 单日快照:一次采集只是一个数据点,需要持续运行积累

待解决

  • 小红书稳定数据源(rnote.dev 充值 或 x-mcp 解风控)
  • LLM 语义分类替换关键词规则
  • 抖音/微博数据源扩展
  • 定时自动采集(cron job)
  • 每日宝妈指数自动推送(微信/Telegram)
  • 回测验证:拿历史数据验证指数与市场顶底的相关性

技术栈

  • Python 3.14 + requests + playwright
  • Chart.js 4.x + 原生 HTML/CSS
  • 东方财富股吧 HTML 解析
  • 小红书 rnote.dev API / x-mcp MCP 协议

License

MIT — 仅供学习研究,不构成投资建议。

About

👩‍👧 宝妈指数 — 追踪小白/宝妈投资情绪的反向指标。当菜市场大妈都在讨论股票时,就是你该离场的时候。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors