This is a simple blog post that utilizes python to calculate the expected value of a straddle during earnings. In this case, it’s going to be a short straddle on Morgan Stanley (NYSE: MS). MS earnings is before market open on July 15th, 2021. Looking at the option chain, the front option chain (4 dte) shows an at the money implied volatility of approximately 40%.

Estimated event volatility can be calculated by using some of the back expiration dates implied volatility. For example, the chain that expires in 18 days has a ATM implied volatility of 29%.

With this information, we can calculate an expected value if we were to leverage a short straddle and the implied volatility follows what the market implies. Below is some simple python code that I use in Jupyter Notebook to enter values.

``````
import mibian
#MS ul and strike based on options chain.
ul_price = 92.75
strike_price = 92
interest_rate = .75
days_to_expiry = 4
volatility = 43
calculate call and put pricing
pre_earnings = mibian.BS([ul_price, strike_price, interest_rate, days_to_expiry], volatility = 43.00)
post_earnings = mibian.BS([ul_price, strike_price, interest_rate, days_to_expiry], volatility = 29.00)
print(pre_earnings.callPrice)
print(pre_earnings.putPrice)
print(post_earnings.callPrice)
print(post_earnings.putPrice)