150 lines
3.9 KiB
Markdown
150 lines
3.9 KiB
Markdown
# 🚀 MND-IA 快速开始指南
|
||
|
||
## 安装依赖
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
**核心依赖说明**:
|
||
- `akshare`: A股行情数据获取
|
||
- `cloudscraper`: 绕过 Cloudflare 防护的爬虫工具
|
||
- `beautifulsoup4`: HTML 解析
|
||
- `pandas`, `numpy`: 数据处理
|
||
|
||
## 运行测试
|
||
|
||
### 1. 测试核心模块(World Book)
|
||
|
||
```bash
|
||
python core/world_book.py
|
||
```
|
||
|
||
### 2. 测试 Agent Skills
|
||
|
||
```bash
|
||
# 测试量化模块
|
||
python skills/quant.py
|
||
|
||
# 测试情报分析
|
||
python skills/analyst.py
|
||
|
||
# 测试策略师
|
||
python skills/strategist.py
|
||
|
||
# 测试基金经理
|
||
python skills/pm.py
|
||
|
||
# 测试审计员
|
||
python skills/auditor.py
|
||
|
||
# 测试新闻联播爬虫
|
||
python skills/crawler.py
|
||
```
|
||
|
||
### 3. 运行完整系统
|
||
|
||
```bash
|
||
# 测试模式(使用模拟数据)
|
||
python main.py --mode test --no-crawler
|
||
|
||
# 测试模式(使用爬虫抓取新闻联播)
|
||
python main.py --mode test
|
||
|
||
# 每日批处理模式(自动爬取新闻)
|
||
python main.py --mode daily --capital 1000000
|
||
|
||
# 盘后审计模式
|
||
python main.py --mode audit
|
||
```
|
||
|
||
## 系统架构
|
||
|
||
```
|
||
MND-IA/
|
||
├── core/ # 共享内核
|
||
│ ├── world_book.py # WorldBook 核心类
|
||
│ ├── asset_map.json # 资产映射表
|
||
│ └── macro_matrix.json # 宏观因子矩阵
|
||
├── skills/ # Agent 技能群
|
||
│ ├── analyst.py # Skill A: 情报分析师
|
||
│ ├── quant.py # Skill B: 量化研究员
|
||
│ ├── strategist.py # Skill C: 宏观策略师
|
||
│ ├── pm.py # Skill D: 基金经理
|
||
│ ├── auditor.py # Skill E: 复盘审计员
|
||
│ └── crawler.py # Skill F: 新闻联播爬虫
|
||
├── data/ # 数据存储
|
||
├── logs/ # 日志文件
|
||
└── main.py # 主调度程序
|
||
```
|
||
|
||
## 数据流示意
|
||
|
||
```
|
||
[新闻联播] ──→ Crawler (Skill F) ──→ 新闻文本
|
||
↓
|
||
Analyst ──→ Narrative_JSON
|
||
↓
|
||
[行情] ──→ Quant ──→ Market_Data ──→ Strategist ──→ WorldBook
|
||
↓
|
||
PM ──→ Trust Index ──→ Orders
|
||
↑
|
||
Auditor (复盘)
|
||
```
|
||
|
||
## 核心概念
|
||
|
||
### Trust Index 公式
|
||
|
||
```
|
||
TrustIndex = (Score_narrative × 0.6 + Score_flow × 0.4) - Penalty
|
||
|
||
一票否决:
|
||
if Narrative > 80 and Flow < 30:
|
||
Penalty = 100
|
||
```
|
||
|
||
### 叙事生命周期
|
||
|
||
1. **incubation (潜伏期)**: 新闻刚出现,市场未反应
|
||
2. **fermentation (发酵期)**: 政策出台,市场开始关注
|
||
3. **realization (兑现期)**: Level A 重大利好,资金涌入
|
||
4. **decay (衰退期)**: 热度下降,逐步退出
|
||
|
||
## 下一步
|
||
|
||
1. ~~配置新闻数据源(可接入财联社、东方财富等 API)~~ ✅ 已实现新闻联播爬虫
|
||
2. 配置 LLM(如 GLM-4 或 Claude-3.5)用于 Analyst 增强
|
||
3. 实现实盘交易接口(如东方财富、同花顺)
|
||
4. 部署定时任务(每日 08:30 自动执行)
|
||
5. 添加更多新闻源(如财联社快讯、部委官网等)
|
||
|
||
## 常见问题
|
||
|
||
**Q: akshare 获取数据失败?**
|
||
A: 确保网络连接正常,某些 API 有频率限制。
|
||
|
||
**Q: 爬虫无法获取新闻联播?**
|
||
A:
|
||
1. 检查网站是否可访问(可能被墙或维护)
|
||
2. 查看 `data/news_cache/` 目录下的缓存文件
|
||
3. 手动测试:`python skills/crawler.py`
|
||
4. 新闻联播通常 20:00 后更新,提前爬取会返回空
|
||
|
||
**Q: cloudscraper 安装失败?**
|
||
A:
|
||
```bash
|
||
pip install --upgrade pip
|
||
pip install cloudscraper requests[security] pyparsing
|
||
```
|
||
|
||
**Q: 如何添加新的 ETF?**
|
||
A: 编辑 `core/asset_map.json`,在对应板块添加 ETF 代码。
|
||
|
||
**Q: 如何调整 Trust Index 公式权重?**
|
||
A: 修改 `skills/pm.py` 中的 `calculate_trust_index()` 方法。
|
||
|
||
## 许可证
|
||
|
||
MIT License
|