call <- function (sigma, r, T, K, S) { z <- (log (S / K) + (r + sigma^2 / 2) * T) / sigma / sqrt (T) S * pnorm (z) - K * exp (-r*T) * pnorm (z - sigma * sqrt(T)) } # ============================================================================== put <- function (sigma, r, T, K, S) { call (sigma, r, T, K, S) + K * exp (-r*T) - S } # ============================================================================== fn <- function (u) { call (u, 0.01, 0.5, 80, 85.2) - 11.12 } reseni <- uniroot (fn, c (0, 0.5)) reseni$root