diff --git a/static/index.html b/static/index.html
index 46f9ad74..b95478b3 100644
--- a/static/index.html
+++ b/static/index.html
@@ -2270,16 +2270,19 @@ async function loadEvolutionBox() {
h += '
🧪 假设归纳: 暂无显著假设(交易样本不足或特征均匀)
';
}
- // ── 2026-08-16 B组候选(方向二:由果及因挖掘,AB对照)──
- h += '🔬 B组候选挖掘(方向二,由果及因 vs A组对照):
';
+ // ── 2026-08-16 B组候选 + AB对照(方向二:由果及因挖掘 vs A组)──
+ h += '🔬 B组挖掘 + AB对照(方向二):
';
+ // A组 = 当前激活策略(baseline),B组 = 候选
+ const aNames = d.baseline ? Object.keys(d.baseline) : [];
if (d.b_group && d.b_group.length > 0) {
for (const b of d.b_group.slice(0,6)) {
h += '' +
- '['+b.regime+'] ' + b.hypothesis +
- ' ' + (b.trades_est||'?') + '样本 好果率' + (b.good_rate || b.ok_rate || b.big_rate || '?') + '%
';
+ '[B组 '+b.regime.replace('trend_','')+'] ' + b.hypothesis +
+ ' ' + (b.trades_est||'?') + '样本 好果率' + (b.good_rate || b.ok_rate || b.big_rate || '?') + '%
' +
+ '对照A组(' + b.regime.replace('trend_','') + '): ' + (aNames.join(', ') || '—') + '
';
}
} else {
- h += '暂无B组候选(全市场单/双因子区分度不足——数据事实,需多因子叠加或更细温区)
';
+ h += '暂无B组候选(由果及因扫描中,数据事实:震荡/下跌市因子区分度不足)
';
}
// ── 2026-08-16 策略资格概览(温区适应评估)──