From b2176b0c3e3fcb9cac9175daf5486151ce7f8be6 Mon Sep 17 00:00:00 2001 From: Gahow Wang Date: Sat, 11 Apr 2026 13:15:09 +0800 Subject: [PATCH] Record daily snapshot in cmd_evening for monitor NAV tracking cmd_evening (used by the monitor path) only updated the simple daily_equity dict, so daily_log had gaps on every monitor-driven day. Mirror cmd_auto's pattern and call record_daily_snapshot so each strategy's NAV is recorded every trading day, even when no trades execute. Co-Authored-By: Claude Opus 4.6 --- trader.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/trader.py b/trader.py index f20959a..467b3fd 100644 --- a/trader.py +++ b/trader.py @@ -520,6 +520,12 @@ def cmd_evening(args): post_value = portfolio_value(state["holdings"], close_prices, state["cash"]) state["daily_equity"][trade_date] = round(post_value, 2) + + # Record daily snapshot so daily_log stays complete even on no-trade days + eq_vals = list(state["daily_equity"].values()) + prev_eq = eq_vals[-2] if len(eq_vals) >= 2 else state["initial_capital"] + record_daily_snapshot(state, trade_date, close_prices, exec_trades, prev_eq) + state["pending_trades"] = None state["last_evening"] = trade_date save_state(state, market, strategy_name)