The actuarial capstone#
Capstone · Actuarial
Read this after L3. It is not a fourth level. It is what the three levels were for — everything the other projects taught, spent on one decision, and it introduces no new Hilbert.
Source: src/MLambda.AI.Actuarial/
The decision#
A buyer is looking at a real house from the Ames sales — quality 6, 1 478 square feet, 52 years old, rated 3 for condition, which sold for $156 500. It is on offer at 10% more: $172 150. Should they buy?
Three agents look at it, each with its own question and its own evidence:
ValuationAgent fair value $169,249, spread $39,602
asking is +0.07 spreads over intends Buy
ConditionAgent rated 3, 2 points below typical × $8,762 a point
repair exposure $17,523 intends Negotiate
CreditAgent loan-to-value 94.6%, rate 6.00%, default chance 30.40%
loss if it defaults $33,800 intends Walk
⚠ THIS LOAN IS SYNTHESISED. ...
Adjudicator Walk — one agent seeing ruin outranks two seeing a bargain.
They disagree, and that is the design. Valuation is right that the price is fair. Condition is right that the house needs work. Credit — on an invented loan — is right that the borrowing is stretched. An architecture that averaged those into one score would have thrown away exactly the information that makes the decision hard.
This house was not staged. It was found by searching all 2 930 sales for ones the three agents disagree about; there are 188.
Where every piece came from#
| Piece | Dialect | What it spends |
|---|---|---|
House.hb |
.hb frame |
reading data as a schema — from ML |
Valuation.hb |
.hb |
least squares and a spread — from ML L1 |
Condition.hb |
.hb |
the same fit, and a confound found by measuring first |
Credit.hb |
.hb |
proportional hazards from Prelude.Sequences |
Reserve.hb |
.hb |
Cramér–Lundberg from Prelude.Fields |
three *Agent.ha |
.ha |
BDI agents and commitment — from Agents |
Risk.hs · .hp |
.hs .hp |
the attitudes, and a derivation of absurdity — from Logic L3 |
Adjudicator.hs · .hp |
.hs .hp |
stratified negation — from Logic L1 |
All four dialects in one project — which no other project here does.
The pages#
- valuation.md — fair value, and why a premium is measured in spreads
- condition.md — why this model does not use age, found by measuring the data
- credit.md — the honesty page: a method on inputs that do not exist
- adjudicator.md — a veto not a vote, and a reserve that may refuse to exist
Run it#
What this is not#
A worked system for teaching, not an underwriting product. And the reserve it computes is real ruin theory over one real sale and one invented loan — a correct method on partly fictional inputs. Both facts are printed with the output, not only written here.