numeraire.core.simulate.simulate_weights#
- numeraire.core.simulate.simulate_weights(returns: DataFrame, weights: DataFrame, *, schedule: RebalanceSchedule | None = None, rf: Series | None = None, cost_bps: float = 0.0, mode: str = 'target_weight', normalize: str = 'none', missing: str = 'error') SimulationResult[source]#
Simulate a target-weight stream over data-frequency returns (conventions in module doc).
- Parameters:
returns –
(date x asset)simple returns at data frequency.weights –
(signal_date x asset)target weights at decision dates. Columns must be a subset of the returns columns (missing assets are held at 0). With noschedule, the weights index is the decision calendar.schedule – Optional decoupled rebalance calendar; the weights index must then equal its
signal_dates.rf – Per-period risk-free return on the data calendar (cash leg); default 0.
cost_bps – Proportional cost in basis points per unit of L1 turnover, charged at each rebalance.