HP Financial Calculators » HP 30b » HP 30b Black-Scholes Equation » Black-Scholes Equation Implementation on Microsoft VB

Black-Scholes Equation Implementation on VB

Black-Scholes in Visual Basic:

'' The Black and Scholes (1973) Stock option formula
Public Function BlackScholes(CallPutFlag As String, S As Double, X _
As Double, T As Double, r As Double, v As Double) As Double

Dim d1 As Double, d2 As Double

d1 = (Log(S / X) + (r + v ^ 2 / 2) * T) / (v * Sqr(T))
d2 = d1 - v * Sqr(T)
If CallPutFlag = "c" Then
BlackScholes = S * CND(d1) - X * Exp(-r * T) * CND(d2)
ElseIf CallPutFlag = "p" Then
BlackScholes = X * Exp(-r * T) * CND(-d2) - S * CND(-d1)
End If
End Function

''' The cumulative normal distribution function
Public Function CND(X As Double) As Double

Dim L As Double, K As Double
Const a1 = 0.31938153: Const a2 = -0.356563782: Const a3 = 1.781477937:
Const a4 = -1.821255978: Const a5 = 1.330274429

L = Abs(X)
K = 1 / (1 + 0.2316419 * L)
CND = 1 - 1 / Sqr(2 * Application.Pi()) * Exp(-L ^ 2 / 2)
CND = CND * (a1 * K + a2 * K ^ 2 + a3 * K ^ 3 + a4 * K ^ 4 + a5 * K ^ 5)

If X < 0 Then
CND = 1 - CND
End If
End Function

Updated On: 10.01.08

  1. On 07-Apr-2019, Bill wrote: 
    In the above function what is the variable S , X , T , r , and v ?
    Your reply to Bill

Leave your message, comment or feedback:
Your Name (shown) & Your E-mail (hidden) is used only to alert you when someone reply your message. 

 

Retailers
Malaysia Philippines Singapore Thailand

HP Calc Heritage

Note: All prices quoted on this site does not include taxes and tariffs. Actual prices may vary. Check with your nearest resellers for local pricing.