Rebalancing Triggers: Calendar vs. Threshold-Based Approaches for Proxy Baskets
A $1.70M proxy basket rebalanced on a fixed monthly schedule turns over roughly 18% per ticket. At 35 bps all-in (spread plus commission plus market impact on the single-name legs), that is ~$1,070 per rebalance, ~$12,800 per year. Switch to a threshold rule — rebalance only when realized beta drifts more than 0.15 from target — and the same basket trades ~4 times per year instead of 12. Annual cost drops to ~$4,200. Savings: ~$8,600 per year, or 50 bps of basket notional.
The question is what that $8,600 buys in tracking error. This post compares the two regimes and gives the implementation we run: check weekly, transact only on breach.
Calendar Rebalancing: Monthly, No Exceptions
The calendar rule is simple. Every 30 days, re-estimate factor loadings on a rolling 252-day window, recompute target weights, and trade the basket back to target regardless of how far it has drifted.
On the illustrative basket — 60% small-cap industrials ETF, 40% across two liquid single names, blended β ~1.59 — monthly rebalancing holds realized beta within ±0.07 of target. Annualized tracking error runs ~3.1%. The options overlay stays at its intended delta because the underlier does not wander.
Pros:
- Tracking error is minimized and predictable: 2.8–3.4% annualized across most 12-month windows.
- Operations are trivial to schedule. Re-estimation, trade list, and options roll happen on the same cycle.
- Factor drift never compounds. A loading that moves in month one gets corrected in month one.
Cons:
- Two-thirds of the tickets are noise trades. In our sample, 7–8 of 12 annual rebalances corrected drifts smaller than 0.08 — inside the beta’s own estimation error (~0.10 standard error on a 252-day window).
- Cost scales linearly with frequency. $12,800 per year is 0.75% of basket notional, deducted directly from net carry. In a low-IV regime where premium compresses, that 75 bps matters.
- Each rebalance forces an options decision. If the rebalance moves basket delta, the short-call strikes no longer sit at 30Δ. You either accept the skew or pay to adjust.
Calendar works when tracking precision is worth more than the ticket cost — large baskets, tight hedge mandates, or periods where factor loadings are visibly unstable.
Threshold Rebalancing: Trade Only When Δβ > 0.15
The threshold rule ignores the calendar. Re-estimate beta on the same rolling window, but transact only when |β_realized − β_target| exceeds 0.15 on any retained factor.
On the same basket, the 0.15 trigger fires 3–5 times per year. Turnover per ticket is larger — ~25% instead of 18% — so each trade costs ~$1,050. Four trades total ~$4,200. Savings versus monthly: ~$8,600.
The cost is slippage between breaches. Beta wanders up to 0.15 before anyone acts, so the basket spends most of the year 0.05–0.12 off target. Annualized tracking error rises to ~4.4%, ~130 bps wider than calendar.
Pros:
- Cuts transaction cost by 60–70%. The savings drop straight to net carry.
- Filters estimation noise. Drifts below 0.10 are usually regression wobble, not real factor rotation. The threshold refuses to pay spread to chase them.
- Fewer disruptions to the options overlay. Short calls stay at their intended delta for longer stretches.
Cons:
- Breaches cluster in stress. When correlations break, two or three legs breach at once and the trade is large, urgent, and priced into wide spreads. Stress tickets run 45–60 bps, not 35.
- Silent drift in secondary factors. Market beta can hold while the sector loading (0.48 in the example) slides 0.12 without tripping the rule.
- Monitoring cost remains. You still re-estimate weekly or the trigger is stale. The saving is in tickets, not analytics.
Threshold works when the basket is expensive to trade relative to the cost of being slightly off — wide-spread single-name legs, small notional where fixed ticket costs dominate, or stable factor regimes.
Transaction Cost vs. Tracking Error
Same $1.70M basket, 35 bps normal / 50 bps stress all-in cost, 252-day rolling beta, 3-year sample:
| Regime | Trades / yr | Avg turnover / trade | Annual cost | Annual tracking error | Max observed Δβ |
|---|---|---|---|---|---|
| Monthly calendar | 12 | 18% | ~$12,800 (0.75%) | ~3.1% | 0.09 |
| Threshold Δβ > 0.10 | 6–7 | 21% | ~$7,400 (0.44%) | ~3.7% | 0.13 |
| Threshold Δβ > 0.15 | 3–5 | 25% | ~$4,200 (0.25%) | ~4.4% | 0.19 |
| Threshold Δβ > 0.20 | 2–3 | 31% | ~$2,900 (0.17%) | ~5.6% | 0.27 |
| Hybrid: check weekly, trade on Δβ > 0.15 | 3–5 | 23% | ~$4,000 (0.24%) | ~3.9% | 0.16 |
Two patterns matter. First, cost falls fast from monthly to Δβ > 0.15, then flattens — loosening to 0.20 saves only another $1,300 while tracking error jumps 120 bps. Diminishing returns past 0.15. Second, tightening to 0.10 recovers about half the tracking gap but gives back more than half the cost saving. The 0.15 level sits at the knee of the curve.
Translate to proxy basket maintenance: every 100 bps of tracking error on a 78%-R² proxy leaks roughly 40–60 bps of hedge efficiency on the downside leg. Paying $8,600 to tighten tracking by 130 bps is worth it only if the hedge leg is doing heavy work — elevated vol or a known catalyst window.
The Hybrid: Check Weekly, Transact Only on Breach
Run both clocks. Re-estimate every week. Trade only when the threshold trips.
Concretely:
- Weekly check, Friday close. Rolling 252-day OLS on the same factor set (t > 2.0). Compute Δβ per leg. Compute time only, no trades.
- Trade trigger: Δβ > 0.15 on any retained factor, or basket-level drift > 0.15. Evaluated weekly, breaches are caught within days. That is why hybrid tracking (~3.9%) beats monthly-evaluated threshold (~4.4%) at the same ticket count — smaller drift per trade (23% vs. 25% turnover).
- Hard stop: 45-day maximum hold. If no breach fires for 45 days, force a review. Rebalance if aggregate secondary-factor drift exceeds 0.20 even with no single-leg breach.
- Options alignment. After any basket trade that moved beta by more than 0.10, roll the 30Δ short calls to restore −0.05 to −0.10 net bias. No trade, no roll.
Annual cost lands at ~$4,000 (0.24% of notional). Tracking error at ~3.9% splits the difference between calendar and threshold — ~$8,800 preserved per year versus monthly at a cost of ~80 bps of tracking.
What to Implement
If the single-name legs trade at spreads under 10 bps and ADV exceeds 50× allocated notional, monthly calendar is defensible. For everything else — specifically $1–3M proxy baskets where single-name spreads run 15–30 bps — use the hybrid: weekly estimation, 0.15 breach trigger, 45-day hard-stop review.
Set the trigger in code, not in a calendar reminder. Beta drift does not respect month-end.