1 |
S0 |
|
K |
|
r |
|
q |
|
ttm |
|
vol |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
function (S0 = 42, K = 40, r = 0.1, q = 0, ttm = 0.5, vol = 0.2)
{
stopifnot(is.numeric(S0), S0 >= 0, is.numeric(K), K > 0,
is.numeric(r), r >= 0 && r <= 1, is.numeric(q), q >=
0 && q <= 1, is.numeric(ttm), ttm > 0, is.numeric(vol),
vol > 0)
d1 = (log(S0/K) + (r - q + (vol^2)/2) * ttm)/(vol * sqrt(ttm))
d2 = d1 - vol * sqrt(ttm)
Nd1 = pnorm(d1)
Nd2 = pnorm(d2)
Call = S0 * exp(-q * ttm) * Nd1 - K * exp(-r * ttm) * Nd2
Put = K * exp(-r * ttm) * pnorm(-d2) - S0 * exp(-q * ttm) *
pnorm(-d1)
Px = list(Call = Call, Put = Put)
BS = list(d1 = d1, d2 = d2, Nd1 = Nd1, Nd2 = Nd2, Px = Px)
return(BS)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.