Untitled
import matplotlib.pyplot as plt import numpy as np # Define parameters K = 50 # Strike price r = 0.05 # Risk-free rate T = 1 # Time to expiration # Generate stock prices S = np.linspace(0, 100, 1000) # Calculate payoffs long_stock = S short_bond = -K * np.exp(-r * T) * np.ones_like(S) replicated_call = np.maximum(long_stock + short_bond, 0) # Plot plt.figure(figsize=(10, 6)) plt.plot(S, long_stock, label='Long Stock', linestyle='--') plt.plot(S, short_bond, label='Short Bond', linestyle='--') plt.plot(S, replicated_call, label='Replicated Call Option', linewidth=2) plt.axhline(y=0, color='k', linestyle='-', linewidth=0.5) plt.axvline(x=K, color='k', linestyle=':', linewidth=0.5) plt.xlabel('Stock Price') plt.ylabel('Payoff') plt.title('Replicating a Call Option') plt.legend() plt.grid(True) plt.show()
Leave a Comment