← Back to Documentation

Rebalancing Comparison

Rebalancing Comparison isolates one question: how much the rebalance policy changes the result when the portfolio itself stays fixed.

Open Rebalancing Comparison →

Features

  • Side-by-side comparison of multiple rebalance frequencies
  • Tolerance band rebalancing with configurable drift thresholds
  • Turnover and tax-impact comparison across policies
  • Offset Sensitivity summary for Calmar, CAGR, and turnover spreads
  • Fixed allocation with only the rebalance rule changing

What This Tool Is For

Use Rebalancing Comparison when the portfolio is already chosen and the remaining question is about implementation. The tool keeps the holdings, weights, and date range fixed, then reruns the same portfolio across many rebalance policies.

This makes it easier to separate allocation decisions from rebalance decisions. If one policy only looks good on a single offset or an unusually frequent schedule, the result is less stable than it first appears.

When To Use It

  • Compare monthly, quarterly, annual, and threshold-based rebalancing on the same portfolio.
  • Check whether a result depends on one specific month-end or quarter-end trading alignment.
  • Measure the tradeoff between return, , and turnover as the rebalance rule changes.
  • Test whether a backtest result is robust to nearby rebalance choices.

What Stays Fixed

  • Portfolio: the same tickers and weights are used in every comparison.
  • Date range: every policy is tested on the same historical sample.
  • Return construction: the same price series and portfolio setup are reused in every run.

Only the rebalance rule changes across the sweep.

What Changes

  • Frequencies: monthly, quarterly, annual, and other scheduled rebalance cadences.
  • Thresholds: drift bands for deviation-based rebalancing.
  • Offsets: signed trading-day shifts around the period boundary.
  • Mode: whether time, drift, or both are required to trigger a trade.

How To Read The Outputs

  • Leaderboard: use it to see which policies rank highest on the selected metric.
  • Scatter plot: use it to inspect tradeoffs such as CAGR versus turnover or CAGR versus drawdown.
  • Offset curve: use it to check whether nearby schedule shifts produce similar results or materially different outcomes.
  • Offset Sensitivity: use it to see which frequency/threshold policies have the widest Calmar spread across tested offsets before reading the full row table.
  • Deviation sweeps: use them to compare drift thresholds directly when the policy does not depend on a calendar schedule.

Tax-Aware Sweeps

Enabling a tax profile reports pretax and after-tax results side-by-side. Every cell carries both metric blocks, plus tax extras (annual drag in basis points, total dollars paid in taxes, and an effective tax rate on gross sell-side turnover).

  • View chip: toggle Pretax, After-tax, Tax drag, and Δ to switch the table, scatter, and curve views without rerunning the analysis.
  • Tax-optimal badge: the row with the highest after-tax Sharpe is highlighted. The insights banner also calls out when the best pretax CAGR lands on a different cell, because tax drag can reshuffle the ranking.
  • Drag heatmap: rendered when the sweep spans at least two frequencies and two thresholds, showing annual drag (bps/year) across the frequency × threshold grid.
  • Daily / weekly at your own risk: very frequent rebalancing generates many wash-sale events, which compound drag beyond the naive CAGR difference. That is expected behavior, not a bug: cadence choices matter a lot when taxes are on.
  • Run-count cap: tax-aware sweeps are 10-15× slower per cell than pretax sweeps. The default cap keeps response time predictable; enable the full sweep toggle to opt into the full run-count limit when you need a denser grid.
  • Cashflows: tax-aware runs do not yet support cashflows. Remove contributions/withdrawals to run a tax-aware sweep, or disable the tax profile to keep cashflows in play.