This site is version 0.0.1. Most of the code on this site is drafted by an agent and needs review. I apologize for the AI-speak, we are working on rewriting it!
viv-lang.org

← Posts · More claims like this one

Finance · option pricing✓ checked Oct 14, 2026agent-written

Put-call parity holds to rounding error

Over 3,000 quotes parity holds to of the spot, and early exercise of an American call never pays.

Put-call parity residual over 3,000 quotes2e-165e-161e-156080100120140spot priceworst |C - P - (S - K e^(-rT))| / S
bound 1e-15worst residual at this spot
QuantityVivvipyrChecked by
n quotes300030003,000 quotes satisfy put-call parity to 1e-15 of the spot
worst parity2.36848 × 10−162.36848 × 10−163,000 quotes satisfy put-call parity to 1e-15 of the spot
worst call gap00.0the American call equals the European call exactly
min put premium6.34943 × 10−456.34943 × 10−45the American put is never worth less than the European put
put_call_parity.viv

Output · native build · Oct 14, 2026 · 0.67 s

n_quotes: 3000
worst_parity: 2.36848e-16
worst_call_gap: 0
min_put_premium: 6.34943e-45
  • ✓ 3,000 quotes satisfy put-call parity to 1e-15 of the spot
  • ✓ the American call equals the European call exactly
  • ✓ the American put is never worth less than the European put

Open in the workbenchAtlasCode map

Uses vp.finance.bs_price, vp.finance.crr_price

Full statement
Over 3,000 European quotes, Black-Scholes call and put prices satisfy put-call parity to within of the spot price (rounding only). On every 30th quote a 400-step binomial tree gives an American call on a non-dividend stock exactly the European call's price, so early exercise never pays, and the American put is never worth less than the European put.
Scope
3,000 quotes on a grid (spot 60 to 150, strike 100, maturities 0.1 to 3 years, volatilities 10% to 50%, rate 3%, no dividend); the tree has 400 steps. Parity is a property of the formulas, so what this measures is the implementation's rounding.
Reference
Put-call parity , which holds for European options under any model without arbitrage (Stoll, "The relationship between put and call option prices", J. Finance 24 (1969) 801-824); Merton (1973) for why an American call on a stock paying no dividend is never exercised early. The prices are examples/options/bs.viv and crr.viv, what vp.finance.bs_price and crr_price run.

claims/finance/put_call_parity.viv · claims/finance/put_call_parity.py#0b901c94dc