spreadOption {RTL} | R Documentation |
Kirk's Approximation for Spread Option Pricing
Description
Computes the price and Greeks of European spread options using Kirk's 1995 approximation. The spread option gives the holder the right to receive the difference between two asset prices (F2 - F1) at maturity, if positive, in exchange for paying the strike price X.
Usage
spreadOption(F1, F2, X, sigma1, sigma2, rho, T2M, r, type = "call")
Arguments
F1 |
numeric, the forward price of the first asset. |
F2 |
numeric, the forward price of the second asset. |
X |
numeric, the strike price of the spread option. |
sigma1 |
numeric, the volatility of the first asset (annualized). |
sigma2 |
numeric, the volatility of the second asset (annualized). |
rho |
numeric, the correlation coefficient between the two assets (-1 <= rho <= 1). |
T2M |
numeric, the time to maturity in years. |
r |
numeric, the risk-free interest rate (annualized). |
type |
character, the type of option to evaluate, either "call" or "put". Default is "call". |
Details
Kirk's approximation is particularly useful for spread options where the exercise price is zero or small relative to the asset prices. The approximation assumes that the ratio of the assets follows a lognormal distribution.
The implementation includes a small constant (epsilon) to avoid numerical instabilities that might arise from division by zero.
Value
A list containing the following elements:
-
price
: The price of the spread option -
delta_F1
: The sensitivity of the option price to changes in F1 -
delta_F2
: The sensitivity of the option price to changes in F2 -
gamma_F1
: The second derivative of the option price with respect to F1 -
gamma_F2
: The second derivative of the option price with respect to F2 -
gamma_cross
: The mixed second derivative with respect to F1 and F2 -
vega_1
: The sensitivity of the option price to changes in sigma1 -
vega_2
: The sensitivity of the option price to changes in sigma2 -
theta
: The sensitivity of the option price to the passage of time -
rho
: The sensitivity of the option price to changes in the interest rate
References
Kirk, E. (1995) "Correlation in the Energy Markets." Managing Energy Price Risk, Risk Publications and Enron, London, pp. 71-78.
Examples
# Price a call spread option with the following parameters:
F1 <- 100 # Forward price of first asset
F2 <- 110 # Forward price of second asset
X <- 5 # Strike price
sigma1 <- 0.2 # Volatility of first asset
sigma2 <- 0.25 # Volatility of second asset
rho <- 0.5 # Correlation between assets
T2M <- 1 # One year to maturity
r <- 0.05 # Risk-free rate
result_call <- spreadOption(F1, F2, X, sigma1, sigma2, rho, T2M, r, type = "call")
result_put <- spreadOption(F1, F2, X, sigma1, sigma2, rho, T2M, r, type = "put")