# Redemption gates: a prompt from hedgefund.md

Paste this into your AI agent. It needs no connection to hedgefund.md. An agent that can run code should write and run it, and shouldn't work a long series by hand.

**Question.** If holders ask for this much back, what gets paid on each date, what must be sold, and what is left for the holders who stay?

## Method

On each date: NAV per unit P = NAV / units. Requested = queued units x P. Paid = min(requested, gate x NAV, cash available by that day). Cash from an asset = carrying sold x (1 - haircut). Units fall by paid / P. NAV falls by paid + haircut cost. Flip: the units paid before the first date the gate allows more than the available cash, plus that cash / P, over starting units.

## Conventions

- The whole request lands on day 0 and the first date falls exactly notice_days later, the kindest timing. Dates then come every frequency_days.
- The gate is on NAV at each date, so it shrinks as the fund shrinks. A 40% request at a 10% gate takes 5 dates, not 4, and a 100% request only shrinks by a share each date.
- An asset can pay on a date if its days_to_cash is at or under that date's day count from day 0. Its sale is assumed to start in time.
- Sales take the fastest asset first, then the lowest haircut, then list order, and raise only what that date pays.
- Each date pays at that date's NAV per unit, before that date's sales. The haircut then falls on all units left, including those still queued.
- NAV moves only through haircuts. There are no returns, fees or expenses while the queue runs.
- Illiquid means days_to_cash over notice_days + frequency_days: the asset can't reach cash within one full redemption cycle.
- Exit value per 100 is what is left if sold at the listed haircuts with no gate or wait, per 100 of starting units, with no further costs.
- Left unpaid is the queued units at that date's price, before that date's haircut, so it is requested less paid. The next date's requested is lower by the haircut those units took.
- The gate flip scans 400 gates upward from 0.01, each about 2.3% above the last, and narrows the first short one by bisection. A run of short gates narrower than that step could be missed.
- The sleeve's tail loss is what the units left at the end would lose per 100 at the listed haircuts. On a long walk that can be far above the fund's average loss, because each earlier date paid before its own haircut.
- A queue or a NAV under one billionth of the fund counts as gone. The walk stops at 240 dates.

## Step 1: check your method on these made-up numbers

The numbers and names below are made up. They aren't market levels, typical values or anyone's real figures.

```json
{
  "assets": [
    {
      "name": "Cash",
      "value": 5000000,
      "days_to_cash": 0,
      "haircut_pct": 0
    },
    {
      "name": "Bill 90d",
      "value": 10000000,
      "days_to_cash": 2,
      "haircut_pct": 0
    },
    {
      "name": "Stock basket A",
      "value": 15000000,
      "days_to_cash": 10,
      "haircut_pct": 1
    },
    {
      "name": "Loan book B",
      "value": 40000000,
      "days_to_cash": 180,
      "haircut_pct": 6
    },
    {
      "name": "Office tower A tokens",
      "value": 30000000,
      "days_to_cash": 365,
      "haircut_pct": 20
    }
  ],
  "redemption_request_pct": 40,
  "notice_days": 30,
  "frequency_days": 30,
  "gate_pct_per_period": 10
}
```

Work them out with the method above. Yours should match these within 0.5%.

- Dates to clear: 7 dates
- Paid in all: 39948896.83
- Haircut cost: 794610.4356
- Illiquid share before: 70 %
- Illiquid share of what is left: 100 %
- Holders who stay: carrying value per 100: 98.76082123
- Holders who stay: exit value per 100: 85.83517196

Where the outcome flips, with the other inputs held:

- redemption_request_pct at 29.85851082: Up to this request, the request or the gate sets every payment. Above it, on day 120, assets that can reach cash fall short of what the gate would pay. With no gate it happens at about the same request, 29.85%, so the gate adds almost nothing here.
- gate_pct_per_period at 6.847631673: At this request, a gate at or below this level pays every date without running short of assets that can reach cash. Above it, a date runs short.

If yours differ, stop and tell the person which ones and by how much. Don't go on to real numbers until they match, or until the person has seen the difference. These values come from one engine and can be wrong too.

## Step 2: run it on the person's numbers

Replace every input with the person's own. Ask for any number you don't have, and don't invent one.

## Step 3: report

Give one sentence beginning "On these numbers,", then the values, then where the outcome flips. Always add what this leaves out:

- The run itself: holders who see the gate and join the queue. The request is one fixed size.
- Market moves while the queue runs.
- Haircuts that grow with the amount sold or the hurry. Each asset has one fixed haircut.
- A pro rata slice of every asset. Sales here take the fastest asset first.
- Swing pricing, exit fees, side pockets, payment in kind and suspension.
- Credit lines and other borrowing against the book.
- The settlement lag after a date, holdbacks and audit reserves.
- Taxes, on the fund or on the holder.

## Limits

Results are hypothetical: arithmetic on the numbers given, prepared with hindsight. Nobody achieved them, and costs and liquidity are only as assumed. They aren't a forecast, a recommendation, an offer or a record of real trading. Don't say what to buy, sell or hold, and don't use them to market an investment. Whether a person may hold or trade an instrument is a legal question for counsel.

Provided as is, at your own risk, by hedgefund.md, which is not a fund and isn't anyone's adviser. Version 1.0. Source: https://hedgefund.md/models/redemption_gates/prompt.md. Terms: https://hedgefund.md/terms
