INNER CODE UNIT · Python

run_backtest

initial-d/ml-quant-trading · src/mlquant/backtest/engine.py:65

def run_backtest(
    weights: np.ndarray,
    returns: np.ndarray,
    *,
    costs_bps: float = 5.0,
    benchmark: Optional[np.ndarray] = None,
) -> BacktestResult:
    """Run a long-only / long-short vector backtest."""
    if weights.shape != returns.shape:
        raise ValueError(f"shape mismatch: weights {weights.shape}  returns {returns.shape}")

    T, _ = weights.shape

    # Lagged weights: weights[t-1] is what's earned over t-1 -> t.
    w_lag = np.zeros_like(weights)
    w_lag[1:] = weights[:-1]

    gross = (w_lag * returns).sum(axis=1)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…