ContingentClaims - CallableBond example (called/notCalled inverted directions)

The give node in here

...
callableBond = when (at intermediateDate) $ and coupon $ give $ or called notCalled

is required because it moves the choice to be made to the issuer (which is the party that can choose to call the bond). By default, the Or node would provide a choice to the owner / bearer of the asset.

So the Or subtree essentially models the issuer’s choice to “either give the principal back to the bond holder at the intermediate date, or give it back at maturity”. But you are right in that I think there’s a missing give for the notCalled case, which currently would result in the bond holder paying the principal.

2 Likes