内容
# 国会交易信号
**美国国会股票交易是否能跑赢大市——零售投资者能否据此进行交易?**
一个端到端的、可审计的研究流程,收集公共 STOCK 法案披露信息,对每笔交易进行市场调整(与标普 500 指数对比),检测多位政治家 **集群** 购买行为,并将它们评为 **强烈 / 关注 / 跳过** 信号——既作为研究数据集,也作为实时的 MCP 服务器。
> 研究项目,扩展了 Ziobrowski 等人(2004 年,2011 年)关于 STOCK 法案时代的研究。在 [Humanitarians AI](https://github.com/Humanitariansai) 担任研究员期间构建,基于 Mycroft 验证智能框架。 **仅用于研究,不作为投资建议。未进行任何交易。**
---
## 主要发现
总体而言,国会 **买入** 交易仅以 **+0.24%** 的优势跑赢大市,在每笔交易中调整 SPY 后——大多数成员只是跟随市场波动。真正的信号集中在 **集群买入** 中:当 2 名或以上的政治家在 30 天内独立购买同一股票,尤其是半导体和 AI 基础设施领域,这些集群表现出 **+17% 至 +68%** 的阿尔法收益(相对于 SPY)。
**该系统的价值在于其跳过率** ——它过滤掉了约 95% 的交易噪音。
---
## 架构
```
INGEST GIGO(验证) TOOL(分析,读取已验证数据)
┌─────────┐ ┌──────────────────────┐ ┌─────────────────────────────────────┐
│爬虫 │ → │数据丰富工具 │ → │集群分析器 → langgraph_pipeline │
│(Selenium│ │(yfinance 价格) │ │(集群检测) (5 节点多智能体) │
│国会交易 │ │市场调整 │ │ │
│数据) │ │(SPY 每笔交易阿尔法) │ │ server.py(MCP,5 工具) │
└─────────┘ └──────────────────────┘ └─────────────────────────────────────┘
data/raw/ ───────────────────────────→ data/verified/ ──→ logs/ + reports/
```
### LangGraph 多智能体流程(`langgraph_pipeline.py`)
```
一致性 ──(失败)──→ 结束 硬数据门控:绝不分析错误数据
│
↓
集群 ──→ 评分器 ──(0 强烈)──→ 报告 跳过 LLM,当没有可解释的内容时
│
(强烈 > 0)
↓
研究(Claude) ──→ 报告 LLM 论文注释每个强烈信号
```
共享类型状态与 **仅追加运行日志归约器** ——最终报告中的每个数字都可以通过图形追溯到其源文件(出处)。
---
## 快速入门
```bash
pip install -r requirements.txt
python scraper.py # 1. INGEST — 爬取国会交易 → data/raw/trades.csv
python enricher.py # 2. GIGO — 添加 yfinance 价格(可恢复,已检查点)
python market_adjusted.py # 3. GIGO — 每笔交易 SPY 匹配阿尔法
python cluster_analyzer.py # 4. TOOL — 检测集群 + 政治家行业概况
python langgraph_pipeline.py --no-llm # 5. TOOL — 评分信号,写入日志 + 报告
```
在任意浏览器中打开 `dashboard.html` 以访问交互式研究仪表盘。
### 作为 MCP 服务器(Claude Desktop)
`server.py` 暴露了 5 个自然语言工具:`get_price_history`、`get_recent_trades`、`get_buy_signals`、`get_stock_activity`、`get_politician_activity`。
---
## 方法论亮点
- **每笔交易市场调整** — 每个交易的回报减去 SPY 在 *相同* 30 天窗口内的回报。比以往文献中的聚合基准更严格。
- **从披露日期计算回报** ,而非交易日期——零售投资者实际可以得知信息的时刻。无先见之明。
- **集群 = 时间共现** ,而非机器学习聚类:2 名或以上的不同政治家在 30 天滑动窗口内购买同一股票。
- **双因素评分** = 集群大小 × 最大买入信念比率(BCR),针对样本外市场调整阿尔法进行验证。
---
## 仓库布局
| 路径 | 描述 |
|------|------|
| `scraper.py` | 国会交易 Selenium 爬虫(检查点/恢复) |
| `enricher.py` | yfinance 价格增强(增量,可恢复) |
| `market_adjusted.py` | 每笔交易 SPY 阿尔法 |
| `cluster_analyzer.py` | 集群检测 + 政治家行业概况 |
| `langgraph_pipeline.py` | 5 节点 LangGraph 多智能体信号流程 |
| `server.py` | FastMCP 服务器(5 工具) |
| `dashboard.html` | 交互式研究仪表盘(Chart.js) |
| `PAPER_DRAFT.md` | 工作论文 |
| `recipes/`、`DATA_CONTRACT.md`、`logs/RUN_LOG.md` | Mycroft 框架合规性 |
---
## 作者
**Ameya Deshmukh** — [@Ameya-Deshmukh26](https://github.com/Ameya-Deshmukh26)
deshmukh.amey@northeastern.edu · 东北大学
## 许可证
MIT — 见 [LICENSE](LICENSE)。
*数据来源于公共 STOCK 法案披露信息,来自 [Capitol Trades](https://www.capitoltrades.com) 和 Yahoo Finance 价格数据。本项目仅用于研究和教育目的,不构成投资建议。*