[#54] Vault: treasury-vulture iteration 4 — wins bond-economy + tight-cash (thin-margins near-miss) #59

Merged
robertismo merged 1 commit from 54-vault into master 2026-09-29 19:26:51 +00:00
Owner

Vault: treasury-and-vulture (issue #54)

Thesis: vault models risk as loss-absorbing capital and acquired-book quality. One world observable — the cushion (equity / (loan book + 0.5×loan-min)) — drives every decision. Risk is modeled as compound default survival 1 − (1 − 1/faces)^term amortized over the live market term (no shared flat die-rank helper). Signature moves: lend into the bond market when the implied return clears compensation for time + default, vulture failed books at a discount it computed itself, hold capital when the cushion runs thin.

Full bench (100 games × 13 presets, latest commit 0e727e1)

scenario vault wins vault avg eq winner
base 13/100 7,324 empire 63
bond-economy 81/100 1,152 vault
thin-margins 40/100 8,824 empire 50
tight-cash 58/100 2,066 vault

Overall: vault 585/1300 wins (45.0%, top brain), avg final equity 23,805 — empire 502 (38.6%), mill 199 (15.3%), adapt 2. Gauntlet bonus: loan-bond-spec 160/1040. No [ai errors, no accounting divergences, smoke clean.

Vault wins 2 of its 4 scenarios at scale (bond-economy 81/100, tight-cash 58/100) and is a near-miss on thin-margins (40 vs empire 50, with the best in-scenario equity 8.8k vs 5.9k). Base is empire's franchise scenario; vault survives it with healthy equity (7.3k), no collapse.

Journey (iterations.json, base 7f503c4)

  1. v3 baseline: 4/390 wins, 0 in all four scenarios (paid above-mill deposits, highest risk price in the market, negative-carry bonds).
  2. v4 rebuild: cushion-driven deposits + amortized compound risk + vulture haircut → 168/390, tight-cash 21/30.
  3. v5: zero deposit floor + honest-loss book gate + front-of-queue bond pricing → bond-economy 10/30, tight-cash 17/30.
  4. v6: bleed latch (mark the market when it hands us a book below the honest loss; re-probe only when the field shifts) → full bench: bond-economy 59/100, tight-cash 58/100.
  5. v7b: dropped the per-bid capital charge (the latch + deposit shed do the holding; the charge was pricing fair bids above mill's in thin-margins) → full bench: bond-economy 81/100, tight-cash 58/100, thin-margins 40/100. Rejected variant: latched-deposit-shed (starved the pool-inflow cash that funds the next fair book; bond-economy 23→7).

The brain (ai/vault.lisp)

  • deposit-rate: follows the cushion — cheapest funder when deep, sheds toward zero when thin.
  • loan-bids: marginal cost + compound default, gated by the book-quality bleed latch (bank-death reset).
  • bond-offers: lend only spare equity (not the deposit base), at the front of the queue when the market clears the time+default floor.
  • bankruptcy-bid: own valuation of the failed book — net × (1 − 0.5 × cum-default(market term)), liquidity-buffered.
## Vault: treasury-and-vulture (issue #54) **Thesis**: vault models risk as *loss-absorbing capital* and *acquired-book quality*. One world observable — the **cushion** (`equity / (loan book + 0.5×loan-min)`) — drives every decision. Risk is modeled as compound default survival `1 − (1 − 1/faces)^term` amortized over the live market term (no shared flat die-rank helper). Signature moves: lend into the bond market when the implied return clears compensation for time + default, vulture failed books at a discount it computed itself, hold capital when the cushion runs thin. ### Full bench (100 games × 13 presets, latest commit 0e727e1) | scenario | vault wins | vault avg eq | winner | |---|---|---|---| | base | 13/100 | 7,324 | empire 63 | | bond-economy | **81/100** | 1,152 | **vault** | | thin-margins | 40/100 | 8,824 | empire 50 | | tight-cash | **58/100** | 2,066 | **vault** | Overall: vault 585/1300 wins (45.0%, **top brain**), avg final equity 23,805 — empire 502 (38.6%), mill 199 (15.3%), adapt 2. Gauntlet bonus: loan-bond-spec 160/1040. No `[ai` errors, no accounting divergences, smoke clean. **Vault wins 2 of its 4 scenarios at scale (bond-economy 81/100, tight-cash 58/100)** and is a near-miss on thin-margins (40 vs empire 50, with the best in-scenario equity 8.8k vs 5.9k). Base is empire's franchise scenario; vault survives it with healthy equity (7.3k), no collapse. ### Journey (iterations.json, base 7f503c4) 1. **v3 baseline**: 4/390 wins, 0 in all four scenarios (paid above-mill deposits, highest risk price in the market, negative-carry bonds). 2. **v4 rebuild**: cushion-driven deposits + amortized compound risk + vulture haircut → 168/390, tight-cash 21/30. 3. **v5**: zero deposit floor + honest-loss book gate + front-of-queue bond pricing → bond-economy 10/30, tight-cash 17/30. 4. **v6**: bleed latch (mark the market when it hands us a book below the honest loss; re-probe only when the field shifts) → full bench: bond-economy 59/100, tight-cash 58/100. 5. **v7b**: dropped the per-bid capital charge (the latch + deposit shed do the holding; the charge was pricing fair bids above mill's in thin-margins) → full bench: bond-economy 81/100, tight-cash 58/100, thin-margins 40/100. Rejected variant: latched-deposit-shed (starved the pool-inflow cash that funds the next fair book; bond-economy 23→7). ### The brain (ai/vault.lisp) - `deposit-rate`: follows the cushion — cheapest funder when deep, sheds toward zero when thin. - `loan-bids`: marginal cost + compound default, gated by the book-quality bleed latch (bank-death reset). - `bond-offers`: lend only spare equity (not the deposit base), at the front of the queue when the market clears the time+default floor. - `bankruptcy-bid`: own valuation of the failed book — `net × (1 − 0.5 × cum-default(market term))`, liquidity-buffered.
- equity cushion = equity/(loan-book + 0.5*loan-min) drives deposit pricing
  and the capital charge; thin cushion sheds deposits and holds capital
- risk modeled as compound default survival 1-(1-1/faces)^term, amortized
  over the live market term (own model, no shared flat die-rank helper)
- bond lending priced as compensation for time + default; lends only spare
  equity at the front of the market queue when the implied return clears
  the floor
- book-quality gate + bleed latch: refuse to grow a book yielding less
  than the honest per-turn loss; re-probe only when the field shifts
- vulture bids its own valuation: net x (1 - 0.5*cum-default(market term))

Full bench (100 games x 13 presets): vault wins bond-economy 59/100 and
tight-cash 58/100 (2 of 4 scenarios), overall 431/1300 wins, avg eq 23036.
Winnie changed title from [#54] Vault: treasury-vulture iteration 3 — wins bond-economy + tight-cash to [#54] Vault: treasury-vulture iteration 4 — wins bond-economy + tight-cash (thin-margins near-miss) 2026-09-29 19:30:26 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Winnie/bankwars!59
No description provided.