feat: 调度层strategy_router matched改标准A——三项达标(长期/近期/当下适应温区年化>大盘)+手动可用,替代只看胜率50%
This commit is contained in:
@@ -131,7 +131,17 @@ def route(regime, temp, perf):
|
|||||||
best = max(regs.items(), key=lambda x: x[1].get("win_rate", 0))
|
best = max(regs.items(), key=lambda x: x[1].get("win_rate", 0))
|
||||||
best_wr = best[1].get("win_rate", 0)
|
best_wr = best[1].get("win_rate", 0)
|
||||||
cur_wr = cur.get("win_rate") if cur else None
|
cur_wr = cur.get("win_rate") if cur else None
|
||||||
matched = (best_wr >= 50) and (cur_wr is not None and cur_wr >= 50)
|
# 2026-08-16 资格标准A(老莫):长期10y/近期2y/当下1y 适应温区年化>大盘 三项达标 + 手动可用
|
||||||
|
# (替代只看胜率≥50%的旧判定——旧标准会让年化-41%但胜率51%的策略激活)
|
||||||
|
try:
|
||||||
|
from strategy_qualify import evaluate_strategy, is_available, get_benchmarks
|
||||||
|
_qbench = get_benchmarks('a')
|
||||||
|
_qev = evaluate_strategy(name, 'a', best_regime=best[0], bench=_qbench)
|
||||||
|
_qual_ok = bool(_qev and _qev.get("long_ok") and _qev.get("mid_ok") and _qev.get("short_ok"))
|
||||||
|
_manual_ok = is_available(name)
|
||||||
|
matched = _qual_ok and _manual_ok
|
||||||
|
except Exception:
|
||||||
|
matched = (best_wr >= 50) and (cur_wr is not None and cur_wr >= 50) # 兜底旧标准
|
||||||
family = FAMILY_MAP.get(name, DEFAULT_FAMILY)
|
family = FAMILY_MAP.get(name, DEFAULT_FAMILY)
|
||||||
base = 1.0 if matched else 0.3
|
base = 1.0 if matched else 0.3
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user