Last data update: 2014.03.03

R: American options pricing with Least Squares Monte Carlo...
LSMonteCarlo-packageR Documentation

American options pricing with Least Squares Monte Carlo method

Description

The package compiles functions that calculate prices of American put options with Least Squares Monte Carlo method. The option types are plain vanilla American put, Asian American put, and Quanto American put. The pricing algorithms include variance reduction techniques such as Antithetic Variates and Control Variates. Additional functions are given to derive "price surfaces" at different volatilities and strikes, create 3-D plots, quickly generate Geometric Brownian motion, and calculate prices of European options with Black & Scholes analytical solution.

Details

Package: LSMonteCarlo
Type: Package
Version: 1.0
Date: 2013-09-20
License: GPL 3

The Least Squares Monte Carlo is an approach developed to approximate the value of American options. It combines regression modeling and Monte Carlo simulation. The key feature of this method is estimation of the conditional expectation of the future pay-offs by a regression model (for details see Longstaff & Schwartz, 2000). The main pricing functions employing this method in the package are: AmerPutLSM, AsianAmerPutLSM, and QuantoAmerPutLSM. Pricing functions that include variance reduction methods are: AmerPutLSM_AV, QuantoAmerPutLSM_AV (Antithetic Variates) and AmerPutLSM_CV (Control Variates, with Black & Scholes solution for European put used as the control). All these functions are based on Geometric Brownian motion as a price process. They can be used with tailored summary, print, and price functions. The "price surfaces" at different volatilities and strikes can be derived using the functions AmerPutLSMPriceSurf, AsianAmerPutLSMPriceSurf, and QuantoAmerPutLSMPriceSurf, and plotted with tailored plot function. For general reading on option pricing with Monte Carlo methods see Glasserman (2004).

Author(s)

Mikhail A. Beketov

Maintainer: Mikhail A. Beketov <mikhail.beketov@gmx.de>

References

Glasserman, P. 2004. Monte Carlo Methods in Financial Engineering. Springer.

Longstaff, F.A., and E.S. Schwartz. 2000. Valuing american option by simulation: A simple least-squared approach. The Review of Financial Studies. 14:113-147.

See Also

Functions: AmerPutLSM, AmerPutLSM_AV, AmerPutLSM_CV, AsianAmerPutLSM, QuantoAmerPutLSM, and QuantoAmerPutLSM_AV.

Examples

Put<-AmerPutLSM(Spot=14.2, Strike=16.5, n=200, m=50)
summary(Put)
price(Put)
plot(AmerPutLSMPriceSurf(vols = (seq(0.1, 1.5, 0.2)), n=200, m=10, 
strikes = (seq(0.5, 1.9, 0.2))), color = divPalette(150, "RdBu"))

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(LSMonteCarlo)
Loading required package: mvtnorm
Loading required package: fBasics
Loading required package: timeDate
Loading required package: timeSeries


Rmetrics Package fBasics
Analysing Markets and calculating Basic Statistics
Copyright (C) 2005-2014 Rmetrics Association Zurich
Educational Software for Financial Engineering and Computational Science
Rmetrics is free software and comes with ABSOLUTELY NO WARRANTY.
https://www.rmetrics.org --- Mail to: info@rmetrics.org
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/LSMonteCarlo/LSMonteCarlo-package.Rd_%03d_medium.png", width=480, height=480)
> ### Name: LSMonteCarlo-package
> ### Title: American options pricing with Least Squares Monte Carlo method
> ### Aliases: LSMonteCarlo-package LSMonteCarlo
> ### Keywords: Quantitative Finance Option pricing Monte Carlo Regression
> 
> ### ** Examples
> 
> Put<-AmerPutLSM(Spot=14.2, Strike=16.5, n=200, m=50)
> summary(Put)

American Put Option
Method: Simple Least Squares Monte Carlo
                             
Option price         2.319598
Spot price           14.2    
Strike               16.5    
Volatility           0.2     
Number of paths      200     
Number of time-steps 50      
Interest rate        0.06    
Dividend rate        0       
Maturity time        1       
> price(Put)
[1] 2.319598
> plot(AmerPutLSMPriceSurf(vols = (seq(0.1, 1.5, 0.2)), n=200, m=10, 
+ strikes = (seq(0.5, 1.9, 0.2))), color = divPalette(150, "RdBu"))
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>