RQuantLib (version 0.4.3)

AmericanOption: American Option evaluation using Finite Differences

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

"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”

Value

An object of class AmericanOption (which inherits from class Option) is returned. It contains a list with the following components: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.

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.

References

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

See Also

EuropeanOption

Examples

Run this code
# 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")

Run the code above in your browser using DataCamp Workspace