Skip to content

Repository files navigation

Liquidity Management Tools Calibration

Python CI ESMA CSSF

This project is an LMT calibration tool. It provides an interactive dashboard to configure redemption, market, and liquidity stress scenarios alongside selected liquidity management actions, including liquidation strategy, threshold calibration, activation timing, and tool selection, to support informed LMT threshold calibration.

The dashboard provides two complementary analyses:

  • Market scenarios & notice-period liquidity - can the fund meet redemptions within the configured notice and settlement horizon under different market conditions?
  • 12-month redemption path - how do manager-selected LMT application timings affect paid redemptions, deferrals, shortfall, backlog, and NAV over successive monthly periods?

LMT calibration dashboard

The screenshots use a synthetic example fund. The underlying data can be replaced with other fund datasets through the documented input structure.

The current application handles a broad range of portfolio exposures, including repos, bonds, listed equities, listed ETFs, and selected derivatives, to model market and liquidity stress. It also supports investor bases with different client classes and redemption behaviours, which are used in multi-period redemption stress modelling.

The scenarios used for calibration combine:

  • Liability-side multi-period pressure from investor redemptions, supporting a mix of client classes with different redemption behaviours.
  • Asset-side pressure from market shocks, liquidity haircuts, and realised liquidation costs, supporting a broad range of portfolio exposures, including repos, bonds, listed equities, listed ETFs, and selected derivatives.

Regulatory context

This project uses the liquidity-management framework for UCITS and open-ended AIFs as regulatory context, including ESMA Guidelines on Liquidity Management Tools, related EU delegated regulations, and Luxembourg CSSF Circular 26/910.

It is a non-production portfolio project for structured liquidity stress testing, configurable liquidation strategies, and LMT calibration analysis. It is not regulatory advice and does not replicate a production ManCo risk system.


Current scope

The current application is an LMT calibration tool covering both one-period liquidity stress analysis and 12-month stressed redemption paths. It combines investor-base redemption assumptions, market shocks, liquidity haircuts, realised liquidation costs, configurable liquidation strategies, cash-buffer usage, backlog evolution, and diagnostic threshold checks for swing pricing, redemption gates, fund suspension, and liquidity-buffer monitoring.

Click for a brief overview of the features listed above
  • Redemption scenarios: mild outflow, moderate outflow, severe platform exodus, and multi-period redemption paths.
  • Investor classes: retail, institutional, platform/distribution channels, fund-of-funds allocators, seed capital.
  • Market conditions: normal market conditions, moderate stress, severe stress, 2008 crisis conditions.
  • Liquidation strategies: most-liquid-first, pro-rata, hybrid, custom allocation.
  • LMT thresholds: swing-pricing activation threshold, gate activation threshold, suspension representation, internal liquidity-buffer threshold.
  • Liquidity stress evaluation: compares how redemption pressure, market stress, liquidation strategy, and LMT settings affect liquidity needs, realised costs, shortfalls, backlog, NAV, and threshold indicators.

Out-of-scope extensions include reverse stress testing, broader market-contagion effects beyond the redemption path’s one-month liquidity-cost and net-proceeds adjustment, and strategy comparison views.

The project uses structured risk-system components, including validated data, calculation modules, audit records, and automated tests.

Documentation

Key documentation:

Additional documentation

Setup

uv sync

Streamlit app

Run the local app with sample data:

uv run streamlit run app/streamlit_app.py

Run checks:

uv run ruff check src tests app
uv run ruff format --check src tests app
uv run mypy src
uv run pytest tests -v

License

This project is licensed under the PolyForm Noncommercial License 1.0.0.

You may use, study, modify, and share this software for noncommercial purposes. Commercial use is not permitted without prior written permission from the copyright holder.

For commercial licensing enquiries, please contact the repository owner.

About

Liquidity Management Tools calibration workflow.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages