INNER CODE UNIT · Python

gross

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

    gross = (w_lag * returns).sum(axis=1)
    # Cost drag from rebalancing day t. The book starts flat, so the
    # first row's weights are a full entry trade and are charged too.
    delta = np.empty_like(weights)
    delta[0] = np.abs(weights[0])
    delta[1:] = np.abs(weights[1:] - weights[:-1])
    cost = delta.sum(axis=1) * (costs_bps * 1e-4)
    net = gross - cost

    equity = np.cumprod(1.0 + net)

    summary = {
        "ann_return": metrics.annualised_return(net),
        "ann_vol":    metrics.annualised_vol(net),
        "sharpe":     metrics.sharpe_ratio(net),
        "sortino":    metrics.sortino_ratio(net),
        "calmar":     metrics.calmar_ratio(net),
        "max_dd":     metrics.max_drawdown(net),

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…