Found a bug in the table in the OP. Here's the fix: LongStock and ShortStock: the PnL(S) formula must of course be "S - S0", since it's about the PnL, not the price.
Sorry, I messed it up :-( The above one is not necessary. But the function named "PnL(S)" needs to be renamed to "Payoff(S)" !!! Here's an updated version (v1.1) of the table, with some more info: Code: Formulas for Payoff at Expiry (v1.1) (Black-Scholes not required at/for expiry) Abbrevations: S Stock Price S0 Initial Stock Price Pr0 Initial Option Premium (ie. the Option Price) K Option Strike BEP Break/Even Point (the stock price at which PnL is 0) PnL(S) The formula for computing PnL for any S Infinity means "unlimited" Type NetPr MinPnL MaxPnL BEP ProfitZone Payoff(S) ---------------------------------------------------------------------------------------------------------------------------------------- LongStock Bullish -S0 -S0 +Infinity S0 BEP.right S ShortStock Bearish S0 -Infinity S0 S0 BEP.left S LongCall Bullish -Pr0 -Pr0 +Infinity K + Pr0 BEP.right max(S - K - Pr0, -Pr0) Equal alternative formula: max(S - K, 0) - Pr0 see https://www.macroption.com/call-option-payoff/ ShortCall Bearish Pr0 -Infinity Pr0 K + Pr0 BEP.left min(K - S + Pr0, Pr0) Equal alternative formula: Pr0 - max(0, S - K) see https://www.macroption.com/short-call-payoff/ LongPut Bearish -Pr0 -Pr0 K - Pr0 K - Pr0 BEP.left max(K - S - Pr0, -Pr0) Equal alternative formula: max(K - S, 0) - Pr0 see https://www.macroption.com/put-option-payoff ShortPut Bullish Pr0 -K + Pr0 Pr0 K - Pr0 BEP.right min(S - K + Pr0, Pr0) Equal alternative formula: Pr0 - max(0, K - S) see https://www.macroption.com/short-put-payoff/ CoveredCall Bullish -S0 + Pr0 NetPr K - Pr0 S0 - Pr0 BEP.right S < 0.0 ? MinPnL : S > K ? MaxPnL : MinPnL + S (= LS + SC) CashSecuredPut Bullish -K + Pr0 NetPr K - Pr0 K - Pr0 BEP.right S < 0.0 ? MinPnL : S > K ? MaxPnL : MinPnL + S (= SP + Cash)
If you are using any closed form formula to determine the payoff at options at expiry you are missing some serious risk parameters. It’s the difference between a profit and a loss.
@newwurldmn, FYI: you have me on blocking, maybe you wrongly think I'm blocking you Maybe you should unblock me for a better, constructive, communication Hmm. Can you tell some more?
@newwurldmn, you seem not to know what the payoff function is at all. You seem to believe that it's about the expected or most probable outcome of a real trade. Nope, it's not! It's a function that computes the payoff for any given stock price at expiry. FYI: at expiry only the stock price alone determines about the outcome of a trade, ie. the payoff, nothing else, not even IV anymore Man, how can you not know these basic facts/properties of options?
New update (v1.2a): Code: Formulas for Payoff at Expiry (v1.2a) (Black-Scholes not required at/for expiry) Strategy Type Condition NetPr D/C MinPnL MaxPnL BEP ProfitZone Payoff(S) --------------------------------------------------------------------------------------------------------------------------------------------------------------------- LongStock (LS) Bullish -S0 Debit NetPr +Infinity S0 BEP.right S ShortStock (SS) Bearish S0 Credit -Infinity NetPr S0 BEP.left S LongCall (LC) Bullish -Pr0 Debit NetPr +Infinity K - NetPr BEP.right max(S - K - Pr0, -Pr0) Equal alternative: max(S - K, 0.0) - Pr0 see https://www.macroption.com/call-option-payoff/ ShortCall (SC) Bearish Pr0 Credit -Infinity NetPr K + NetPr BEP.left min(K - S + Pr0, Pr0) Equal alternative: Pr0 - max(0.0, S - K) see https://www.macroption.com/short-call-payoff/ LongPut (LP) Bearish -Pr0 Debit NetPr K - NetPr K - NetPr BEP.left max(K - S - Pr0, -Pr0) Equal alternative: max(K - S, 0.0) - Pr0 see https://www.macroption.com/put-option-payoff ShortPut (SP) Bullish Pr0 Credit -K + NetPr NetPr K - NetPr BEP.right min(S - K + Pr0, Pr0) Equal alternative: Pr0 - max(0.0, K - S) see https://www.macroption.com/short-put-payoff/ CoveredCall (CC) Bullish -S0 + Pr0 Debit NetPr K + NetPr S0 - Pr0 BEP.right S < 0.0 ? MinPnL : S > K ? MaxPnL : MinPnL + S (= LS + SC) CashSecuredPut (CSP) Bullish -K + Pr0 Debit NetPr K + NetPr K - Pr0 BEP.right S < 0.0 ? MinPnL : S > K ? MaxPnL : MinPnL + S (= SP + Cash) CallSpread (CS.D) Bullish L.K < S.K -L.Pr0 + S.Pr0 Debit NetPr S.K - L.K + NetPr (= LC + SC) CallSpread (CS.C) Bearish L.K > S.K -L.Pr0 + S.Pr0 Credit S.K - L.K + NetPr NetPr (= LC + SC) PutSpread (PS.C) Bullish L.K < S.K -L.Pr0 + S.Pr0 Credit L.K - S.K + NetPr NetPr (= LP + SP) PutSpread (PS.D) Bearish L.K > S.K -L.Pr0 + S.Pr0 Debit NetPr L.K - S.K + NetPr (= LP + SP) History: v1.2a: - added CallSpread, PutSpread (unfinished yet) - fixed CC.MaxPnL, CSP.MaxPnL Legend: S Stock Price S0 Initial Stock Price Pr0 Initial Option Premium (ie. the Option Price) K Option Strike BEP Break/Even Point (the stock price at which PnL becomes 0) Payoff(S) The formula for computing PnL for any S, for the expiry date Infinity means "unlimited" L.K Strike of Long leg S.K Strike of Short leg Let me know if you spot an error.