Simple claim: construct the hedge, then read the premium off its cost — a price with no portfolio is an opinion with a currency symbol. The trench is one-period CRR sandwich, replication, and honest bands when incomplete.
The problem we left open
Last time I used a beta memo to name a failure that looks like equilibrium finance from across the room. A covariance ratio arrives with no market portfolio attached, no lease on the proxy, no search size posted, and the sentence cheap by two points starts moving a mark on a note that two frames cannot agree about.
The deeper issue underneath that memo is not CAPM. It is that the whole artifact was a number without an obligation. Nobody could act on it in any way that would be falsified by the market. If the note turned out not to be cheap, no position would have lost anything specific; the memo would simply be quietly wrong.
That creates three production headaches:
- Prices that no one can be held to, because no trade corresponds to them.
- Marks argued in narrative, stale frame, richer curve, market sentiment, with no object that settles the argument.
- Model risk with no residual, because if a price implies no position, there is nothing to measure it against.
So the question for this post is simple. If that is the failure mode, what does a real AI solution look like?
The solution, as one stack
The core idea is an inversion that the binomial model makes unavoidable: do not compute a price and then ask how to hedge it. Construct the hedge, and read the price off the cost of building it. A premium that does not fall out of a portfolio is not a premium. It is an opinion with a currency symbol. Five moves, one stack.
1. Declare the world before the claim. One stock and one money-market account. Over the period the stock goes from S₀ to either uS₀ or dS₀ with u > d, and cash grows by 1+r. That is the whole world, and it is a card: (S₀, u, d, r) plus the as-of clock. This is the discipline the last post demanded of the market portfolio, now applied where it is cheap, the world here is four numbers, so there is no excuse for leaving it unnamed.
2. Run the no-arbitrage sandwich first. The world is only admissible if
d < 1 + r < u.
If 1+r ≤ d, the stock beats cash in every state: borrow, buy, collect a riskless gain. If 1+r ≥ u, cash beats the stock in every state: short, deposit, same story. Either way the model contains free money, and every price it produces is meaningless. This check costs one comparison and must run before anything else. A pricing engine that will happily quote inside a violated sandwich is a machine for generating confident nonsense: ARB_SANDWICH_VIOLATED.
3. Write the claim as a payoff, not a story. A European call pays max(S₁ − K, 0) at expiry; a put pays max(K − S₁, 0). The word right matters: the holder exercises only when it helps, which is what puts the max in the formula. The claim is a function from terminal states to cash. If you cannot write your claim that way, you do not yet have a derivative, you have a description.
4. Solve for the replicating portfolio, and let the price be its cost. Hold Δ shares and put the rest of some initial capital x₀ in the money market. At expiry the portfolio is worth ΔS₁ + (x₀ − ΔS₀)(1+r), which takes two values. Set them equal to the claim's two payoffs. Two equations, two unknowns. Δ falls out as the ratio of payoff spread to stock spread; x₀ falls out as what that position costs today. That x₀ is the price, not because a formula says so, but because anyone quoting a different number hands you a riskless profit against them.
5. Check attainability, and band the claim when it fails. The market here is complete: two states, two instruments, every claim replicable, every price unique. That is a property of the model, not a law of nature. Add a third state and the two-equations-two-unknowns move stops working. The honest output then is not a slightly-worse point estimate. It is a band between what a super-replicating position costs and what a sub-replicating one fetches. Quoting a single number inside that band without saying so is POINT_ON_INCOMPLETE, the most common way a research price becomes a live mark it never earned.
Put together: named world, arbitrage screen, payoff as a function, replication solve, attainability check with a band as the fallback. That is the hedge card. Pricing still happens. It just cannot happen without a portfolio behind it.
The example: CEH-001's equity leg through the stack
Take the embedded equity leg of CEH-001 and give it the smallest honest world. S₀ = 100, u = 1.1, d = 0.9, r = 0.05 for the period, strike K = 100.
Sandwich first: 0.9 < 1.05 < 1.1. Admissible, and only just, the world is tight enough that the check earns its keep.
Payoffs: up state S₁ = 110, call pays 10. Down state S₁ = 90, call pays 0.
Replication: Δ = (10 − 0)/(110 − 90) = 0.5. Half a share. The bond leg is x₀ − 0.5 × 100, and solving the two-state match gives x₀ = 7.14, meaning you borrow 42.86 against half a share held.
Verify it, because verification is the point of the whole exercise. Up: 0.5 × 110 − 42.86 × 1.05 = 55 − 45 = 10. ✓ Down: 0.5 × 90 − 45 = 45 − 45 = 0. ✓ The portfolio does not approximately track the claim. It is the claim, state by state.
Now 7.14 means something the beta memo never could. It is not a view; it is the cost of a position that discharges the obligation exactly. Quote 8.00 and someone sells you the note, builds the portfolio for 7.14, and books 0.86 with no exposure left over.
And notice what this does to 1.50 versus 2.10. The frames disagree because they are two ways of describing a claim, and descriptions can differ forever. A hedge cannot. Once each frame is required to produce a Δ and a financing leg, the disagreement becomes a question with a settleable answer: which portfolio, held today, actually pays the note's cashflows? If both frames produce hedges and the hedges differ materially, that difference is a measurable, tradeable object rather than a debate. If a frame cannot produce a hedge at all, it has not earned the right to move the mark. Either way, 1.80 never appears, because no portfolio costs 1.80 for a reason. The midpoint is the one answer that is guaranteed to be nobody's replication cost, invented peace, which is precisely why the policy denies it.
The honest ending is often the band. CEH-001 is a never-traded structure; its real state space is not two points, and the toy world above is a fixture, not the instrument. Run the attainability check on the real claim and the output should be a band, the book carries roughly [6.5, 8.0] for the comparable leg against the tree's 7.14, with POINT_ON_INCOMPLETE firing on any attempt to promote the midpoint of that interval as a passport either.
The flow in one breath
Problem: prices arrive as opinions no one can be held to. Solution: name the four-number world, screen the arbitrage sandwich, write the claim as a payoff, solve for the replicating Δ and financing leg, and let the premium be that portfolio's cost, or, when the claim is not attainable, ship a band and refuse the point. Example: CEH-001's leg replicates at Δ = 0.5 for 7.14 in the toy world, verifies exactly in both states, and lands as [6.5, 8.0] on the real claim, with 1.80 never available because no portfolio costs it.
Curious how others enforce hedge-before-premium on instruments that genuinely cannot be replicated, and how they keep a research band from being silently collapsed to its midpoint by the time it reaches a mark.
Clearance coupling. Sandwich fail → ARB_SANDWICH_VIOLATED. Incomplete claim → band or refuse, never a stolen point (POINT_ON_INCOMPLETE). Hedge recipe travels with the premium on the ticket.
Numeric CRR spirit: S₀=100, u=1.1, d=0.9, r=0.05, call K=100 → Δ=0.5, borrow, premium ≈ 7.14 only as replicating cost under that world — not as BS-as-alpha.