Test clean S/R as production rank overlay

This commit is contained in:
2026-07-13 10:33:42 +02:00
parent 2e9afeec0f
commit 01e6f7e2c3
6 changed files with 327 additions and 13 deletions
+22
View File
@@ -59,6 +59,7 @@ def _parse_args() -> argparse.Namespace:
"production_range504", "rewrite_range504_legacy_primary",
"rewrite_range504_structural_legacy_primary",
"rewrite_range504_structural_primary2",
"production_structural_overlay",
),
default=None,
help="Research-only S/R detector/gate arm.",
@@ -160,6 +161,27 @@ def _print_summary(report: dict) -> None:
f"trades {row.get('trades')}"
)
monitor_rows = [
row
for row in ((report.get("portfolio_monitor") or {}).get("runs") or [])
if row.get("lookback") == "all"
and (
row.get("is_production")
or row.get("strategy") == "production_structural_overlay5_atr3"
)
]
if monitor_rows:
print(" live-path full-period comparison:")
for row in monitor_rows:
print(
" "
f"{row.get('strategy')}: "
f"Sharpe {row.get('sharpe')}, "
f"CAGR {_pct(row.get('cagr_pct'))}, "
f"DD {_drawdown_pct(row.get('max_drawdown_pct'))}, "
f"trades {row.get('trades')}"
)
async def _main() -> None:
args = _parse_args()