diff --git a/evolution/evolution_api.py b/evolution/evolution_api.py index d1f01ffb..435e071a 100644 --- a/evolution/evolution_api.py +++ b/evolution/evolution_api.py @@ -40,9 +40,23 @@ def get_evolution_dashboard(): """).fetchall(): evolution.append(dict(r)) - # 当前策略基线(2026-08-11: 改为当前实盘 v_weak + 新策略 v_oversold) + # 当前策略基线(2026-08-15: 数据驱动——跟随 strategy_weights.json 激活集合, + # 原硬编码 ['v_weak','v_oversold'] 与温区路由脱节,激活策略换了一批但基线还显示旧的) + def _active_versions(): + try: + d = json.loads(open('/home/hmo/MoFin/data/strategy_weights.json', encoding='utf-8').read()) + vs = list(d.get('active') or []) + vs += list(((d.get('markets') or {}).get('hk') or {}).get('active') or []) + seen, out = set(), [] + for v in vs: + if v and v not in seen: + seen.add(v) + out.append(v) + return out or ['v_weak', 'v_oversold'] + except Exception: + return ['v_weak', 'v_oversold'] baseline = {} - for v in ['v_weak', 'v_oversold']: + for v in _active_versions(): r = conn.execute(""" SELECT results_json FROM strategy_research WHERE version=? AND period_tag='5y' ORDER BY id DESC LIMIT 1