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

Description Usage Arguments Details Value Author(s) References Examples

View source: R/Chooser.R

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

$Style$Ladder
[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

$Style$Ladder
[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

$Style$Ladder
[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

$Style$Ladder
[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

$Style$Ladder
[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 2, 2019, 8:26 a.m.