Learn R Programming

QFRM (version 1.0.1)

ChooserLT: Chooser option valuation via Lattice Tree (LT) Model

Description

Calculates the price of a Chooser option using a recombining binomial tree model. Has pricing capabilities for both simple European Chooser options as well as American Chooser Options, where exercise can occur any time as a call or put options.

Usage

ChooserLT(o = OptPx(Opt("Chooser", ttm = 1)), t1 = 0.5, t2 = 0.5, IncBT = FALSE)

Arguments

o
The OptPx option object to price.
t1
The time to maturity of the call option, measured in years.
t2
The time to maturity of the put option, measured in years.
IncBT
TRUE/FALSE Choice of including the lattice tree simulation in the output. Input FALSE yields faster computation and fewer calculated results to store in memory.

Value

An original OptPx object with PxLT field as the price of the option and user-supplied ttc, IncBT parameters attached.

Details

The American chooser option is interpreted as exercise of option being available at any point in time during the life of the option.

References

Hull, J.C., Options, Futures and Other Derivatives, 9ed, 2014. Prentice Hall. ISBN 978-0-13-345631-8, http://www-2.rotman.utoronto.ca/~hull/ofod/index.html Thomas S.Y. Ho et al., The Oxford Guide to Financial Modeling : Applications for Capital Markets. . .

Examples

Run this code
(o = ChooserLT())$PxLT    #Default Chooser option price. (See Ho pg 234 in references)

o = Opt('Eu', S0=100, ttm=1, K=100)
o = OptPx(o, r=0.10, q=0, vol=0.1, NSteps=5)
(o = ChooserLT(o, t1 = .5, t2 =.5, IncBT=TRUE))$PxLT

#American Chooser, higher price than European equivalent
o = Opt('Am', S0=100, ttm=1, K=100)
o = OptPx(o, r=0.10, q=0, vol=0.1, NSteps=5)
ChooserLT(o,t1=.5, t2=.5,IncBT=FALSE)$PxLT

o = Opt('Eu', S0=50, ttm=1, K=50)
o = OptPx(o, r=0.05, q=0.02, vol=0.25, NSteps=5)
ChooserLT(o, t1 = .75, t2 = .75, IncBT=FALSE)$PxLT

o = Opt('Eu', S0=50, ttm=1, K=50)
o = OptPx(o, r=0.05, q=0.5, vol=0.25, NSteps=5)
ChooserLT(o, t1 = .75, t2 = .75, IncBT=FALSE)$PxLT

Run the code above in your browser using DataLab