DoubleBarrierBinaryCall: Double Barrier Binary Call valuation using pricing by...

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

Description

Valuation of a Double Barrier Binary Call, aka "Inline Warrant"

Usage

1
DoubleBarrierBinaryCall(S, K, L, U, T, r, r_d, sigma, ratio=1, nmax = 20)

Arguments

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.

Details

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:

Value

the price (scalar or vector) of the Double Barrier Binary Call

Author(s)

Stefan Wilhelm wilhelm@financial.com

References

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

See Also

DoubleBarrierOption

Examples

 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  

Example output

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

fCertificates documentation built on May 2, 2019, 5:50 p.m.