FactorCapacity-Nirbhai

Reference

Methodology

The mathematics behind every number in the dashboard. Each section is self-contained.

1. Bid-ask spread (Corwin-Schultz)

Estimated from daily OHLC without requiring a quote tape. The two-day estimator is:

Rolling 21-day window, floored at zero. Where CS fails (insufficient intraday range, illiquid days), we fall back to an ADV-bucket regression:

2. Market impact (Almgren-Chriss + tail)

Per-name impact as a fraction of trade value, with a piecewise tail above 10% participation following Almgren et al. (2005):

with the participation, calibrated by AQR fills (Frazzini-Israel-Moskowitz 2018), and the threshold above which impact departs from the square-root law.

3. India NSE tax stack

STT, stamp, SEBI, exchange, GST stack on every leg of every trade:

For weekly rebalances, STT alone burns roughly 300 bps/yr — the policy optimiser correctly steers Indian factor sleeves toward monthly or quarterly rebalances.

4. Capacity zone classifier

zoneNet IRmax execution daysmax participation
safe≥ 0.5≤ 3< 3%
caution≥ 0.2≤ 5< 5%
red< 0.2> 5≥ 5%

5. Composite crowding score

Six components, each rolling-percentile-ranked against its own 3-year history:

6. Stress regime

Single-quantile snapshot. Replace each per-symbol parameter with its tail value:

Plus a one-shot 30%-redemption unwind in 5 days, costed under the same stressed market state. The unwind cost is reported as basis points of the AUM being shed.

7. Multi-factor allocation

Each is the per-factor net-return-vs-AUM curve (concave). Exhaustive grid search at 21 points per dimension, K=4 → 200k combinations < 100 ms. Coordinate descent for K>6.

8. ML — alpha decay forecast

State-space mean reversion with crowding as the regime covariate:

Fit by OLS on the stacked increments. Forecast 126 trading days forward by integrating the SDE deterministically and reporting a fan based on the residual RMSE scaled by .

9. ML — capacity ridge model

Closed-form ridge regression on five features (spread, vol, log ADV, crowding, gross IR) → log10(safe AUM). Lambda picked by leave-one-out CV on a fixed grid. Lets you predict safe AUM from current market state without re-running the full curve scan.

10. ML — regime classifier (GMM)

Three-component diagonal-covariance Gaussian mixture, fit by EM on standardised daily features (market vol, average pairwise correlation, median spread, log ADV). Components are post-hoc labelled by ranking the centroids on market vol — lowest = "calm", highest = "stressed".

References

  1. Almgren, Chriss (2000). "Optimal execution of portfolio transactions".
  2. Almgren et al. (2005). "Direct estimation of equity market impact".
  3. Lou, Polk (2013). "Comomentum: Inferring arbitrage activity".
  4. Drechsler, Drechsler (2014). "The shorting premium".
  5. Sias, Turtle, Zykaj (2016). "Hedge-fund crowds and mispricing".
  6. Arnott, Hsu, West (2017). "How can ‘smart beta’ go horribly wrong?".
  7. Asness, Friedman, Israel (2017). "Style timing: value vs growth".
  8. Frazzini, Israel, Moskowitz (2018). "Trading costs" (AQR).
  9. Corwin, Schultz (2012). "A simple way to estimate bid-ask spreads from daily high and low prices".
  10. Lou, Polk, Skouras (2019). "A tug of war: Overnight versus intraday returns".