RMFU Desk

Portfolio & liquidity

Portfolio liquidity lenses for partially illiquid books

Illiquidity is not binary; neither is liquidity risk. Desks that win use explicit ladders—days to weeks to months to strategic exits—paired with observable marks, haircuts, and leverage everyone replays. When immediacy is assumed but unobtainable, stress tests lie politely and ICs approve fantasies. Make horizon, depth, and participation constraints first-class parameters so PM and risk argue in dollars at a date, not metaphors.

Why ‘liquid enough’ collapses

Enough for whom, at what size, under what market? Unqualified liquidity claims are marketing for internal use.

Liquidity is path-dependent: exit on your schedule differs from exit when everyone else is also exiting.

Ladder design

Bins for days, weeks, months, locked; attach min/max participation and counterparty assumptions.

Document what ‘participation’ means—ADV%, block limits, negotiated cross—precision prevents false agreement.

Marks and staleness

Show last mark source and age; escalate when age exceeds policy—automatically if possible.

Separate “price unavailable” from “price unchanged”—silence is not innocence in illiquid books.

Scenario coupling

Shock spreads, depth withdrawal, and margin step-ups together—single-factor liquidity stress misleads.

For private sleeve + hedge overlay books, state basis and roll liquidity explicitly.

Communication with investors

External language should mirror internal ladders or you invite credibility gaps after first redemption wave.

Pre-write redemption-stress FAQs with counsel; improvising under inbound calls breeds overconfidence or panic.

Data you need from counterparties

Lockup calendars, gates, NAV frequency, side-pocket rules—push for machine-readable updates, not PDF surprises.

If a manager cannot supply timely liquidity notices, model conservatively and say so in risk memos.

Tooling patterns

Deterministic liquidity haircut curves in calculators; link outputs to book context, not floating numbers.

Outputs should carry ladder bucket + shock id—PNG exports without that pair are incomplete risk objects.

Anti-patterns

Assuming exchange liquidity for blocks; ignoring cross-margin effects; treating advisor marks as sacrosanct without challenge.

Silent doubling of exposure via synthetic leverage while liquidity ladder only reflects cash sleeve.

Public desk routes referenced above

Same URL discipline applies after you authenticate—bookmarkable paths, no tenant data on these pages.

  • Public calculator hub GET-shareable patterns you can mirror for every material desk run; use as the pattern for replay links.
  • Operating rhythm Template language for stages, owners, and completion rules in a mandatory morning loop.
  • Product atlas Route-level map so reviewers can open the exact module that produced a figure.
  • Guides Pair public guides with internal SOPs so training points at one narrative spine.
  • Terms of use Stable legal URL when client-facing calculator links depart the marketing host.

Operator toolkits

Checklists and scripts you can lift into runbooks, vendor RFPs, or board appendices.

Illustrative risk framing; not investment advice or a valuation standard.

Three-minute mental model

RMFU is one surface for reading (brief + pulse), remembering (library + drills), and stress-testing (risk, macro, scenarios). Sign in to reach your tenant desk; this public site is the story, not the datastore.

Open the full guided tour → (recommended instead of this short blurb).

Use Open desk when you already have access — you will authenticate at the gate like any other protected route.

Sign in

Live calculators vs. marketing

After sign-in, /tools hosts shareable one-page calculators (NPV, payback, Kelly, and more). This public tools hub explains what exists for crawlers and prospects.

Open desk

Why drills matter

Bookmarks decay. RMFU uses short, spaced repetitions so vocabulary and frameworks stay retrievable when you are in front of a committee or a live tape — not only when you are reading alone.

Nudge inputs

Edit fields, then Apply & refresh (or use on the card). Same payload as the public demo API.

Last response JSON

app/engines/tools/service.py

Leading lines of the real module (marketing excerpt).

"""Operator pocket tools — small pure functions used by /tools.

Each function returns a dict with the inputs echoed back, the result, and a
short interpretation sentence (in casual exec tone).
"""
from __future__ import annotations

from dataclasses import dataclass
import math
from typing import Iterable


# -------- IRR / NPV ---------------------------------------------------------

def npv(rate: float, cashflows: list[float]) -> float:
    return sum(cf / ((1 + rate) ** t) for t, cf in enumerate(cashflows))


def npv_rate_sensitivity(rate: float, cashflows: list[float], bump: float = 0.01) -> dict:
    """±bump hurdle NPV and approximate $ / 1% change in NPV (last period scale)."""
    base = npv(rate, cashflows)
    up = npv(rate + bump, cashflows)