fix: 温区行所有列显示该温区数据——regime_perf v2为每策略x温区跑组合模拟(portfolio_sim 100万/10槽), 表扩展total_return/cagr/max_dd/capital_final/sharpe/profit_factor; server.py返回温区级完整指标; 前端温区行全列用温区数据(v_oversold trend_down年化29.1%/资产323万 vs choppy -0.2%/99万)

This commit is contained in:
hmo
2026-08-13 12:04:36 +08:00
parent 9f1185fc0d
commit 35bd408251
2 changed files with 29 additions and 16 deletions
+8 -2
View File
@@ -550,10 +550,16 @@ def api_research_strategies():
_c = _sq.connect(str(DATA_DIR / "mofin.db"), timeout=10)
_c.execute("PRAGMA busy_timeout=10000")
for _r in _c.execute(
"SELECT strategy, regime, trades, win_rate, avg_pnl FROM strategy_regime_perf"
"SELECT strategy, regime, trades, win_rate, avg_pnl, avg_hold_days, "
"total_return_pct, cagr_pct, portfolio_max_dd_pct, capital_final, "
"positions_taken, sharpe_ratio, profit_factor FROM strategy_regime_perf"
).fetchall():
_regime_winrates.setdefault(_r[0], {})[_r[1]] = {
"trades": _r[2], "win_rate": _r[3], "avg_pnl": _r[4]
"trades": _r[2], "win_rate": _r[3], "avg_pnl": _r[4],
"avg_hold_days": _r[5], "total_return_pct": _r[6],
"cagr_pct": _r[7], "max_dd_pct": _r[8], "capital_final": _r[9],
"positions_taken": _r[10], "sharpe_ratio": _r[11],
"profit_factor": _r[12],
}
_c.close()
except Exception: