Description Usage Arguments Details Value Author(s) References See Also Examples
View source: R/InlineOptionsschein.R
Valuation of a Double Barrier Binary Call, aka "Inline Warrant"
1 | DoubleBarrierBinaryCall(S, K, L, U, T, r, r_d, sigma, ratio=1, nmax = 20)
|
S |
the asset price, a numeric value. |
K |
the fixed cash rebate |
L |
the lower barrier, a numeric value. |
U |
the upper barrier, a numeric value. |
T |
time to maturity measured in years |
r |
the annualized rate of interest, a numeric value; e.g. 0.25 means 25% pa. |
r_d |
the annualized dividend yield, a numeric value; e.g. 0.25 means 25% pa. |
sigma |
the annualized volatility of the underlying security, a numeric value; e.g. 0.3 means 30% volatility pa. |
ratio |
ratio, number of underlyings one certificate refers to, a numeric value; e.g. 0.25 means 4 certificates refer to 1 share of the underlying asset |
nmax |
maximum number of iterations. Defaults to 20. |
Double Barrier Binary Calls offer a fixed payoff if the underlying stays in the predetermined range [L,U] during the lifetime. If one of the barriers have been hit the certifiate is knocked out and will be worthless.
This method implements the Hui (1996) approach, which is a iteration up to a maximum number nmax
.
Also known as:
Inline Warrant
Range Warrant
the price (scalar or vector) of the Double Barrier Binary Call
Stefan Wilhelm wilhelm@financial.com
Sutrick, Teall, Tucker, Wei (1997). The Range of Brownian Motion Processes. The Journal of Financial Engineering, 6, 31–46
Hui (1996). One-Touch Barrier Binary Option Values. Applied Financial Economics, 6, 343–346
Haug (2007). The complete Guide to Option Pricing Formulas. Wiley & Sons, 2nd edition, 180–181
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | p <- DoubleBarrierBinaryCall(S=100, K=10, L=80, U=120, T=1,
r=0.02, r_d=0, sigma=0.2)
# Reproduce Table 4-23 in Haug (2007)
S <- 100
T <- 0.25
L <- c(80, 85, 90, 95)
U <- c(120, 115, 110, 105)
r <- 0.05
b <- 0.03
r_d <- 0.02
K <- 10
sigma <- c(0.1, 0.2, 0.3, 0.5)
p <- matrix(NA, 4, 4)
for (i in 1:4)
{
for (j in 1:4)
{
p[i,j] <- DoubleBarrierBinaryCall(S=S, K=K, L=L[i], U=U[i], T=T,
r=r, r_d=r_d, sigma=sigma[j])
}
}
X=cbind(L, U, p)
colnames(X)=c("L", "U", "sigma=0.1", "sigma=0.2", "sigma=0.3", "sigma=0.5")
X
|
Loading required package: fBasics
Loading required package: timeDate
Loading required package: timeSeries
Loading required package: fOptions
Loading required package: fExoticOptions
L U sigma=0.1 sigma=0.2 sigma=0.3 sigma=0.5
[1,] 80 120 9.933510 8.92794420 6.3351135329 1.929500e+00
[2,] 85 115 9.857499 7.22775046 3.7146540417 4.316197e-01
[3,] 90 110 8.961211 3.67404931 0.7969612914 5.960291e-03
[4,] 95 105 3.655120 0.09102502 0.0001930108 5.364668e-13
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.