black formula was incorrect.

This commit is contained in:
shuo_at_work 2018-01-04 10:22:22 +08:00
parent 16c616ece1
commit 9dcdd91457

View File

@ -47,9 +47,9 @@ def calculatePrice(f, k, r, t, v, cp):
if v <= 0:
return max(0, cp * (f - k))
d1 = (log(f / k) + (0.5 * pow(v, 2) + r) * t) / (v * sqrt(t))
d1 = (log(f / k) + (0.5 * pow(v, 2)) * t) / (v * sqrt(t))
d2 = d1 - v * sqrt(t)
price = cp * (f * cdf(cp * d1) - k * cdf(cp * d2) * exp(-r * t))
price = cp * (f * cdf(cp * d1) - k * cdf(cp * d2)) * exp(-r * t)
return price
#----------------------------------------------------------------------