From 5578851d853c495bc04e1fed278d84b7c5b33d6a Mon Sep 17 00:00:00 2001 From: ao gong <41768719+ageorge156@users.noreply.github.com> Date: Fri, 21 Aug 2026 21:25:27 +0800 Subject: [PATCH] fix: enforce chronological rebalance scores --- src/quant_engine/portfolio_construction.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/quant_engine/portfolio_construction.py b/src/quant_engine/portfolio_construction.py index 88487de..a58cad4 100644 --- a/src/quant_engine/portfolio_construction.py +++ b/src/quant_engine/portfolio_construction.py @@ -83,6 +83,8 @@ def scores_to_weight_table( _validate_gross_exposure(gross_exposure) if not scores.index.is_unique: raise ValueError("scores must contain unique rebalance dates") + if not scores.index.is_monotonic_increasing: + raise ValueError("scores rebalance dates must be in chronological order") if not scores.columns.is_unique: raise ValueError("scores must contain unique asset labels") if not all(is_numeric_dtype(dtype) for dtype in scores.dtypes):