First Post

In [2]:
from scipy.stats import norm
import math

def bscall(strike=100,mat=1,fwd=100,sig=0.1,df=1):
    lnfs = math.log(1.0*fwd/strike)
    sig2t = sig*sig*mat
    sigsqrt = sig*math.sqrt(mat)
    d1 = (lnfs + 0.5 * sig2t) / sigsqrt
    d2 = (lnfs - 0.5 * sig2t) / sigsqrt
    fv = fwd * norm.cdf (d1) - strike * norm.cdf (d2)
    return df * fv

print(bscall(fwd=100, strike=100, sig=0.1, mat=1, df=1))
3.987761167674492