BLACK.SCHOLES

=BLACK.SCHOLES(s,x,t,v,r,optionType,calcType)

s
Asset price
x
Strike price
t
Time in years
v
Volatility
r
Interest rate
optionType
(C)all or (P)ut
calcType
value|delta|gamma|vega|theta|rho one or more of these. More than one calcType can be entered using a constant array

BLACK.SCHOLES calculates the price of an option using the Black & Scholes option pricing formula.

vzczc

New Member
Joined
Feb 11, 2021
Messages
17
Office Version
  1. 365
Platform
  1. Windows
BLACK.SCHOLES calculates the price of an option using the Black & Scholes option pricing formula. It's a well-known formula that calculates theoretical values of an investment based on the price of an asset, the strike price, time to expiry, interest rate, and volatility.

The Black Scholes Calculator is defined in these formulas:
Call option
optionType= "C"

s* N(d1) - x* EXP(-r*t)*N(d2)

Put option
x* EXP(-r*t)*N(-d2)-s* N(-d1)

where
N is the cumulative normal distribution function (NORM.S.DIST in Excel)
d1=(LN(s/x)+r*t)/(v*SQRT(t))+0.5*v*SQRT(t)
d2=d1-v*SQRT(t)

The formula also optionally calculates the derivatives with respect to each of the parameters. These are commonly referred to as "greeks", and are delta, gamma, vega, rho, and theta.

The last parameter, calcType, should be "value" if you want to calculate the option price, but can also contain a constant array with each of the required outputs. So, if you want the value and all the derivatives this parameter should be {"value","delta","gamma", "vega", "rho", "theta"}

Excel Formula:
=LAMBDA(s,x,t,v,r,optionType,calcType,
  LET(sqrtT,SQRT(t),
    vSqrtT,v*sqrtT,
    bs_os2pi,0.398942280401432,
    bs_d1,(LN(s/x)+r*t)/vSqrtT+0.5*vSqrtT,
    bs_d2,bs_d1-vSqrtT,
    ert,EXP(-r*t),
    oType,UPPER(LEFT(optionType,1)),
    sign,IF(oType="C",1,-1),
    bs_nd1,EXP(-(bs_d1^2/2))*bs_os2pi,
    ns_d1,NORM.S.DIST(sign*bs_d1,TRUE),
    ns_d2,NORM.S.DIST(sign*bs_d2,TRUE),
    SWITCH(calcType,
      "value",sign*s*ns_d1-sign*x*ert*ns_d2,
      "delta",sign*ns_d1,
      "gamma",bs_nd1/(s*vSqrtT),
      "vega",s*sqrtT*bs_nd1,
      "theta",(-(s*v*bs_nd1)/(2*sqrtT)-sign*r*x*ert*ns_d2),
      "rho",sign*x*t*ert*ns_d2)
  )
)

OptionLambda3.xlsx
ABCDEFGH
1Asset prices105.00
2Strike pricex100.00
3Time (in years)t0.50
4Volatilityv20%
5Interest rate rr1%
6Option typeotcall
7Calculation typectvalue
8
9optionPrice
10B & S formula8.924622622
11
12valuedeltagammavegathetarho
13B & S formula with greeks8.924620.674030.0242726.75493-5.9694730.92418
blackScholes
Cell Formulas
RangeFormula
C10C10=BLACK.SCHOLES(C1,C2,C3,C4,C5,C6,C7)
C13:H13C13=BLACK.SCHOLES($C1,$C2,$C3,$C4,$C5,$C6,const_bsGreeks)
Dynamic array formulas.
Named Ranges
NameRefers ToCells
const_bsGreeks=blackScholes!$C$12:$H$12C13
 
Last edited by a moderator:
Upvote 0

Forum statistics

Threads
1,216,503
Messages
6,131,022
Members
449,616
Latest member
PsychoCube

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top