obpi {etrm} | R Documentation |
Option Based Portfolio Insurance (OBPI)
Description
Implements OBPI strategy for commodity price risk management
Usage
obpi(
q,
tdate,
f,
k = f[1],
vol,
r = 0,
tdays = 250,
daysleft,
tcost = 0,
int = TRUE
)
Arguments
q |
numeric value for quantity to be hedged, either positive (net buyer) or negative (net seller) |
tdate |
date vector with trading days |
f |
numeric futures price vector |
k |
numeric value for option strike price |
vol |
value for volatility |
r |
value for interest rate |
tdays |
integer assumed number of trading days per year |
daysleft |
integer with days left to option expiry |
tcost |
numeric transaction costs pr unit |
int |
TRUE/ FALSE integer restriction on tradable volume |
Value
instance of the OBPI class
Examples
# OBPI for a buyer (seller), where stop loss is set 10% above (below) initial market price.
set.seed(5)
# GBM price process parameters
mu <- 0.2
sigma <- 0.1
S0 <- 100
# time
Y <- 2
N <- 500
delta <- Y/N
t <- seq (0, 1, length = N + 1)
# price process and date vector
W <- c(0, cumsum ( sqrt(delta) * rnorm (N)))
f_gbm <- S0 * exp(mu * t + sigma * W)
tr_dates <- seq(Sys.Date(), Sys.Date()+500, by = "day")
#implement obpi strategy for buyer
obpi_b <- obpi(q = 10,
tdate = tr_dates,
f = f_gbm,
k = f_gbm[1],
vol = 0.2,
r = 0,
tdays = 250,
daysleft = length(f_gbm),
tcost = 0,
int = TRUE)
# implement obpi strategy for seller
obpi_s <- obpi(q = - 10,
tdate = tr_dates,
f = f_gbm,
k = f_gbm[1],
vol = 0.2,
r = 0,
tdays = 250,
daysleft = length(f_gbm),
tcost = 0,
int = TRUE)
[Package etrm version 1.0.1 Index]