At maturity, the call option holder will "exercise", i.e. choose stock, with value `S`

, if the
stock price is above the strike `K`

, paying `K`

to the option issuer,
realizing value `S-K`

. The put option holder will exercise, receiving `K`

while surrendering
stock worth `S`

, if the stock price is below `K`

.

Therefore the value at maturity is equal to `max(0,callput*(S-K))`

`optionality_fcn(v, ...)`

Return a version of v at time t corrected for any optionality conditions.

`recovery_fcn(v, S, t, ...)`

Return recovery value, given non-default values v at time t. Subclasses may be more elaborate, this method simply returns 0.0.

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.