# CURVE-DEPTH — THE PRICE DRAWDOWN OF THE PRIMARY FRAME **Ordered `#25-18` item 2, run 2026-08-28.** Runner: `run_price_drawdown.py`. Raw: `price_drawdown.json`. > ## ⛔ WHY THIS ARTIFACT EXISTS, AND IT IS A CORRECTION > > **`#25-18a` asked what the signed −59.03% actually measures, and the answer was not what the > live-record page's draft copy said.** The draft called it *"the price decline this method is set, > in advance, to keep operating through."* **It is not a price decline.** It is the deepest fall in > the value of the METHOD'S BOOK — Bitcoin marked to market **plus the undeployed cash reserve**, > with the weekly contributions inside it — measured in `run_final_calibration.py` as the running > peak-to-trough of `btc * price + cash`. > > **The corrected copy puts a price figure beside the book figure so a reader can tell them apart. > This file is where that price figure comes from.** A number a reader is shown must come from an > artifact, not from a sentence somebody typed — which is the same rule that already keeps the > −59.03% out of the page's copy constants and reads it from `data/pa_curve_state.json`. --- ## THE MEASUREMENT **Maximum peak-to-trough decline in the price of Bitcoin, over the PRIMARY calibration frame.** | | | |---|---| | frame | `PRIMARY` — **2018-12-10 → 2022-11-21**, 207 weeks, *trough-ending / deeper-trough path* | | series | `backtest/series_loader.build("valuation")` | | basis | **weekly close** | | peak | **2021-11-08** — 65,498.37 | | trough | **2022-11-14** — 16,269.76 | | **max peak-to-trough price decline** | **−75.16%** | **Beside it, on the identical rows: the signed BOOK drawdown at the ruled 90/90 is −59.03%** (`#24-15` item 1, carried on `data/pa_curve_state.json`). --- ## §1 — WHAT THE GAP BETWEEN THE TWO NUMBERS IS **−75.16% is what the price did. −59.03% is what the book did while the price did it.** The book fell **16.13 percentage points less** than the asset it holds, and the reason is mechanical rather than clever: **the reserve was never fully deployed, and a fixed weekly contribution kept landing all the way down.** Both are properties of the method's rules, not of a forecast. **⛔ AND THE DIRECTION OF THAT GAP IS THE WHOLE REASON TO PUBLISH BOTH.** A reader shown only −59.03%, told it is "the price decline", would conclude Bitcoin fell 59% in the worst window the record contains. It fell 75%. **The corrected number is the larger one, and it is the one that was missing** — which is the opposite of the failure mode a drawdown disclosure normally has, and the reason this correction is not cosmetic. --- ## §2 — WHAT IS NOT CLAIMED **1. The basis is the weekly close, because that is the only price the calibration ever saw.** A daily series would print a deeper low — the trough week's intra-week bottom is not in these rows and is **not claimed here.** Stating the basis is the boundary of the claim, not a caveat attached to it. **2. This is one window, chosen by a prior ruling and not by this run.** The PRIMARY frame is `run_final_calibration.py` `FRAMES[0]`, fixed at `#24-14`. This file measures the price on the frame the campaign already used; it does not select a window, and a figure on any other window is a different number. **3. It is not a statement about the future, and it is not the live record's own drawdown.** The live record on the public page draws its own drawdown week by week from sealed weekly artifacts, from week one. This figure belongs to a backtest. --- ## §3 — THE SELF-CHECK, WHICH IS THE ONE THAT COULD HAVE FAILED **The runner refuses to write unless the frame it measured is the frame the calibration recorded.** Two files naming the same two dates is not evidence that the same rows were measured — the row COUNT is what moves if the underlying series shifts under either one. ``` weeks == final_calibration.json PRIMARY: 207 == 207 PASS ``` *A price drawdown taken over a different window is a different number wearing the same label, and it would be indistinguishable from the right one on the page.* **No constant, no engine, no configuration is read by this runner.** Price is price: it imports the series and nothing else from the method, so it cannot be moved by a constants ruling — which is exactly what makes it usable as the scale figure beside a number that can. --- ## PROVENANCE - **This file:** `campaigns/curve-depth/PRICE_DRAWDOWN_2026-08-28.md` · digest in `PRICE_DRAWDOWN_2026-08-28.sha256` · proof `PRICE_DRAWDOWN_2026-08-28.md.ots` - **The book figure it sits beside:** `campaigns/curve-depth/FINAL_CALIBRATION.md` (`1aa9d99f635760e8c9805aaebad8f0ce208773811c11a6c0668e4bd1114af778`) + `FINAL_CALIBRATION.md.ots`, ruled `#24-15` item 1 - **Ordered by:** `#25-18` item 2, on the findings reported at `#25-18a`