Untitled

 avatar
unknown
plain_text
16 days ago
821 B
3
Indexable
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