EuropeanOption: European Option evaluation using Closed-Form solution

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

View source: R/option.R

Description

The EuropeanOption function evaluations an European-style option on a common stock using the Black-Scholes-Merton solution. The option value, the common first derivatives ("Greeks") as well as the calling parameters are returned.

Usage

1
2
3
4
## Default S3 method:
EuropeanOption(type, underlying, strike,
	dividendYield, riskFreeRate, maturity, volatility, 
	discreteDividends, discreteDividendsTimeUntil)

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

discreteDividends

Vector of discrete dividends (optional)

discreteDividendsTimeUntil

Vector of times to discrete dividends (in fractional years, optional)

Details

The well-known closed-form solution derived by Black, Scholes and Merton is used for valuation. Implied volatilities are calculated numerically.

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

Value

The EuropeanOption function returns an object of class EuropeanOption (which inherits from class Option). 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

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

EuropeanOptionImpliedVolatility, EuropeanOptionArrays, AmericanOption,BinaryOption

Examples

1
2
3
4
5
6
7
8
9
## simple call with unnamed parameters
EuropeanOption("call", 100, 100, 0.01, 0.03, 0.5, 0.4)
## simple call with some explicit parameters, and slightly increased vol:
EuropeanOption(type="call", underlying=100, strike=100, dividendYield=0.01, 
riskFreeRate=0.03, maturity=0.5, volatility=0.5)
## simple call with slightly shorter maturity: QuantLib 1.7 compiled with 
## intra-day time calculation support with create slightly changed values
EuropeanOption(type="call", underlying=100, strike=100, dividendYield=0.01, 
riskFreeRate=0.03, maturity=0.499, volatility=0.5)

Example output

sh: 1: cannot create /dev/null: Permission denied
Concise summary of valuation for EuropeanOption 
   value    delta    gamma     vega    theta      rho   divRho 
 11.6365   0.5673   0.0138  27.6336 -11.8390  22.5475 -28.3657 
Concise summary of valuation for EuropeanOption 
   value    delta    gamma     vega    theta      rho   divRho 
 14.3927   0.5783   0.0110  27.4848 -14.4673  21.7206 -28.9169 
Concise summary of valuation for EuropeanOption 
   value    delta    gamma     vega    theta      rho   divRho 
 14.3782   0.5783   0.0110  27.4587 -14.4821  21.6806 -28.8553 

RQuantLib documentation built on Oct. 6, 2021, 5:06 p.m.