Estimate liquidation time and liquidity cost
Use supported traded-volume history and explicit participation assumptions to inspect normal and stressed portfolio exit capacity.
Reviewed 2026-10-24 · Windows & macOS
On this page
Choose Liquidity and an inventory source#
Open Portfolio Results → Risk, then choose Liquidity. This is separate from Factor model. It uses a fixed research allocation or current account holdings and does not require a factor fit or an optimisation candidate.
The model estimates average-volume participation capacity, exit time and optional cost scenarios. It does not send liquidation orders. A strategy's historical return curve does not establish its current executable holdings, so saved strategy sleeves are not converted into inventory automatically.
View full-size screenshot ↗Configure a research or holdings calculation#
- In Setup, choose research allocation or current holdings and set the reporting currency.
- For research, enter portfolio value and exact assets with signed weights or native quantities. Supply contract multiplier where required. For holdings, choose the exact accounts and resolve valuation, history and supported conversion inputs.
- Set the exclusive history date and ADV sample length. The default sample is 60 completed expected sessions. Current broker positions require today's as-of date.
- Review participation, stressed volume/spread/volatility assumptions and optional cost inputs, including any assumed full spread.
- Choose Calculate liquidity or ⌘/Ctrl+Enter. Read coverage and unmodelled positions before interpreting Summary.
Copy from Factor Risk copies the allocation/account selection into an independent draft. Factor adjusted-reference quantities become weights using their saved reference valuation. Missing reference prices block the copy. Quantities entered directly in Liquidity mean native shares, futures contracts or crypto base units on that source's basis.
Use a source that measures traded quantity#
| Instrument/source | Admission and interpretation |
|---|---|
| Massive US equities/ETFs | Exact traded-share daily history with compatible split basis |
| Alpaca equities/ETFs | Consolidated SIP or delayed-SIP history with split-only adjustment; IEX/overnight-only cannot establish consolidated ADV |
| Spot crypto | Exact venue/pair base-unit daily volume with verified coverage; liquidity is venue-specific |
| Futures | Exact contract's traded-contract history and explicit daily-label convention; continuous series are excluded |
| CFDs, cTrader tick-volume instruments and indices | Tick counts/underlying proxies cannot establish executable traded-volume capacity |
| Forex | Explicitly excluded by this model |
Missing daily sessions are not invented as zero volume. An observed zero-volume session is a real input; a missing bar is absent evidence. Fractional native quantities remain fractional. A futures point value changes notional value, not the number of contracts traded in the volume series.
Historical Alpaca native-share quantities have an additional split-basis restriction; weight mode can preserve consistent historical ratios. Check the source-specific reason rather than changing only the reporting date to hide it.
Interpret capacity and exit time#
Capacity equals participation × average daily traded quantity. Exit time equals gross position quantity divided by that capacity. Fractional time assumes execution spread uniformly through a session; whole sessions round upward.
For example, an instrument with ADV of 100,000 shares and 10% participation has modelled daily capacity of 10,000 shares. A 25,000-share position takes 2.5 session equivalents, or three whole sessions. Halving stressed volume doubles that time if other assumptions remain fixed.
Positions sharing the same exact liquidity pool consume capacity together. Long and short quantities are grossed; the model does not assume cross-account netting. Identical crypto ticker text on different venues does not create one common volume pool.
Equity/futures sessions and crypto UTC days have different calendars. A mixed portfolio's horizon is a scenario index, not a promised calendar exit date. Zero ADV shows no capacity with absent time, rather than a zero-day liquidation or infinity.
Read Summary, Positions and Data#
Summary shows normal/stressed exit time, coverage, gross notional, optional costs, liquidation horizons, slowest positions and unmodelled exposure. Positions contains capacity/cost tables. Data exposes the dated source sessions, coverage and methodology notes.
Portfolio completion time is absent unless every nonempty position has finite modelled capacity. A separately labelled maximum among covered positions is not full-portfolio completion. Horizon percentages include known unmodelled/excluded exposure in their denominator and can be suppressed when valuation is missing.
FX exclusion does not mean FX has no liquidity risk. Likewise, cash/funding are excluded from saleable inventory; the model does not calculate funding availability, settlement delay or broker liquidation priority.
Treat cost assumptions as scenarios#
Defaults include 10% participation, half stressed volume, double stressed spread and 1.5× stressed volatility. The impact coefficient is editable and uncalibrated. Review these as assumptions rather than vendor forecasts.
The optional spread/impact model uses supplied full spread, measured daily volatility and square-root participation impact. Unknown spread or volatility leaves complete cost absent; impact-only output remains identifiable. It excludes order-book resilience, cross-impact, permanent impact, price drift, fees, halts, funding and settlement effects. Recorded depth is a different data source and does not make this ADV model a full book simulation.
Retain and recover calculations#
Draft edits mark the retained result Out of date. Recalculate explicitly; navigation and remounting do not replace the dated receipt. Failed work keeps the last result, and late responses cannot overwrite newer inputs. Other server identifies a result retained from another API origin.
The shared Risk model runs table shows calculation activity, including external REST work. Use Open to load a completed configuration/result and Cancel for active work. Named immutable Factor Risk runs are a separate workflow, not a Liquidity save button.
For incomplete coverage, correct exact symbol/provider/account, session dates, quantity units, corporate-action basis or account valuation. Unsupported CFD/FX inputs should remain visible as unmodelled or excluded. Do not replace them with another instrument's volume and describe that as a complete calculation.