Dynamic FloorStatistical1 min read
◆ The PatternCPPI and OBPI — dynamic protection with a floor
Constant Proportion Portfolio Insurance (CPPI) dynamically allocates between a risky asset and a safe asset (cash/bonds) to protect a minimum floor:
Risky allocation = m × (Portfolio − Floor)
m is the multiplier (typically 3–5). As the portfolio falls toward the floor, the risky allocation shrinks. OBPI uses a put option to guarantee the floor directly. Gap risk is the main danger.
// Interactive — CPPI multiplier and portfolio path
Multiplier m
1987 crash. Portfolio-insurance selling through index futures amplified Black Monday, according to the Brady Report — a cautionary tale about mechanical hedging.
Pattern bridge: CPPI buys as prices rise and sells as they fall, a mechanical feedback loop. In October 1987 portfolio-insurance selling fed the crash it was meant to protect against — an information cascade run by rules.
Worked example
CPPI on 100 with a floor of 80 and a multiplier of 4: start with 80 in the risky asset. After +5% and +3% the exposure grows to 96 and the value to 106.9; after −10% the value is 96.2. Then a one-day −30% crash: exposure was 64.8, the loss is 19.4, and the value ends at 76.8 — below the 80 floor. CPPI protects the floor only if prices move smoothly enough to sell in time.
Where it misleads
- The floor breaks in a gap larger than 1/m (here 25%); with a higher multiplier the crash needed is smaller.
- It sells after falls and buys after rises. When many follow the same rule, the selling feeds the fall — the Brady Commission pointed to portfolio insurance in the 1987 crash.
- After a fall it can lock into cash and miss the recovery: the cushion is gone.
In code
value, floor, m = 100.0, 80.0, 4 # CPPI: risky exposure = 4 x cushion
for move in [0.05, 0.03, -0.10, -0.30]: # the last day is a crash
risky = min(m * (value - floor), value)
value = value + risky * move
print(f"{move:+.0%} exposure {risky:5.1f} value {value:5.1f} floor {floor}")Assumes import numpy as np and import pandas as pd. Each snippet carries its own example numbers; the comments say which are made up or simulated.
Sources
- F. Black & R. Jones, “Simplifying Portfolio Insurance”, Journal of Portfolio Management 14(1), 1987
- F. Black & A. F. Perold, “Theory of Constant Proportion Portfolio Insurance”, Journal of Economic Dynamics and Control 16(3–4), 1992
- Report of the Presidential Task Force on Market Mechanisms (the Brady Report), 1988
Last reviewed October 2026 · How this site checks its content · Report a mistake
Linked from 1