← 归档索引 · 2026-10-18 08:03 · 判据权重自动更新-周日8点
# Cron Job: 判据权重自动更新-周日8点

**Job ID:** a579be877a74
**Run Time:** 2026-10-18 08:03:23
**Mode:** no_agent (script)

---

📊 判据权重自动更新 (10-18 08:03)

开始回测: universe=all sample=200 horizon=5日
  已处理 50/200
  已处理 100/200
  已处理 150/200

回测完成: 样本股票197只, 触发判据统计:
  ⚠️ base rate(全样本 24429 个窗口的超额>0 占比)= 65.8%
  ⇒ 判据胜率必须比它高才算有能力; 低于它 = 无区分度(甚至反向)
  wash_low_nobreak: N=1944 超额胜率=72.2% 有效性=+6.4pp ✅有效 超额均值=+3.48%
  wash_high: N=942 超额胜率=66.6% 有效性=+0.8pp ⚠️弱 超额均值=+2.75%
  break_ma20_high: N=1168 超额胜率=67.7% 有效性=+1.9pp ⚠️弱 超额均值=+2.91%
  break_ma20_low: N=6500 超额胜率=64.8% 有效性=-1.1pp ❌无区分度 超额均值=+2.61%
  wash_low: N=1833 超额胜率=67.8% 有效性=+2.0pp ⚠️弱 超额均值=+2.75%
  back_ma5: N=3119 超额胜率=66.9% 有效性=+1.1pp ⚠️弱 超额均值=+3.02%
  break_ma20_vol: N=1122 超额胜率=65.3% 有效性=-0.5pp ❌无区分度 超额均值=+2.74%

⚠️ 无实际信号验证数据(market_validator记录为空)

★ 强势股分池对比(5日超额胜率; ⚠️强势池=系统自选票, 有选择偏差):
  wash_low_nobreak: 强势池N=1311 超额胜率71.1% 有效性+5.3pp | 全量N=1944 超额胜率72.2% (base rate 65.8%)
  wash_high: 强势池N=607 超额胜率66.7% 有效性+0.9pp | 全量N=942 超额胜率66.6% (base rate 65.8%)
  wash_low: 强势池N=163 超额胜率71.2% 有效性+5.4pp | 全量N=1833 超额胜率67.8% (base rate 65.8%)
  back_ma5: 强势池N=951 超额胜率66.1% 有效性+0.3pp | 全量N=3119 超额胜率66.9% (base rate 65.8%)
  写回(合并式): 更新 6 键, 保留 0 键 | 备份 validated_weights.py.bak_wr_20261018_080320 | 语法✅ 键数8→9✅
报告已存: /home/ubuntu/stock_workspace/reports/weight_autotune_20261018.json

口径: 全A随机样本 + 5日【超额】(减同期基准) = 命中; 权重=胜率映射
硬约束: 有效性(胜率−base rate) ≤0 → 权重≤0.5(无区分度者不加权)
样本<30的判据 → 0.5 中性(不沿用旧值)
⚠️ stderr 非空(rc=0,可能只是警告): westock kline sz002176 非K线载荷(疑似服务限频/错误): 查询dayK线失败:error_type=2 suggest=2 msg=服务限频 westock kline sh600628 非K线载荷(疑似服务限频/错误): 查询dayK线失败:error_type=2 suggest=2 msg=服务限频 westock kline sz000989 非K线载荷(疑似服务限频/错误): 查询dayK线失败:error_type=2 suggest=2 msg=服务限频

📊 因果基因
- 数据源: data_hub全A随机200只历史日线 + date_utils.bench_ret同期基准(5日超额收益)
- 分析路径: 滑动窗口检测8判据触发→触发后5日超额收益→胜率→权重映射(≥65%→1.4…<50%→0.5)→合并写回validated_weights.py
- 判断: 输出各判据样本数/胜率/权重;样本<30→0.5中性、有效性≤0→权重≤0.5;失败/超时显式❌上报