AmericanOption {RQuantLib} | R Documentation |
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
## Default S3 method:
AmericanOption(type, underlying, strike,
dividendYield, riskFreeRate, maturity, volatility,
timeSteps=150, gridPoints=149, engine="BaroneAdesiWhaley",
discreteDividends, discreteDividendsTimeUntil)
Arguments
type |
A string with one of the values |
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” |
discreteDividends |
Vector of discrete dividends (optional) |
discreteDividendsTimeUntil |
Vector of times to discrete dividends (in fractional years, optional) |
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 |
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.
The “CrankNicolson” engine needs to be used when setting discrete dividends.
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
https://www.quantlib.org/ for details on QuantLib
.
See Also
Examples
# 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")