Skip to main content
aifinhub

Worked example

Running the shipped statistical-arbitrage-capacity engine on the input below produces exactly this output. Continuous integration recomputes it against the engine bundle on every build, so these numbers cannot drift from the code.

Input

{
  "tool": "statistical-arbitrage-capacity",
  "signal_half_life_days": 5,
  "daily_volume_usd": 50000000,
  "slippage_bps": 3,
  "fee_bps": 1,
  "target_sharpe": 2,
  "alpha_per_trade_bps": 12,
  "impact_k": 0.2,
  "trading_days": 252
}

Output43 lines

{
  "maxAum": 800,
  "practicalAum": 50,
  "tradesPerYear": 50.4,
  "capacityCurve": [
    {
      "slippageBps": 0,
      "aum": 1512.4999999999998
    },
    {
      "slippageBps": 1,
      "aum": 1250
    },
    {
      "slippageBps": 2,
      "aum": 1012.4999999999999
    },
    {
      "slippageBps": 3,
      "aum": 800
    },
    {
      "slippageBps": 5,
      "aum": 449.99999999999994
    },
    {
      "slippageBps": 8,
      "aum": 112.49999999999999
    },
    {
      "slippageBps": 12,
      "aum": 0
    },
    {
      "slippageBps": 18,
      "aum": 0
    },
    {
      "slippageBps": 25,
      "aum": 0
    }
  ]
}

Frequently asked questions

What does the Statistical Arbitrage Capacity methodology page document?
Square-root impact derivation, breakeven AUM equation, and references for the AI Fin Hub Statistical Arbitrage Capacity calculator. It states the formulas, assumptions, data sources, limitations, and reproducibility steps behind the Statistical Arbitrage Capacity, in the Finance category.
When was the Statistical Arbitrage Capacity methodology last reviewed?
This methodology was last reviewed on 2026-05-08. The matching tool is at https://aifinhub.io/statistical-arbitrage-capacity/.
Are the Statistical Arbitrage Capacity numbers reproducible?
Yes. This page embeds a worked example whose output is the verbatim result of running the shipped statistical-arbitrage-capacity engine on a fixed input; the embedded JSON is recomputed and diffed against the engine in CI, so the numbers cannot drift from the code.

Methodology · Tool · Last updated 2026-05-08

How Statistical Arbitrage Capacity works

How the Statistical Arbitrage Capacity calculator turns signal half-life and impact into a maximum-AUM estimate.

Square-root impact

The dominant empirical pattern across equity, futures, and crypto markets is square-root market-impact — first formalised in Almgren-Chriss (2000) and confirmed across thousands of trades by Frazzini-Israel-Moskowitz (2018):

impact_bps ≈ K · √( participation )
participation = traded_notional / daily_volume

The constant K ranges 0.10–0.30 across studies. We default to K = 0.20.

Breakeven AUM

Capacity is defined as the AUM at which gross alpha equals friction:

α_per_trade = slippage + fees + K · √(participation)
participation* = ( (α − slippage − fees) / K )²
AUM_max = participation* · daily_volume

The "practical AUM" is the same calculation with the LHS reduced by 50% — the AUM where net alpha is half of gross.

Trades per year and half-life

trades_per_year ≈ trading_days / half_life_days

Capacity is calculated per trade, not per year — turnover is implicit in the participation constraint.

References

  • Kyle, A. S. (1985). "Continuous auctions and insider trading." Econometrica 53(6): 1315–1335. DOI: 10.2307/1913210.
  • Almgren, R., Chriss, N. (2000). "Optimal execution of portfolio transactions." Journal of Risk 3(2): 5–39.
  • Frazzini, A., Israel, R., Moskowitz, T. J. (2018). "Trading costs." SSRN 3229719.
  • Bouchaud, J.-P., Farmer, J. D., Lillo, F. (2009). "How markets slowly digest changes in supply and demand." Handbook of Financial Markets: 57–160.

Limitations

  • Ignores market regime — capacity shrinks dramatically in stressed markets.
  • Single-name input; multi-name strategies have correlated impact that requires a portfolio-level model.
  • Impact constant K is asset-class-dependent; verify K against your live execution data.

External resources