Trading Dev AcademyFree quant education

Free lesson · Fund operations & capstone

Match portfolio liquidity to funding promises

Open interactive lessonPractice calculationsExplore labs

Start with the idea

A solvent fund can still run out of cash before it can sell assets. Liquidity analysis links position size, market capacity, margin demands and investor withdrawals on the same calendar.

Symbols, units & horizon
  • Qᵢ: signed holding quantity
  • |Qᵢ|: liquidation quantity magnitude
  • pᵢ: assumed fraction of daily volume that can be traded
  • ADVᵢ: average daily volume in matching instrument units
  • Days: trading days under a constant-volume approximation
  • Available cash: immediately usable currency
  • Stressed margin: scenario margin requirement
  • Scheduled outflows: currency obligations
  • Cash buffer: currency remaining after those uses

When and why to use this

Use days-to-liquidate and stressed cash buffers before sizing less liquid strategies. Recompute under joint volume and margin shocks.

days to liquidatei≈|Qi|piADVi
Algebra and arithmetic

Divide the position by daily execution capacity

  1. Daily capacity at participation fraction p is p×ADV in units/day. Dividing position units by this capacity gives days.
  2. Rearrange to Qmax=DmaxpADV for a liquidation-horizon constraint. Round up when planning complete whole trading days.
Work it by hand

Q=1m shares, ADV=500,000,p=.1 → 20 days. If volume halves, the estimate becomes 40 days before impact.

Q is the number of units held, ADV is average daily volume in the same units, and p is the allowed participation fraction. This estimate assumes stable volume, ignores price impact, and can be very optimistic in a stress. Short books additionally depend on borrow and margin conditions.

cash buffer=available cash−stressed margin−scheduled outflows
Algebra and arithmetic

Balance stressed cash uses against available cash

  1. Begin with cash that can actually be accessed by the deadline. Subtract required stressed margin and scheduled outflows.
  2. If buffer B is negative, required additional funding or asset-sale cash is −B. Do not count collateral twice as both free cash and already posted margin.
Work it by hand

Cash $3m, stressed margin $2m, outflows $1.5m gives buffer −$.5m: a $500,000 funding need.

A positive accounting NAV does not ensure enough cash to meet a margin call today. Redemption terms, financing tenor, collateral eligibility, counterparty concentration, and market liquidity must be assessed together. Model several stresses jointly rather than assuming that normal daily trading capacity persists.

  • Map positions into liquidation buckets using both ordinary and stressed assumptions.
  • Separate committed cash obligations from contingent margin and borrow demands.
  • Specify valuation escalation for stale or disputed prices and independent oversight for hard-to-value positions.

Python implementation

Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.

def liquidation_days(quantity, daily_volume, participation):
    if daily_volume <= 0 or not 0 < participation <= 1:
        raise ValueError("Positive volume and participation in (0,1] required")
    return abs(quantity)/(participation*daily_volume)

def stressed_cash_buffer(available_cash, stressed_margin, scheduled_outflows):
    return available_cash-stressed_margin-scheduled_outflows

print(liquidation_days(500000,1000000,.1), stressed_cash_buffer(1e6,6e5,3e5))

Continue learning

Fund Operations & Investment Committee — all lessons
  1. Reconcile the fund before reporting its return
  2. Model fees and high-water marks explicitly
  3. Match portfolio liquidity to funding promises
  4. Capstone: defend a complete hypothetical fund

Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations