# Options Formula Sure, here are the generalized formulas for calculating profits and losses for buyers and sellers of call and put options, including the impact of premiums: Here are the assumptions ``` K = 100 # Strike price premium = 10 # Premium paid/received for the option ``` ## Call Option ### Call Option Buyer Profit/Loss $ \begin{align} \text{Profit/Loss} = \max(0, S_T - K) - \text{Premium} \end{align} $ Where: - $S_T$ = Stock price at expiration - $K$ = Strike price - $\text{Premium}$ = Premium paid for the call option ![[Options Formula.png|500]] ### Call Option Seller Profit/Loss $ \begin{align} \text{Profit/Loss} = \text{Premium} - \max(0, S_T - K) \end{align} $ Where: - $\text{Premium}$ = Premium received for the call option ![[Options Formula-1.png|500]] ## Put Option ### Put Option Buyer Profit/Loss $ \begin{align} \text{Profit/Loss} = \max(0, K - S_T) - \text{Premium} \end{align} $ Where: - $S_T$ = Stock price at expiration -$K$ = Strike price - $\text{Premium}$ = Premium paid for the put option ![[Options Formula-2.png|500]] ### Put Option Seller Profit/Loss $ \begin{align} \text{Profit/Loss} = \text{Premium} - \max(0, K - S_T) \end{align} $ Where: - $\text{Premium}$ = Premium received for the put option ![[Options Formula-3.png|500]] ## Explanation 1. **Call Option Buyer**: - Profits if the stock price at expiration ($S_T$) is above the strike price ($K$). - The profit is the difference between $S_T$ and $K$, minus the premium paid. - If $S_T$ is less than or equal to $K$, the option expires worthless, and the loss is the premium paid. 2. **Call Option Seller**: - Profits if the stock price at expiration ($S_T$) is less than or equal to the strike price ($K$). - The profit is the premium received minus any amount the stock price exceeds the strike price. - If $S_T$ is above $K$, the seller incurs a loss equal to the difference between $S_T$ and $K$, minus the premium received. 3. **Put Option Buyer**: - Profits if the stock price at expiration ($S_T$) is below the strike price ($K$). - The profit is the difference between $K$ and $S_T$, minus the premium paid. - If $S_T$ is greater than or equal to $K$, the option expires worthless, and the loss is the premium paid. 4. **Put Option Seller**: - Profits if the stock price at expiration ($S_T$) is greater than or equal to the strike price ($K$). - The profit is the premium received minus any amount the strike price exceeds the stock price. - If $S_T$ is below $K$, the seller incurs a loss equal to the difference between $K$ and $S_T$, minus the premium received. These formulas provide a general framework for understanding the profit and loss scenarios for both buyers and sellers in options trading. ```python import numpy as np import matplotlib.pyplot as plt # Parameters S_T = np.linspace(50, 150, 500) # Stock price at expiration K = 100 # Strike price premium = 10 # Premium paid/received for the option # Call Option call_buyer_profit = np.maximum(0, S_T - K) - premium call_seller_profit = premium - np.maximum(0, S_T - K) # Put Option put_buyer_profit = np.maximum(0, K - S_T) - premium put_seller_profit = premium - np.maximum(0, K - S_T) # Plotting Call Option Buyer plt.figure(figsize=(10, 6)) plt.plot(S_T, call_buyer_profit, label='Call Buyer Profit/Loss', color='blue') plt.axhline(0, color='black', lw=1) plt.axvline(K, color='gray', linestyle='--', lw=1) plt.title('Call Option Buyer Profit/Loss') plt.xlabel('Stock Price at Expiration ($S_T$)') plt.ylabel('Profit/Loss') plt.legend() plt.grid(True) plt.show() # Plotting Call Option Seller plt.figure(figsize=(10, 6)) plt.plot(S_T, call_seller_profit, label='Call Seller Profit/Loss', color='red') plt.axhline(0, color='black', lw=1) plt.axvline(K, color='gray', linestyle='--', lw=1) plt.title('Call Option Seller Profit/Loss') plt.xlabel('Stock Price at Expiration ($S_T$)') plt.ylabel('Profit/Loss') plt.legend() plt.grid(True) plt.show() # Plotting Put Option Buyer plt.figure(figsize=(10, 6)) plt.plot(S_T, put_buyer_profit, label='Put Buyer Profit/Loss', color='blue') plt.axhline(0, color='black', lw=1) plt.axvline(K, color='gray', linestyle='--', lw=1) plt.title('Put Option Buyer Profit/Loss') plt.xlabel('Stock Price at Expiration ($S_T$)') plt.ylabel('Profit/Loss') plt.legend() plt.grid(True) plt.show() # Plotting Put Option Seller plt.figure(figsize=(10, 6)) plt.plot(S_T, put_seller_profit, label='Put Seller Profit/Loss', color='red') plt.axhline(0, color='black', lw=1) plt.axvline(K, color='gray', linestyle='--', lw=1) plt.title('Put Option Seller Profit/Loss') plt.xlabel('Stock Price at Expiration ($S_T$)') plt.ylabel('Profit/Loss') plt.legend() plt.grid(True) plt.show() ```