` return self.S*sqrt(self.T)*norm.pdf(d1)*exp(-self.r*self.T) ` fprime is not correct, it should be ` return self.S*sqrt(self.T)*norm.pdf(d1)*exp(-self.q*self.T) `