Black76_F: BlacK 76-F formula

View source: R/Black76_F.R

Black76_FR Documentation

BlacK 76-F formula

Description

compute the price of a call or put option using the BlacK 76-F

Usage

Black76_F(s, K, f, r, v, t, t_f, type)

Arguments

s

price of the underlying

K

strike price

f

foward price

r

risK free rate

v

volatility express in annual term

t

time to maturity of the option contract express in annual term

t_f

time to maturity of the foward contract express in annual term

type

type of the option Call "C" or Put "P"

Details

BlacK 's Model, also known as the Black 76 Model, is a versatile derivatives pricing model for valuing assets such as options on futures and capped variable rate debt securities. Traders in commodity markets often use the Black -76 model to value options on commodity futures. When it comes to commodity options on forwards, the Black -76 formula holds only for the case when the forward contract expires at the same time as the option contract T. In the case where there is delivery of a forward contract that has a different expiration date, one has only lock ed in the payoff from the option but will receive the intrinsic value first at the forward's expiration. The BlacK -76 formula has to be adjusted for this effect. So we introduce the BlacK 76-F formula by Haug

Value

price of a call or put european option using Black 76-F given price of underlying s, strike price K, foward price f, risk free rate r, volatility express in annual term v, time to maturity of the option t, time to maturity of the foward contract t_f and type of option "C" or "P"

Author(s)

Colzani Luca, Magni Marta, Mancassola Gaia, Kakkanattu Jenson

References

Espen Gaarder Haug(2007):The Complete Guide to Option Pricing Formulas

Examples

Black76_F(19,19,19,0.1,0.28,0.75,1,"C")
## The function is currently defined as
function (s, K, f, r, v, t, t_f, type) 
{
    d1 <- (log(f/K) + (v^(2)/2) * t)/(v * sqrt(t))
    d2 <- d1 - v * sqrt(t)
    if (type == "C") {
        price <- exp(-r * t_f) * (f * pnorm(d1) - K * pnorm(d2))
    }
    if (type == "P") {
        price <- exp(-r * t_f) * (K * pnorm(-d2) - f * pnorm(-d1))
    }
    return(round(price, 2))
  }

Lcolzani98/OptionPricingFunctions documentation built on June 13, 2022, 5:46 a.m.