AmericanOption: American Option evaluation using Finite Differences

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/option.R

Description

This function evaluations an American-style option on a common stock using finite differences. The option value as well as the common first derivatives ("Greeks") are returned.

Usage

1
2
3
4
## Default S3 method:
AmericanOption(type, underlying, strike,
		dividendYield, riskFreeRate, maturity, volatility, 
		timeSteps=150, gridPoints=149, engine="BaroneAdesiWhaley")

Arguments

type

A string with one of the values call or put

underlying

Current price of the underlying stock

strike

Strike price of the option

dividendYield

Continuous dividend yield (as a fraction) of the stock

riskFreeRate

Risk-free rate

maturity

Time to maturity (in fractional years)

volatility

Volatility of the underlying stock

timeSteps

Time steps for the “CrankNicolson” finite differences method engine, default value is 150

gridPoints

Grid points for the “CrankNicolson” finite differences method, default value is 149

engine

String selecting pricing engine, currently supported are “BaroneAdesiWhaley” and “CrankNicolson”

Details

The Finite Differences method is used to value the American Option.

Please see any decent Finance textbook for background reading, and the QuantLib documentation for details on the QuantLib implementation.

Value

An object of class AmericanOption (which inherits from class Option) is returned. It contains a list with the following components:

value

Value of option

delta

Sensitivity of the option value for a change in the underlying

gamma

Sensitivity of the option delta for a change in the underlying

vega

Sensitivity of the option value for a change in the underlying's volatility

theta

Sensitivity of the option value for a change in t, the remaining time to maturity

rho

Sensitivity of the option value for a change in the risk-free interest rate

dividendRho

Sensitivity of the option value for a change in the dividend yield

parameters

List with parameters with which object was created

Note that under the new pricing framework used in QuantLib, pricers do not provide analytics for all 'Greeks'. When “CrankNicolson” is selected, then at least delta, gamma and vega are available. With the default pricing engine of “BaroneAdesiWhaley”, no greeks are returned.

Note

The interface might change in future release as QuantLib stabilises its own API.

Author(s)

Dirk Eddelbuettel edd@debian.org for the R interface; the QuantLib Group for QuantLib

References

http://quantlib.org for details on QuantLib.

See Also

EuropeanOption

Examples

1
2
3
4
5
6
# simple call with unnamed parameters
AmericanOption("call", 100, 100, 0.02, 0.03, 0.5, 0.4)
# simple call with some explicit parameters
AmericanOption("put", strike=100, volatility=0.4, 100, 0.02, 0.03, 0.5)
# simple call with unnamed parameters, using Crank-Nicolons
AmericanOption("put", strike=100, volatility=0.4, 100, 0.02, 0.03, 0.5, engine="CrankNicolson")

Example output

sh: 1: cannot create /dev/null: Permission denied
Concise summary of valuation for AmericanOption 
  value   delta   gamma    vega   theta     rho  divRho 
11.3648      NA      NA      NA      NA      NA      NA 
Concise summary of valuation for AmericanOption 
  value   delta   gamma    vega   theta     rho  divRho 
10.9174      NA      NA      NA      NA      NA      NA 
Concise summary of valuation for AmericanOption 
  value   delta   gamma    vega   theta     rho  divRho 
10.9173 -0.4358  0.0140      NA      NA      NA      NA 

RQuantLib documentation built on May 2, 2019, 4:48 p.m.