980080/980081指数监控回测闭环机制
系统架构
监控触发 → 信号记录 → 自动回填 → 质量计算 → 阈值建议
↓ ↓ ↓ ↓ ↓
技术+资金 signals_ T+1/T+3/ 胜率/盈亏 调整建议
+ZScore log.json T+5 比/IC
核心组件
| 文件 |
功能 |
index_monitor_980080_980081.py |
主力监控脚本,扫描成长100/价值100成分股 |
index_monitor_backtest.py |
回测闭环,记录信号、回填涨跌幅、计算质量指标 |
index_monitor_runner.py |
Cron入口,组合监控+回测 |
触发条件(三重过滤)
1. 技术形态信号
- 多头排列:收盘价 > MA5 > MA10
- 放量上涨:涨幅>0 且 成交量 > 5日均量×1.5
- 突破20日线:收盘价突破MA20
- 均线粘合发散:MA5/MA10差距<2%后发散
2. 资金特点信号
- 主力流入:近5日涨幅>5% 且 量比>1.3
- 缩量上涨:涨幅>0 且 量比<0.8(确认强势)
- 主力流出:近5日跌幅>5% 且 量比>1.3(预警)
3. ZScore建仓标准
- 综合分≥60分
- 技术信号得分×0.4 + 资金信号得分×0.3 + 突破信号×0.3
- 必须有资金确认(主力流入)
回测指标
| 指标 |
定义 |
合格阈值 |
| 胜率 |
正收益信号占比 |
≥55% |
| 盈亏比 |
平均收益/平均亏损 |
≥1.5 |
| IC |
ZScore与实际收益的相关性 |
≥0.1 |
| 样本量 |
已回填的信号数量 |
≥20 |
数据流向
signals_log.json ← 记录所有触发信号
↓
backtest_log.json ← 回填T+1/T+3/T+5涨跌幅
↓
metrics_log.json ← 计算质量指标
↓
threshold_suggestions.json ← 生成调整建议
Cron任务
| 任务 |
时间 |
功能 |
980080/980081指数监控 |
工作日 09:00 |
扫描+回填+计算 |
使用方式
# 完整运行(监控+回测)
python tools/index_monitor_runner.py --mode full
# 仅监控
python tools/index_monitor_runner.py --mode monitor
# 仅回测
python tools/index_monitor_runner.py --mode backtest
# 手动回填
python tools/index_monitor_backtest.py --action backfill --days 5
# 计算指标
python tools/index_monitor_backtest.py --action metrics
# 获取建议
python tools/index_monitor_backtest.py --action suggest
信号质量阈值自适应
系统会根据回测结果自动建议阈值调整:
| 当前表现 |
建议动作 |
| 胜率<55% |
提高ZScore门槛或收紧技术条件 |
| 盈亏比<1.5 |
增加止损或过滤弱势信号 |
| IC<0.1 |
重新评估因子有效性 |
| 样本量<20 |
继续积累样本 |
| 某指数表现差 |
单独校准该指数阈值 |
数据存储
D:/Hermes/评估中心/data/index_monitor/
├── signals_log.json # 信号记录
├── backtest_log.json # 回测记录
├── metrics_log.json # 质量指标
└── threshold_suggestions.json # 阈值建议
迭代优化循环
每日监控 → 记录信号 → 次日回填 → 累积样本 → 计算指标
↑ ↓
└──────────── 阈值调整建议 ← 质量评估 ─────────┘
每累积20个信号后,系统会自动评估并给出阈值调整建议。