Learn R Programming

QFRM (version 1.0.1)

ChooserMC: Chooser option valuation via Monte Carlo (MC) simulations

Description

Price chooser option using Monte Carlo (MC) simulation.

Usage

ChooserMC(o = OptPx(Opt(Style = "Chooser")), isEu = TRUE, T1 = 1, NPaths = 5, plot = FALSE)

Arguments

o
An object of class OptPx
isEu
Values TRUE or FALSE indicating if the chooser is an European or American style option
T1
The time when the choice is made whether the option is a call or put
NPaths
The number of Monte Carol simulation paths
plot
Values TRUE or FALSE indicating whether to include a comparison plot of option price versus number of paths

Value

A list of class ChooserMC consisting of original OptPx object, option pricing parameters isEu, NPaths, and T1, as well as the computed price PxMC for the chooser option.

Details

A chooser option (sometimes referred to as an as you like it option) has the feature that, after a specified period of time, the holder can choose whether the option is a call or a put. In this algorithm, we can price chooser options when the underlying options are both European or are both American. When the underlying is an American option, the option holder can exercise before and after T1.

References

Hull, John 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. p.603.

Examples

Run this code
(o = ChooserMC())$PxMC

o = OptPx(Opt(Right='Call',Style="Chooser"))
 ChooserMC(o,isEu=TRUE,NPaths=5, plot=TRUE)

 o = OptPx(Opt(Right='Put',Style="Chooser"))
 ChooserMC(o,isEu=TRUE,NPaths=5, plot=TRUE)

 o = Opt(Right='C',S0=100,K=110,ttm=4,Style="Chooser")
 o = OptPx(o,vol=0.2,r=0.05,q=0.04)
 ChooserMC(o,isEu=TRUE,T1=2,NPaths=5)

 o = Opt(Right='P',S0=110,K=100,ttm=4,Style="Chooser")
 o = OptPx(o,vol=0.2,r=0.05,q=0.04)
 ChooserMC(o,isEu=TRUE,T1=2,NPaths=5)

 o = Opt(Right='C',S0=50,K=50,ttm=0.5,Style="Ch")
 o = OptPx(o,vol=0.25,r=0.08,q=0.1)
 ChooserMC(o,isEu=FALSE,T1=0.25,NPaths=5)

Run the code above in your browser using DataLab