Black Scholes Variables Calculator

nicnad

Newbie
Messages
7
Likes
0
Hi,

I am looking for a calculator where I could find the value of a missing variable within the Black Scholes formula. I came across this kind of calculator once on the Internet but I can't find it anymore.

E.G.

strike price 65
stock price 60
time (days) 30
volatilitiy (%) 20
option value 10 $
dividend yield(%) 0

What is the risk free interest rate (based on black scholes formula) ?

or

strike price 65
time (days) 30
volatilitiy (%) 20
option value 10 $
risk free interest rate(%) 2
dividend yield(%) 0

What is the stock price (based on black scholes formula)?

Basically, If I have 6 out of the 7 variables from Black Scholes formula, I want a calculator that would calculate the missing variable. Anyone here knows where I could find this?

Thank you for your help.
 
There are lots of implied vol calculators around, because thats quite important, but I haven't seen a general one for all parameters, because it is often not important, it's not like someone looks at an option price and needs to find the maturity or strike for example.

I guess you could do it yourself though in excel. Take the formula, and use a root solving method.
 
@Ibetyou : I looked at you website and it is not exactly what I am looking for.

I already have this VBA fonction to calculate black scholes option value. Anyone knows how to isolate the other variable?


Function BSMValue(S, X, r, q, tyr, sigma, i As Boolean)
'returns Black-Sholes option value (call or put set by ion variable
'Macro by: Brett Weese
'Source: Advanced Modelling in Finance Using Excel and VBA (Jackson, Staunton)
Dim ert, eqt
Dim DOne, DTwo, NDOne, NDTwo

ert = Exp(-q * tyr)
eqt = Exp(-r * tyr)

Select Case i
Case 1 'call option
DOne = (Log(S / X) + (r - q + 0.5 * sigma ^ 2) * tyr) / _
(sigma * Sqr(tyr))
DTwo = (Log(S / X) + (r - q - 0.5 * sigma ^ 2) * tyr) / _
(sigma * Sqr(tyr))
NDOne = Application.NormSDist(DOne)
NDTwo = Application.NormSDist(DTwo)
BSMValue = S * ert * NDOne - X * eqt * NDTwo
Case 0 'put option
DOne = -(Log(S / X) + (r - q + 0.5 * sigma ^ 2) * tyr) / _
(sigma * Sqr(tyr))
DTwo = -(Log(S / X) + (r - q - 0.5 * sigma ^ 2) * tyr) / _
(sigma * Sqr(tyr))
NDOne = Application.NormSDist(DOne)
NDTwo = Application.NormSDist(DTwo)
BSMValue = -S * ert * NDOne + X * eqt * NDTwo
End Select
End Function
 
Top