The vectorized_black function gives the undiscounted option price. I believe the result should be multiplied by exp(-r * t).