A convertible price is an exercise policy as well as a discounted payoff. The issuer may call, the holder may put or convert, and the coupon schedule determines what is retained on each decision date. This lesson builds the stock lattice and the contract rollback used by the executable engine in
scripts/convertible-arbitrage/tree_pricer.py.Learning objectives. Calibrate a CRR tree, implement coupon and exercise ordering, run a complete pricer, and test its limiting cases.
Setup 1 (The running contract). All amounts are dollars per bond. Face is , conversion ratio is 16 shares, spot is , maturity is five years, and annual coupons are at years 1–5. Conversion is available at every lattice date. The issuer can call for from year 2 inclusive to maturity exclusive, only when spot is at least . The holder has a put at year 3. Rates are continuously compounded: , dividend yield , volatility , and credit spread .
Coupons are paid before same-date exercise, including conversion; call and put prices exclude that coupon. Between dates there is no accrued-interest payment on conversion. At maturity the payoff is . This explicit teaching convention differs from contracts that forfeit the final coupon on conversion. The spot trigger is a simplified soft call: it does not claim to implement a rolling 20-of-30-day test.
In this lesson
- The stock lattice
- Rollback with competing rights
- Running the complete engine
- Controls before a price is trusted
Before you start
The full lesson, with worked examples and exercise solutions, is for members.
Read the full lessonNew to SelfMadeQuant.com? See membership options or browse the Convertible Arbitrage syllabus.