ContingentClaims - CallableBond example (called/notCalled inverted directions)

Hi, I’m strugling trying to understand callable bond example.

I don’t understand why called and notCalled claims have different directions (give vs no give). In the case the bearer is the investor I would say that the investor should receive principal in both cases (called or notCalled).

-- | Creates the claim for a callable bond and the corresponding elections
bootstrapBond : Date -> Date -> Decimal -> Decimal -> Deliverable -> (C, C, C)
bootstrapBond intermediateDate maturity couponAmount principal ccy =
  let
    coupon = scale (Const couponAmount) $ one ccy
    called = give $ scale (Const principal) $ one ccy
    notCalled = when (at maturity) $ scale (Const principal) $ one ccy
    callableBond = when (at intermediateDate) $ and coupon $ give $ or called notCalled
  in (mapClaimToUTCTime callableBond, mapClaimToUTCTime called, mapClaimToUTCTime notCalled)

I guess that I’m missing something, but for me the code bellow it would make more sense. However the test fails.

-- Removing `give` from `called` and `give` before the election (`callableBond`)   
bootstrapBond : Date -> Date -> Decimal -> Decimal -> Deliverable -> (C, C, C)
bootstrapBond intermediateDate maturity couponAmount principal ccy =
  let
    coupon = scale (Const couponAmount) $ one ccy
    called = scale (Const principal) $ one ccy
    notCalled = when (at maturity) $ scale (Const principal) $ one ccy
    callableBond = when (at intermediateDate) $ and coupon $ or called notCalled
  in (mapClaimToUTCTime callableBond, mapClaimToUTCTime called, mapClaimToUTCTime notCalled)

I’d appreciate any help. Thank you!

1 Like

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