---
title: v2 因子系统接入指南
tags: [因子, v2, fusion, 集成]
created: 2026-06-01
source: DeepSeek TUI
status: draft
---

## 概览

v2 因子引擎已就位（由 DeepSeek TUI 编码完成），等待 Hermes Agent 接入执行流程。

```
stock/
  v2/factors/factor_signal.py   — 17个Alpha因子实现 + 归一化 [-1,+1]
  v2/factors/factor_basket.py   — 82因子注册表 + 批量计算 + 分类聚合
  fusion.py                      — 三层融合引擎（已导入 FactorBasket）
  master_selector.py             — 四引擎选股器（尚未调用 fusion）
  data_hub.py                    — 数据底座（已有）
```

## 方案一：直接命令行跑（最快，Hermes 马上能用）

```bash
cd ~/stock

# 跑单只股票的因子融合报告
python3 -c "
from data_hub import DataHub
from fusion import FactorFusionEngine

hub = DataHub()
engine = FactorFusionEngine()
result = engine.analyze('600519.SH', hub)
print(result.report())
"

# 跑多只股票批量对比
python3 -c "
from data_hub import DataHub
from fusion import FactorFusionEngine

hub = DataHub()
engine = FactorFusionEngine()
codes = ['600519.SH', '000858.SZ', '002229.SZ', '002230.SZ']
for code in codes:
    result = engine.analyze(code, hub)
    print(f'{code}: {result.verdict} ({result.overall_score:+.3f}, 置信度{result.confidence:.0%})')
"
```

## 方案二：集成到 master_selector（推荐，一次改永久生效）

在 `master_selector.py` 的 `analyze()` 函数中，在引擎执行完后追加因子融合检查：

```python
from fusion import FactorFusionEngine

# 在 analyze() 内，引擎结果之后追加：
fusion_engine = FactorFusionEngine()
fusion_result = fusion_engine.analyze(code, hub)
report_lines.append(f"因子融合: {fusion_result.verdict} ({fusion_result.overall_score:+.2f})")
report_lines.append(f"置信度: {fusion_result.confidence:.0%}")
```

这样选股报告会自动多一行因子结论。Hermes 可以直接用 `edit_file` 做这个改动。

## 方案三：cron 定时批量扫描（Hermes 调度）

建议 Hermes 创建 cron 任务，每日收盘后（15:30）自动跑一遍候选池：

```bash
# crontab -e 添加
30 15 * * 1-5 cd ~/stock && python3 -c "
from data_hub import DataHub
from fusion import FactorFusionEngine
hub = DataHub()
engine = FactorFusionEngine()
# 候选股票池（可扩展）
codes = ['600519.SH', '000858.SZ', '002229.SZ', '002230.SZ']
results = []
for code in codes:
    r = engine.analyze(code, hub)
    results.append(f'{code}: {r.verdict} ({r.overall_score:+.3f})')
print('\n'.join(results))
" >> ~/stock/reports/factor_scan_$(date +\%Y\%m\%d).txt 2>&1
```

## 方案四：Hermes 知识库审计接入（长期）

1. 将每日因子扫描结果写入 `~/.hermes/knowledge/.notify/` 目录
2. Hermes 轮询该目录后推送给老板
3. 因子信号作为选股辅助维度，与 master_selector 的"统一战略判断"并列

## 当前状态

- [x] factor_signal.py — 17个因子已实现
- [x] factor_basket.py — 82因子注册表已建
- [x] fusion.py — 三层融合引擎（已引用 v2）
- [ ] master_selector 调用 fusion — 待集成
- [ ] cron 定时扫描 — 待创建
- [ ] 推送通知 — 可选

## 注意事项

1. fusion.py 的 `analyze()` 接收 `(ticker, data_hub, end_date, days)` 参数，无需额外配置
2. 数据源依赖 `DataHub`，tushare token 和 mootdx 已配好
3. 置信度 < 0.3 时结论可靠性低，建议过滤
4. IC 数据从 `ic_data.json` 加载，缺失时使用默认权重
