fix: 证伪标记数据驱动——strategy_research加deprecated字段,前后端从数据读(替代硬编码),strategy_router排除证伪策略
This commit is contained in:
@@ -26,8 +26,6 @@ sys.path.insert(0, "/home/hmo/MoFin")
|
||||
OUT = Path("/home/hmo/MoFin/data/strategy_weights.json")
|
||||
|
||||
DEFAULT_FAMILY = "mr"
|
||||
# 已证伪策略(2026-08-15 对齐前端 DEPRECATED——证伪的策略绝不激活)
|
||||
DEPRECATED = {"v_mr", "v_mr_sel", "v_combo"}
|
||||
|
||||
FAMILY_MAP = {
|
||||
"v_weak": "mr", "v_oversold": "mr", "v_mr": "mr", "v_mr2": "mr", "v_mr3": "mr",
|
||||
@@ -114,10 +112,20 @@ def route(regime, temp, perf):
|
||||
current_regime = regime.get("regime", "unknown")
|
||||
band = temp.get("band", "unknown")
|
||||
weights = {}
|
||||
# 已证伪策略(从 strategy_research.deprecated 读,数据驱动——证伪绝不激活)
|
||||
dep = set()
|
||||
try:
|
||||
import sqlite3 as _sq
|
||||
_c = _sq.connect("/home/hmo/MoFin/data/mofin.db", timeout=5)
|
||||
dep = {r[0] for r in _c.execute(
|
||||
"SELECT DISTINCT version FROM strategy_research WHERE deprecated IS NOT NULL AND deprecated != ''")}
|
||||
_c.close()
|
||||
except Exception:
|
||||
pass
|
||||
for name, regs in perf.items():
|
||||
if not regs:
|
||||
continue
|
||||
if name in DEPRECATED: # 已证伪策略绝不激活(2026-08-15)
|
||||
if name in dep: # 已证伪策略绝不激活(数据驱动,2026-08-15)
|
||||
continue
|
||||
cur = regs.get(current_regime)
|
||||
best = max(regs.items(), key=lambda x: x[1].get("win_rate", 0))
|
||||
|
||||
Reference in New Issue
Block a user