# ChooserMC: Chooser option valuation via Monte Carlo (MC) simulations In QFRM: Pricing of Vanilla and Exotic Option Contracts

## Description

Price chooser option using Monte Carlo (MC) simulation.

## Usage

 ```1 2``` ```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

## 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.

## 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.

## Author(s)

Xinnan Lu, Department of Statistics, Rice University, Spring 2015

## 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

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19``` ```(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) ```

### Example output

```[1] 14.97872
\$S0
[1] 50

\$ttm
[1] 2

\$K
[1] 52

\$Style
\$Style\$Name
[1] "Chooser"

\$Style\$Vanilla
[1] FALSE

\$Style\$Exotic
[1] TRUE

\$Style\$European
[1] FALSE

\$Style\$American
[1] FALSE

\$Style\$Asian
[1] FALSE

\$Style\$Binary
[1] FALSE

\$Style\$AverageStrike
[1] FALSE

\$Style\$Barrier
[1] FALSE

\$Style\$Chooser
[1] TRUE

\$Style\$Compound
[1] FALSE

\$Style\$DeferredPayment
[1] FALSE

\$Style\$ForeignEquity
[1] FALSE

\$Style\$ForwardStart
[1] FALSE

\$Style\$Gap
[1] FALSE

\$Style\$HolderExtendible
[1] FALSE

[1] FALSE

\$Style\$Lookback
[1] FALSE

\$Style\$MOPM
[1] FALSE

\$Style\$Perpetual
[1] FALSE

\$Style\$Quotient
[1] FALSE

\$Style\$Rainbow
[1] FALSE

\$Style\$Shout
[1] FALSE

\$Style\$SimpleChooser
[1] FALSE

\$Style\$VarianceSwap
[1] FALSE

\$Right
\$Right\$Name
[1] "Call"

\$Right\$Call
[1] TRUE

\$Right\$Put
[1] FALSE

\$Right\$Other
[1] FALSE

\$Right\$SignCP
[1] 1

\$Curr
[1] "\$"

\$ContrSize
[1] 100

\$SName
[1] "A stock share"

\$SSymbol
[1] ""

\$r
[1] 0.05

\$q
[1] 0

\$rf
[1] 0

\$vol
[1] 0.3

\$NSteps
[1] 3

\$u
[1] 1.277556

\$d
[1] 0.7827445

\$dt
[1] 0.6666667

\$a
[1] 1.033895

\$p
[1] 0.5075682

\$SYld
[1] 0.05

\$DF_ttm
[1] 0.9048374

\$DF_dt
[1] 0.9672161

\$isEu
[1] TRUE

\$isAm
[1] FALSE

\$NPaths
[1] 5

\$T1
[1] 1

\$PxMC
[1] 6.064614

attr(,"class")
[1] "Opt"   "OptPx"
\$S0
[1] 50

\$ttm
[1] 2

\$K
[1] 52

\$Style
\$Style\$Name
[1] "Chooser"

\$Style\$Vanilla
[1] FALSE

\$Style\$Exotic
[1] TRUE

\$Style\$European
[1] FALSE

\$Style\$American
[1] FALSE

\$Style\$Asian
[1] FALSE

\$Style\$Binary
[1] FALSE

\$Style\$AverageStrike
[1] FALSE

\$Style\$Barrier
[1] FALSE

\$Style\$Chooser
[1] TRUE

\$Style\$Compound
[1] FALSE

\$Style\$DeferredPayment
[1] FALSE

\$Style\$ForeignEquity
[1] FALSE

\$Style\$ForwardStart
[1] FALSE

\$Style\$Gap
[1] FALSE

\$Style\$HolderExtendible
[1] FALSE

[1] FALSE

\$Style\$Lookback
[1] FALSE

\$Style\$MOPM
[1] FALSE

\$Style\$Perpetual
[1] FALSE

\$Style\$Quotient
[1] FALSE

\$Style\$Rainbow
[1] FALSE

\$Style\$Shout
[1] FALSE

\$Style\$SimpleChooser
[1] FALSE

\$Style\$VarianceSwap
[1] FALSE

\$Right
\$Right\$Name
[1] "Put"

\$Right\$Call
[1] FALSE

\$Right\$Put
[1] TRUE

\$Right\$Other
[1] FALSE

\$Right\$SignCP
[1] -1

\$Curr
[1] "\$"

\$ContrSize
[1] 100

\$SName
[1] "A stock share"

\$SSymbol
[1] ""

\$r
[1] 0.05

\$q
[1] 0

\$rf
[1] 0

\$vol
[1] 0.3

\$NSteps
[1] 3

\$u
[1] 1.277556

\$d
[1] 0.7827445

\$dt
[1] 0.6666667

\$a
[1] 1.033895

\$p
[1] 0.5075682

\$SYld
[1] 0.05

\$DF_ttm
[1] 0.9048374

\$DF_dt
[1] 0.9672161

\$isEu
[1] TRUE

\$isAm
[1] FALSE

\$NPaths
[1] 5

\$T1
[1] 1

\$PxMC
[1] 12.2777

attr(,"class")
[1] "Opt"   "OptPx"
\$S0
[1] 100

\$ttm
[1] 4

\$K
[1] 110

\$Style
\$Style\$Name
[1] "Chooser"

\$Style\$Vanilla
[1] FALSE

\$Style\$Exotic
[1] TRUE

\$Style\$European
[1] FALSE

\$Style\$American
[1] FALSE

\$Style\$Asian
[1] FALSE

\$Style\$Binary
[1] FALSE

\$Style\$AverageStrike
[1] FALSE

\$Style\$Barrier
[1] FALSE

\$Style\$Chooser
[1] TRUE

\$Style\$Compound
[1] FALSE

\$Style\$DeferredPayment
[1] FALSE

\$Style\$ForeignEquity
[1] FALSE

\$Style\$ForwardStart
[1] FALSE

\$Style\$Gap
[1] FALSE

\$Style\$HolderExtendible
[1] FALSE

[1] FALSE

\$Style\$Lookback
[1] FALSE

\$Style\$MOPM
[1] FALSE

\$Style\$Perpetual
[1] FALSE

\$Style\$Quotient
[1] FALSE

\$Style\$Rainbow
[1] FALSE

\$Style\$Shout
[1] FALSE

\$Style\$SimpleChooser
[1] FALSE

\$Style\$VarianceSwap
[1] FALSE

\$Right
\$Right\$Name
[1] "Call"

\$Right\$Call
[1] TRUE

\$Right\$Put
[1] FALSE

\$Right\$Other
[1] FALSE

\$Right\$SignCP
[1] 1

\$Curr
[1] "\$"

\$ContrSize
[1] 100

\$SName
[1] "A stock share"

\$SSymbol
[1] ""

\$r
[1] 0.05

\$q
[1] 0.04

\$rf
[1] 0

\$vol
[1] 0.2

\$NSteps
[1] 3

\$u
[1] 1.259784

\$d
[1] 0.793787

\$dt
[1] 1.333333

\$a
[1] 1.013423

\$p
[1] 0.4713243

\$SYld
[1] 0.01

\$DF_ttm
[1] 0.8187308

\$DF_dt
[1] 0.935507

\$isEu
[1] TRUE

\$isAm
[1] FALSE

\$NPaths
[1] 5

\$T1
[1] 2

\$PxMC
[1] 29.75217

attr(,"class")
[1] "Opt"   "OptPx"
\$S0
[1] 110

\$ttm
[1] 4

\$K
[1] 100

\$Style
\$Style\$Name
[1] "Chooser"

\$Style\$Vanilla
[1] FALSE

\$Style\$Exotic
[1] TRUE

\$Style\$European
[1] FALSE

\$Style\$American
[1] FALSE

\$Style\$Asian
[1] FALSE

\$Style\$Binary
[1] FALSE

\$Style\$AverageStrike
[1] FALSE

\$Style\$Barrier
[1] FALSE

\$Style\$Chooser
[1] TRUE

\$Style\$Compound
[1] FALSE

\$Style\$DeferredPayment
[1] FALSE

\$Style\$ForeignEquity
[1] FALSE

\$Style\$ForwardStart
[1] FALSE

\$Style\$Gap
[1] FALSE

\$Style\$HolderExtendible
[1] FALSE

[1] FALSE

\$Style\$Lookback
[1] FALSE

\$Style\$MOPM
[1] FALSE

\$Style\$Perpetual
[1] FALSE

\$Style\$Quotient
[1] FALSE

\$Style\$Rainbow
[1] FALSE

\$Style\$Shout
[1] FALSE

\$Style\$SimpleChooser
[1] FALSE

\$Style\$VarianceSwap
[1] FALSE

\$Right
\$Right\$Name
[1] "Put"

\$Right\$Call
[1] FALSE

\$Right\$Put
[1] TRUE

\$Right\$Other
[1] FALSE

\$Right\$SignCP
[1] -1

\$Curr
[1] "\$"

\$ContrSize
[1] 100

\$SName
[1] "A stock share"

\$SSymbol
[1] ""

\$r
[1] 0.05

\$q
[1] 0.04

\$rf
[1] 0

\$vol
[1] 0.2

\$NSteps
[1] 3

\$u
[1] 1.259784

\$d
[1] 0.793787

\$dt
[1] 1.333333

\$a
[1] 1.013423

\$p
[1] 0.4713243

\$SYld
[1] 0.01

\$DF_ttm
[1] 0.8187308

\$DF_dt
[1] 0.935507

\$isEu
[1] TRUE

\$isAm
[1] FALSE

\$NPaths
[1] 5

\$T1
[1] 2

\$PxMC
[1] 39.16677

attr(,"class")
[1] "Opt"   "OptPx"
\$S0
[1] 50

\$ttm
[1] 0.5

\$K
[1] 50

\$Style
\$Style\$Name
[1] "Chooser"

\$Style\$Vanilla
[1] FALSE

\$Style\$Exotic
[1] TRUE

\$Style\$European
[1] FALSE

\$Style\$American
[1] FALSE

\$Style\$Asian
[1] FALSE

\$Style\$Binary
[1] FALSE

\$Style\$AverageStrike
[1] FALSE

\$Style\$Barrier
[1] FALSE

\$Style\$Chooser
[1] TRUE

\$Style\$Compound
[1] FALSE

\$Style\$DeferredPayment
[1] FALSE

\$Style\$ForeignEquity
[1] FALSE

\$Style\$ForwardStart
[1] FALSE

\$Style\$Gap
[1] FALSE

\$Style\$HolderExtendible
[1] FALSE

[1] FALSE

\$Style\$Lookback
[1] FALSE

\$Style\$MOPM
[1] FALSE

\$Style\$Perpetual
[1] FALSE

\$Style\$Quotient
[1] FALSE

\$Style\$Rainbow
[1] FALSE

\$Style\$Shout
[1] FALSE

\$Style\$SimpleChooser
[1] FALSE

\$Style\$VarianceSwap
[1] FALSE

\$Right
\$Right\$Name
[1] "Call"

\$Right\$Call
[1] TRUE

\$Right\$Put
[1] FALSE

\$Right\$Other
[1] FALSE

\$Right\$SignCP
[1] 1

\$Curr
[1] "\$"

\$ContrSize
[1] 100

\$SName
[1] "A stock share"

\$SSymbol
[1] ""

\$r
[1] 0.08

\$q
[1] 0.1

\$rf
[1] 0

\$vol
[1] 0.25

\$NSteps
[1] 3

\$u
[1] 1.107452

\$d
[1] 0.9029735

\$dt
[1] 0.1666667

\$a
[1] 0.9966722

\$p
[1] 0.4582321

\$SYld
[1] -0.02

\$DF_ttm
[1] 0.9607894

\$DF_dt
[1] 0.9867552

\$isEu
[1] FALSE

\$isAm
[1] TRUE

\$NPaths
[1] 5

\$T1
[1] 0.25

\$PxMC
[1] 28.95764

attr(,"class")
[1] "Opt"   "OptPx"
```

QFRM documentation built on May 29, 2017, 10:12 p.m.