numeraire.simulate_weights#

numeraire.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 no schedule, 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.