{
  "$schema": "https://hedgefund.wiki/api/schema.json#/definitions/Formula",
  "endpoint": "https://hedgefund.wiki/api/formulas.json",
  "version": "2026.05.0",
  "description": "Quantitative formulas used across hedge fund analysis. Each entry has LaTeX source, ASCII plain-text, named variables, intuition, derivation notes, edge cases, and a worked example.",
  "count": 32,
  "formulas": [
    {
      "id": "sharpe-ratio",
      "name": "Sharpe Ratio",
      "category": "quantitative-methods",
      "summary": "Excess return per unit of total volatility.",
      "latex": "S = \\frac{R_p - R_f}{\\sigma_p}",
      "plain_text": "S = (R_p - R_f) / sigma_p",
      "variables": [
        { "symbol": "R_p", "name": "Portfolio return", "description": "Mean periodic return of the portfolio.", "unit": "decimal" },
        { "symbol": "R_f", "name": "Risk-free rate", "description": "Periodic risk-free rate (T-bill, OIS, SOFR).", "unit": "decimal" },
        { "symbol": "σ_p", "name": "Portfolio standard deviation", "description": "Standard deviation of excess periodic returns.", "unit": "decimal" }
      ],
      "intuition": "Reward per unit of risk. Higher = better risk-adjusted performance.",
      "assumptions": ["Returns are i.i.d. and approximately normal", "Volatility is a complete summary of risk"],
      "edge_cases": [
        "Skewed return distributions distort Sharpe — use Sortino or Omega.",
        "Illiquid books' reported σ is artificially low (autocorrelated returns) — Sharpe is overstated.",
        "Annualize by multiplying by √(periods per year) only if returns are i.i.d."
      ],
      "worked_example": {
        "given": { "monthly_R_p": 0.012, "monthly_R_f": 0.003, "monthly_sigma_p": 0.018 },
        "steps": [
          "Compute monthly excess return: 0.012 − 0.003 = 0.009",
          "Monthly Sharpe: 0.009 / 0.018 = 0.50",
          "Annualize: 0.50 × √12 = 1.73"
        ],
        "result": "Annualized Sharpe ≈ 1.73"
      },
      "related_terms": [{ "type": "term", "id": "sharpe-ratio" }],
      "see_also": [{ "type": "formula", "id": "sortino-ratio" }, { "type": "formula", "id": "calmar-ratio" }],
      "first_published": { "year": 1966, "by": "William F. Sharpe" }
    },
    {
      "id": "sortino-ratio",
      "name": "Sortino Ratio",
      "category": "quantitative-methods",
      "summary": "Excess return per unit of downside deviation.",
      "latex": "S_o = \\frac{R_p - T}{\\sigma_d}, \\quad \\sigma_d = \\sqrt{\\frac{1}{N}\\sum_{t} \\min(R_t - T, 0)^2}",
      "plain_text": "Sortino = (R_p - T) / sigma_d",
      "variables": [
        { "symbol": "R_p", "name": "Portfolio return", "description": "Mean return", "unit": "decimal" },
        { "symbol": "T", "name": "Target return", "description": "Minimum acceptable return (often 0 or R_f)", "unit": "decimal" },
        { "symbol": "σ_d", "name": "Downside deviation", "description": "RMS of returns below target", "unit": "decimal" }
      ],
      "intuition": "Penalize only the bad volatility — don't punish a strategy for upside.",
      "related_terms": [{ "type": "term", "id": "sortino-ratio" }],
      "see_also": [{ "type": "formula", "id": "sharpe-ratio" }],
      "first_published": { "year": 1991, "by": "Frank Sortino" }
    },
    {
      "id": "calmar-ratio",
      "name": "Calmar Ratio",
      "category": "quantitative-methods",
      "summary": "Annualized return divided by absolute max drawdown.",
      "latex": "C = \\frac{\\text{Annualized Return}}{|MDD|}",
      "plain_text": "Calmar = Annualized Return / |MDD|",
      "variables": [
        { "symbol": "MDD", "name": "Maximum drawdown", "description": "Largest peak-to-trough decline over period", "unit": "decimal" }
      ],
      "intuition": "Return per unit of worst-case loss. Speaks to investors who fear drawdowns more than wiggles.",
      "related_terms": [{ "type": "term", "id": "calmar-ratio" }, { "type": "term", "id": "max-drawdown" }],
      "first_published": { "year": 1991, "by": "Terry W. Young" }
    },
    {
      "id": "information-ratio",
      "name": "Information Ratio",
      "category": "quantitative-methods",
      "summary": "Active return over benchmark per unit of tracking error.",
      "latex": "IR = \\frac{R_p - R_b}{\\sigma(R_p - R_b)}",
      "plain_text": "IR = (R_p - R_b) / TE",
      "variables": [
        { "symbol": "R_p", "name": "Portfolio return", "description": "Periodic portfolio return", "unit": "decimal" },
        { "symbol": "R_b", "name": "Benchmark return", "description": "Periodic benchmark return", "unit": "decimal" },
        { "symbol": "σ(R_p − R_b)", "name": "Tracking error", "description": "Standard deviation of active returns", "unit": "decimal" }
      ],
      "intuition": "Sharpe of relative performance. Grinold's law: IR ≈ IC × √breadth.",
      "related_terms": [{ "type": "term", "id": "information-ratio" }, { "type": "term", "id": "tracking-error" }]
    },
    {
      "id": "jensens-alpha",
      "name": "Jensen's Alpha",
      "category": "quantitative-methods",
      "summary": "Excess return over the CAPM-predicted return given the portfolio's beta.",
      "latex": "\\alpha = R_p - [R_f + \\beta(R_m - R_f)]",
      "plain_text": "alpha = R_p - [R_f + beta * (R_m - R_f)]",
      "variables": [
        { "symbol": "R_p", "name": "Portfolio return" },
        { "symbol": "R_f", "name": "Risk-free rate" },
        { "symbol": "R_m", "name": "Market return" },
        { "symbol": "β", "name": "Portfolio beta" }
      ],
      "intuition": "What the portfolio earned above what its beta should have earned.",
      "related_terms": [{ "type": "term", "id": "alpha" }, { "type": "term", "id": "beta" }],
      "first_published": { "year": 1968, "by": "Michael C. Jensen" }
    },
    {
      "id": "beta-regression",
      "name": "Beta",
      "category": "quantitative-methods",
      "summary": "Slope of regression of asset returns on market returns.",
      "latex": "\\beta = \\frac{\\mathrm{Cov}(R_i, R_m)}{\\mathrm{Var}(R_m)}",
      "plain_text": "beta = Cov(R_i, R_m) / Var(R_m)",
      "variables": [
        { "symbol": "R_i", "name": "Asset return" },
        { "symbol": "R_m", "name": "Market return" }
      ],
      "intuition": "Sensitivity of the asset to the market. β=1 moves with the market; β=0 is independent.",
      "related_terms": [{ "type": "term", "id": "beta" }]
    },
    {
      "id": "treynor-ratio",
      "name": "Treynor Ratio",
      "category": "quantitative-methods",
      "summary": "Excess return per unit of systematic (beta) risk.",
      "latex": "T = \\frac{R_p - R_f}{\\beta_p}",
      "plain_text": "T = (R_p - R_f) / beta_p",
      "variables": [
        { "symbol": "R_p", "name": "Portfolio return" },
        { "symbol": "R_f", "name": "Risk-free rate" },
        { "symbol": "β_p", "name": "Portfolio beta" }
      ],
      "intuition": "Use when idiosyncratic risk is diversified away — only β matters.",
      "related_terms": [{ "type": "term", "id": "treynor-ratio" }]
    },
    {
      "id": "parametric-var",
      "name": "Parametric (Variance-Covariance) VaR",
      "category": "risk-management",
      "summary": "Closed-form VaR assuming normal portfolio returns.",
      "latex": "\\text{VaR}_{\\alpha} = -\\mu + z_{\\alpha} \\cdot \\sigma",
      "plain_text": "VaR_alpha = -mu + z_alpha * sigma",
      "variables": [
        { "symbol": "μ", "name": "Mean return", "description": "Often assumed 0 for short horizons" },
        { "symbol": "σ", "name": "Portfolio volatility" },
        { "symbol": "z_α", "name": "Standard-normal quantile", "description": "z_0.95 = 1.645, z_0.99 = 2.326" }
      ],
      "intuition": "Convert volatility into a tail-loss number under the normal assumption.",
      "edge_cases": [
        "Massively underestimates VaR for fat-tailed strategies (credit, commodities, vol).",
        "Ignores skewness and tail dependence."
      ],
      "worked_example": {
        "given": { "portfolio_USD": 100000000, "daily_sigma": 0.012, "confidence": 0.99 },
        "steps": [
          "z_0.99 = 2.326",
          "VaR = $100m × 0.012 × 2.326 = $2,791,200"
        ],
        "result": "1-day 99% VaR ≈ $2.79m"
      },
      "related_terms": [{ "type": "term", "id": "value-at-risk" }]
    },
    {
      "id": "expected-shortfall",
      "name": "Expected Shortfall",
      "category": "risk-management",
      "summary": "Average loss in the worst (1−α) percent of cases.",
      "latex": "\\mathrm{ES}_\\alpha = \\frac{1}{1-\\alpha} \\int_{\\alpha}^{1} \\text{VaR}_u \\, du",
      "plain_text": "ES_alpha = (1/(1-alpha)) * integral_alpha^1 VaR_u du",
      "variables": [
        { "symbol": "α", "name": "Confidence level", "description": "e.g., 0.975 for Basel III FRTB" }
      ],
      "intuition": "How bad is bad? VaR tells you the threshold; ES tells you the average beyond it.",
      "related_terms": [{ "type": "term", "id": "expected-shortfall" }, { "type": "term", "id": "value-at-risk" }]
    },
    {
      "id": "max-drawdown",
      "name": "Maximum Drawdown",
      "category": "risk-management",
      "summary": "Largest peak-to-trough decline in NAV over a window.",
      "latex": "MDD = \\max_{t \\in [0,T]}\\, \\max_{s \\le t}\\, \\frac{V_s - V_t}{V_s}",
      "plain_text": "MDD = max over t of [max over s<=t of (V_s - V_t) / V_s]",
      "variables": [{ "symbol": "V_t", "name": "NAV at time t" }],
      "intuition": "Worst pain ever felt by an investor in this strategy.",
      "related_terms": [{ "type": "term", "id": "max-drawdown" }]
    },
    {
      "id": "ulcer-index",
      "name": "Ulcer Index",
      "category": "risk-management",
      "summary": "Quadratic mean of percentage drawdowns from running peaks.",
      "latex": "UI = \\sqrt{\\frac{1}{N}\\sum_{t=1}^{N} D_t^2}, \\quad D_t = \\frac{V_t - \\max_{s \\le t} V_s}{\\max_{s \\le t} V_s} \\times 100",
      "plain_text": "UI = sqrt(mean(D_t^2))",
      "variables": [{ "symbol": "D_t", "name": "Drawdown from running high (%)" }],
      "intuition": "Captures depth and duration of drawdowns, not just the worst point.",
      "related_terms": [{ "type": "term", "id": "ulcer-index" }],
      "first_published": { "year": 1987, "by": "Peter G. Martin & Byron B. McCann" }
    },
    {
      "id": "kelly-criterion",
      "name": "Kelly Criterion (continuous form)",
      "category": "portfolio-construction",
      "summary": "Bet size that maximizes long-run log wealth.",
      "latex": "f^* = \\frac{\\mu - r}{\\sigma^2}",
      "plain_text": "f* = (mu - r) / sigma^2",
      "variables": [
        { "symbol": "μ", "name": "Expected return" },
        { "symbol": "r", "name": "Risk-free rate" },
        { "symbol": "σ²", "name": "Variance of return" }
      ],
      "intuition": "Risk-adjusted growth-optimal bet size. Halve it for psychological survivability (half-Kelly).",
      "related_terms": [{ "type": "term", "id": "kelly-criterion" }]
    },
    {
      "id": "black-scholes",
      "name": "Black-Scholes Call",
      "category": "derivatives-options",
      "summary": "Closed-form European call price under geometric Brownian underlying.",
      "latex": "C = S_0 \\Phi(d_1) - K e^{-rT} \\Phi(d_2), \\quad d_1 = \\frac{\\ln(S_0/K) + (r + \\sigma^2/2)T}{\\sigma\\sqrt{T}}, \\quad d_2 = d_1 - \\sigma\\sqrt{T}",
      "plain_text": "C = S * N(d1) - K * exp(-rT) * N(d2)",
      "variables": [
        { "symbol": "S_0", "name": "Spot price" },
        { "symbol": "K", "name": "Strike" },
        { "symbol": "r", "name": "Risk-free rate" },
        { "symbol": "σ", "name": "Volatility" },
        { "symbol": "T", "name": "Time to expiry (years)" },
        { "symbol": "Φ", "name": "Standard normal CDF" }
      ],
      "intuition": "Replicating portfolio: Δ shares of stock financed by borrowing K·exp(-rT)·N(d2). The hedge ratio Δ = N(d1).",
      "assumptions": ["Constant σ and r", "No dividends (or continuous yield q)", "Continuous trading", "Log-normal returns", "No frictions"],
      "edge_cases": [
        "Vol smile shows the constant-σ assumption is wrong — practitioners invert BS to quote in implied-vol terms.",
        "American options require numerical methods (binomial, PSOR, LSM)."
      ],
      "related_terms": [{ "type": "term", "id": "black-scholes" }, { "type": "term", "id": "implied-volatility" }],
      "first_published": { "year": 1973, "by": "Fischer Black, Myron Scholes; extended by Robert Merton" }
    },
    {
      "id": "delta-bs-call",
      "name": "Black-Scholes Delta (Call)",
      "category": "derivatives-options",
      "summary": "First derivative of call price with respect to spot.",
      "latex": "\\Delta_{call} = \\Phi(d_1)",
      "plain_text": "Delta_call = N(d1)",
      "variables": [{ "symbol": "d_1", "name": "Black-Scholes d1 term" }],
      "intuition": "Hedge ratio: shares of stock per option to maintain delta neutrality.",
      "related_terms": [{ "type": "term", "id": "delta" }]
    },
    {
      "id": "gamma-bs",
      "name": "Black-Scholes Gamma",
      "category": "derivatives-options",
      "summary": "Second derivative of option price with respect to spot.",
      "latex": "\\Gamma = \\frac{\\phi(d_1)}{S\\sigma\\sqrt{T}}",
      "plain_text": "Gamma = phi(d1) / (S * sigma * sqrt(T))",
      "variables": [
        { "symbol": "φ(d_1)", "name": "Standard normal PDF at d1" },
        { "symbol": "S", "name": "Spot" }
      ],
      "intuition": "Convexity of option payoff. Maximum at the strike.",
      "related_terms": [{ "type": "term", "id": "gamma" }]
    },
    {
      "id": "vega-bs",
      "name": "Black-Scholes Vega",
      "category": "derivatives-options",
      "summary": "Derivative of option price with respect to volatility.",
      "latex": "\\nu = S\\sqrt{T} \\, \\phi(d_1)",
      "plain_text": "Vega = S * sqrt(T) * phi(d1)",
      "variables": [
        { "symbol": "S", "name": "Spot price" },
        { "symbol": "T", "name": "Time to expiry (years)" },
        { "symbol": "φ(d_1)", "name": "Standard normal PDF at d1" }
      ],
      "intuition": "Dollar P&L per 1 vol point change. Maximum for ATM, longer-dated options.",
      "related_terms": [{ "type": "term", "id": "vega" }]
    },
    {
      "id": "duration-modified",
      "name": "Modified Duration",
      "category": "fixed-income-credit",
      "summary": "Approximates % price change of a bond per 1% rate change.",
      "latex": "D_{mod} = \\frac{D_{Mac}}{1 + y/n}, \\quad \\frac{\\Delta P}{P} \\approx -D_{mod} \\Delta y",
      "plain_text": "D_mod = D_Mac / (1 + y/n);  dP/P ~ -D_mod * dy",
      "variables": [
        { "symbol": "D_Mac", "name": "Macaulay duration" },
        { "symbol": "y", "name": "Yield to maturity" },
        { "symbol": "n", "name": "Compounding periods per year" }
      ],
      "related_terms": [{ "type": "term", "id": "duration" }]
    },
    {
      "id": "convexity",
      "name": "Convexity",
      "category": "fixed-income-credit",
      "summary": "Second-order rate sensitivity of bond price.",
      "latex": "C = \\frac{1}{P}\\sum_{t=1}^{N} \\frac{t(t+1) \\, CF_t}{(1+y)^{t+2}}, \\quad \\frac{\\Delta P}{P} \\approx -D_{mod}\\Delta y + \\frac{1}{2} C (\\Delta y)^2",
      "plain_text": "Price change ~ -D_mod * dy + 0.5 * C * (dy)^2",
      "variables": [
        { "symbol": "CF_t", "name": "Cash flow at time t" },
        { "symbol": "y", "name": "Yield" }
      ],
      "intuition": "Curvature of the price-yield relationship. Long convexity = profit from rate volatility.",
      "related_terms": [{ "type": "term", "id": "convexity" }]
    },
    {
      "id": "yield-to-maturity",
      "name": "Yield to Maturity",
      "category": "fixed-income-credit",
      "summary": "The IRR of a bond's cash flows that equates PV to current price.",
      "latex": "P = \\sum_{t=1}^{N}\\frac{CF_t}{(1+y)^t}",
      "plain_text": "P = sum(CF_t / (1+y)^t)",
      "variables": [
        { "symbol": "P", "name": "Bond price (PV)" },
        { "symbol": "CF_t", "name": "Cash flow at time t" },
        { "symbol": "y", "name": "Yield to maturity (per period)" },
        { "symbol": "N", "name": "Number of cash-flow periods" }
      ],
      "intuition": "What you earn if you hold the bond to maturity and reinvest coupons at y."
    },
    {
      "id": "cds-pricing",
      "name": "CDS Spread (simplified)",
      "category": "fixed-income-credit",
      "summary": "Annual CDS premium implied by default probability and recovery.",
      "latex": "s \\approx p \\cdot (1 - R)",
      "plain_text": "spread ~ default_probability * (1 - recovery)",
      "variables": [
        { "symbol": "s", "name": "CDS spread (annual)" },
        { "symbol": "p", "name": "Annual default probability (risk-neutral)" },
        { "symbol": "R", "name": "Recovery rate" }
      ],
      "intuition": "Premium compensates for expected loss given default times the probability of default.",
      "related_terms": [{ "type": "term", "id": "credit-default-swap" }]
    },
    {
      "id": "merton-distance-default",
      "name": "Merton Distance to Default",
      "category": "fixed-income-credit",
      "summary": "Standard deviations between firm asset value and default threshold.",
      "latex": "DD = \\frac{\\ln(V/D) + (\\mu_V - \\sigma_V^2/2)T}{\\sigma_V \\sqrt{T}}",
      "plain_text": "DD = [ln(V/D) + (mu - sigma^2/2)*T] / (sigma * sqrt(T))",
      "variables": [
        { "symbol": "V", "name": "Firm asset value" },
        { "symbol": "D", "name": "Default barrier (face debt)" },
        { "symbol": "μ_V", "name": "Drift of assets" },
        { "symbol": "σ_V", "name": "Volatility of assets" }
      ],
      "intuition": "How many standard deviations the firm sits above default. EDF = N(−DD).",
      "first_published": { "year": 1974, "by": "Robert C. Merton" }
    },
    {
      "id": "geometric-brownian-motion",
      "name": "Geometric Brownian Motion",
      "category": "quantitative-methods",
      "summary": "The continuous-time price process underlying Black-Scholes.",
      "latex": "dS_t = \\mu S_t \\, dt + \\sigma S_t \\, dW_t",
      "plain_text": "dS = mu*S*dt + sigma*S*dW",
      "variables": [
        { "symbol": "S_t", "name": "Asset price at time t" },
        { "symbol": "μ", "name": "Drift" },
        { "symbol": "σ", "name": "Volatility" },
        { "symbol": "dW", "name": "Wiener increment" }
      ],
      "intuition": "Log-returns are normal with mean (μ−σ²/2)dt and variance σ²dt.",
      "edge_cases": [
        "Returns are not log-normal in practice — fat tails, jumps, vol clustering.",
        "Negative interest rates break GBM-based rate models — Vasicek/HW preferred."
      ]
    },
    {
      "id": "ornstein-uhlenbeck",
      "name": "Ornstein-Uhlenbeck Process",
      "category": "quantitative-methods",
      "summary": "Continuous-time mean-reverting stochastic process.",
      "latex": "dX_t = \\theta(\\mu - X_t)\\,dt + \\sigma\\,dW_t",
      "plain_text": "dX = theta*(mu - X)*dt + sigma*dW",
      "variables": [
        { "symbol": "θ", "name": "Mean-reversion speed" },
        { "symbol": "μ", "name": "Long-run mean" },
        { "symbol": "σ", "name": "Volatility" }
      ],
      "intuition": "Used for spreads, vol, rates. Half-life of mean reversion = ln(2)/θ.",
      "related_terms": [{ "type": "term", "id": "ornstein-uhlenbeck" }]
    },
    {
      "id": "vasicek-rate",
      "name": "Vasicek Short-Rate Model",
      "category": "fixed-income-credit",
      "summary": "Mean-reverting Gaussian short-rate model.",
      "latex": "dr_t = a(b - r_t)\\,dt + \\sigma \\, dW_t",
      "plain_text": "dr = a*(b - r)*dt + sigma*dW",
      "variables": [
        { "symbol": "a", "name": "Mean-reversion speed" },
        { "symbol": "b", "name": "Long-run mean rate" },
        { "symbol": "σ", "name": "Rate volatility" }
      ],
      "edge_cases": ["Allows negative rates (a feature post-2014, an annoyance pre-2014)."],
      "first_published": { "year": 1977, "by": "Oldřich Vašíček" }
    },
    {
      "id": "garch-1-1",
      "name": "GARCH(1,1)",
      "category": "quantitative-methods",
      "summary": "Conditional variance with persistent volatility clustering.",
      "latex": "\\sigma_t^2 = \\omega + \\alpha \\epsilon_{t-1}^2 + \\beta \\sigma_{t-1}^2",
      "plain_text": "sigma^2_t = omega + alpha*eps^2_{t-1} + beta*sigma^2_{t-1}",
      "variables": [
        { "symbol": "ω", "name": "Long-run variance constant" },
        { "symbol": "α", "name": "ARCH coefficient (shock impact)" },
        { "symbol": "β", "name": "GARCH coefficient (volatility persistence)" }
      ],
      "edge_cases": [
        "α + β < 1 required for stationarity; α + β ≈ 1 is the IGARCH case (RiskMetrics EWMA)."
      ],
      "first_published": { "year": 1986, "by": "Tim Bollerslev (extending Engle 1982)" }
    },
    {
      "id": "ewma-volatility",
      "name": "Exponentially-Weighted Moving Average Variance",
      "category": "quantitative-methods",
      "summary": "RiskMetrics-style variance with exponential decay.",
      "latex": "\\sigma_t^2 = \\lambda \\sigma_{t-1}^2 + (1-\\lambda) r_{t-1}^2",
      "plain_text": "sigma^2_t = lambda*sigma^2_{t-1} + (1-lambda)*r^2_{t-1}",
      "variables": [
        { "symbol": "λ", "name": "Decay parameter", "description": "Typical 0.94 for daily (RiskMetrics)" }
      ],
      "intuition": "Recent shocks weighted more than older ones — smoothing without long memory."
    },
    {
      "id": "almgren-chriss",
      "name": "Almgren-Chriss Optimal Execution",
      "category": "trading-execution",
      "summary": "Closed-form trading schedule that minimizes expected cost plus risk × variance of cost.",
      "latex": "x_t = X \\cdot \\frac{\\sinh(\\kappa(T - t))}{\\sinh(\\kappa T)}, \\quad \\kappa = \\sqrt{\\frac{\\lambda \\sigma^2}{\\eta}}",
      "plain_text": "x_t = X * sinh(kappa*(T-t)) / sinh(kappa*T)",
      "variables": [
        { "symbol": "X", "name": "Total shares to trade" },
        { "symbol": "T", "name": "Time horizon" },
        { "symbol": "η", "name": "Permanent impact coefficient" },
        { "symbol": "σ", "name": "Volatility" },
        { "symbol": "λ", "name": "Risk aversion" }
      ],
      "intuition": "Trade faster when risk-averse (high λ) or when impact is low (small η). Trade slower when patient.",
      "related_terms": [{ "type": "term", "id": "implementation-shortfall" }],
      "first_published": { "year": 2000, "by": "Robert Almgren & Neil Chriss" }
    },
    {
      "id": "kyle-lambda",
      "name": "Kyle's Lambda",
      "category": "market-microstructure",
      "summary": "Linear price impact coefficient from Kyle's (1985) microstructure model.",
      "latex": "\\Delta P = \\lambda \\cdot Q",
      "plain_text": "delta_P = lambda * Q",
      "variables": [
        { "symbol": "Q", "name": "Net order flow" },
        { "symbol": "λ", "name": "Price impact (illiquidity) coefficient" }
      ],
      "intuition": "Higher λ = thinner market. The slope at which a market maker shifts price for incremental flow.",
      "first_published": { "year": 1985, "by": "Albert S. Kyle" }
    },
    {
      "id": "amihud-illiquidity",
      "name": "Amihud Illiquidity Measure",
      "category": "market-microstructure",
      "summary": "Average absolute return per unit dollar volume.",
      "latex": "\\text{ILLIQ}_i = \\frac{1}{D_i}\\sum_{t=1}^{D_i} \\frac{|R_{i,t}|}{V_{i,t}}",
      "plain_text": "ILLIQ_i = mean(|R_t| / Volume_t)",
      "variables": [
        { "symbol": "R_t", "name": "Daily return" },
        { "symbol": "V_t", "name": "Daily dollar volume" }
      ],
      "intuition": "How much price moves per dollar traded. High illiquidity → high impact.",
      "first_published": { "year": 2002, "by": "Yakov Amihud" }
    },
    {
      "id": "fundamental-law-active-management",
      "name": "Grinold's Fundamental Law of Active Management",
      "category": "portfolio-construction",
      "summary": "Information ratio decomposes into information coefficient times the square root of breadth.",
      "latex": "IR \\approx IC \\cdot \\sqrt{N}",
      "plain_text": "IR ~ IC * sqrt(N)",
      "variables": [
        { "symbol": "IC", "name": "Information coefficient", "description": "Correlation between forecast and realized return" },
        { "symbol": "N", "name": "Breadth", "description": "Number of independent bets per year" }
      ],
      "intuition": "Skill (IC) × diversification (breadth) = risk-adjusted active return. The math reason quants seek breadth.",
      "first_published": { "year": 1989, "by": "Richard C. Grinold" }
    },
    {
      "id": "efficient-frontier",
      "name": "Markowitz Efficient Frontier (Tangency)",
      "category": "portfolio-construction",
      "summary": "Tangency portfolio weights with risky assets and a risk-free asset.",
      "latex": "w \\propto \\Sigma^{-1} (\\mu - r \\mathbf{1})",
      "plain_text": "w ~ Sigma^-1 * (mu - r * 1)",
      "variables": [
        { "symbol": "Σ", "name": "Covariance matrix" },
        { "symbol": "μ", "name": "Expected returns vector" },
        { "symbol": "r", "name": "Risk-free rate" }
      ],
      "intuition": "Optimal weights tilt toward higher Sharpe assets, downweight correlated ones. Notoriously sensitive to μ estimation error.",
      "first_published": { "year": 1952, "by": "Harry Markowitz" }
    },
    {
      "id": "irr-newton",
      "name": "Internal Rate of Return (IRR)",
      "category": "alternative-investments",
      "summary": "Discount rate that zeros NPV of a cash flow stream.",
      "latex": "0 = \\sum_{t=0}^{N} \\frac{CF_t}{(1+IRR)^t}",
      "plain_text": "0 = sum(CF_t / (1+IRR)^t)",
      "variables": [{ "symbol": "CF_t", "name": "Cash flow at period t" }],
      "intuition": "Annualized rate that makes the investment NPV-neutral.",
      "edge_cases": [
        "IRR may have multiple roots when cash flows change sign more than once.",
        "Assumes interim cash flows reinvest at IRR — Modified IRR (MIRR) corrects this."
      ],
      "related_terms": [{ "type": "term", "id": "irr" }]
    }
  ]
}
