diff --git a/src/quant_engine/portfolio_construction.py b/src/quant_engine/portfolio_construction.py index 90e2d7d..88487de 100644 --- a/src/quant_engine/portfolio_construction.py +++ b/src/quant_engine/portfolio_construction.py @@ -81,6 +81,8 @@ def scores_to_weight_table( raise TypeError(f"scores must be a pandas DataFrame, got {type(scores).__name__}") _validate_top_k(top_k) _validate_gross_exposure(gross_exposure) + if not scores.index.is_unique: + raise ValueError("scores must contain unique rebalance dates") 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):