← 归档索引 · 2026-11-01 08:03 · 判据权重自动更新-周日8点
# Cron Job: 判据权重自动更新-周日8点
**Job ID:** a579be877a74
**Run Time:** 2026-11-01 08:03:33
**Mode:** no_agent (script)
---
📊 判据权重自动更新 (11-01 08:03)
开始回测: universe=all sample=200 horizon=5日
已处理 50/200
已处理 100/200
已处理 150/200
回测完成: 样本股票197只, 触发判据统计:
⚠️ base rate(全样本 24178 个窗口的超额>0 占比)= 37.1%
⇒ 判据胜率必须比它高才算有能力; 低于它 = 无区分度(甚至反向)
wash_low_nobreak: N=1922 超额胜率=37.1% 有效性=-0.0pp ❌无区分度 超额均值=-1.18%
wash_high: N=879 超额胜率=32.7% 有效性=-4.5pp ❌无区分度 超额均值=-1.99%
break_ma20_high: N=1046 超额胜率=33.3% 有效性=-3.9pp ❌无区分度 超额均值=-1.77%
break_ma20_low: N=6465 超额胜率=43.4% 有效性=+6.3pp ✅有效 超额均值=-0.17%
wash_low: N=1879 超额胜率=40.4% 有效性=+3.3pp ✅有效 超额均值=-0.61%
back_ma5: N=2951 超额胜率=37.6% 有效性=+0.5pp ⚠️弱 超额均值=-1.02%
break_ma20_vol: N=1352 超额胜率=43.3% 有效性=+6.2pp ✅有效 超额均值=-0.00%
⚠️ 无实际信号验证数据(market_validator记录为空)
★ 强势股分池对比(5日超额胜率; ⚠️强势池=系统自选票, 有选择偏差):
wash_low_nobreak: 强势池N=1190 超额胜率36.0% 有效性-1.2pp | 全量N=1922 超额胜率37.1% (base rate 37.1%)
wash_high: 强势池N=560 超额胜率33.6% 有效性-3.5pp | 全量N=879 超额胜率32.7% (base rate 37.1%)
wash_low: 强势池N=133 超额胜率37.6% 有效性+0.5pp | 全量N=1879 超额胜率40.4% (base rate 37.1%)
back_ma5: 强势池N=853 超额胜率36.5% 有效性-0.7pp | 全量N=2951 超额胜率37.6% (base rate 37.1%)
写回(合并式): 更新 6 键, 保留 0 键 | 备份 validated_weights.py.bak_wr_20261101_080330 | 语法✅ 键数8→9✅
报告已存: /home/ubuntu/stock_workspace/reports/weight_autotune_20261101.json
口径: 全A随机样本 + 5日【超额】(减同期基准) = 命中; 权重=胜率映射
硬约束: 有效性(胜率−base rate) ≤0 → 权重≤0.5(无区分度者不加权)
样本<30的判据 → 0.5 中性(不沿用旧值)
⚠️ stderr 非空(rc=0,可能只是警告): westock kline sh600626 非K线载荷(疑似服务限频/错误): 查询dayK线失败:error_type=2 suggest=2 msg=服务限频 westock kline sz000987 非K线载荷(疑似服务限频/错误): 查询dayK线失败:error_type=2 suggest=2 msg=服务限频 westock kline sh600730 非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;失败/超时显式❌上报