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 <noreply@anthropic.com>
This commit is contained in:
@@ -520,6 +520,12 @@ def cmd_evening(args):
|
|||||||
|
|
||||||
post_value = portfolio_value(state["holdings"], close_prices, state["cash"])
|
post_value = portfolio_value(state["holdings"], close_prices, state["cash"])
|
||||||
state["daily_equity"][trade_date] = round(post_value, 2)
|
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["pending_trades"] = None
|
||||||
state["last_evening"] = trade_date
|
state["last_evening"] = trade_date
|
||||||
save_state(state, market, strategy_name)
|
save_state(state, market, strategy_name)
|
||||||
|
|||||||
Reference in New Issue
Block a user