Doing an exercise from the Vol Trading course.
What are the expiration dates/periods of options_daily_sp500_2018_2022.csv?
The file is daily frequency, but the Notebook docuemntation claims these are "monthly expiry options contracts available for the S&P 500 index from 2018 till 2022."
The "Trading with GARCH Forecast" notebook is using GARCH(1, 1) to forecast next month's vol.
So for example, when the model generates a trade signal on 2022-09-26, what option is it really trading? It is not clear to me that the time frames of the GARCH forecast and the option line up.
Thanks.
Hi,
The file contains daily data for S&P 500 options for the near-term expiry(i.e. the very next monthly expiry). For example, if the date is 2022-09-26, then the expiry for the options will be on the last business day of the month, i.e. on 2022-09-30.
To answer your second question, if a trade signal is generated on 2022-09-26, it will be trading the option that is supposed to expire on 2022-09-30.
Hope this helps!
Thanks,
Akshay
Thanks for the reply.
Is it okay to use a 1m volatility forecast to trade on a contract with options with less than 1m expirartion (e.g., a day, a week)?
Hello,
When trading options, it's essential to match your volatility forecast with the contract's expiration.
For example, If you're trading weekly options, you should use a weekly volatility forecast because it better aligns with the shorter time frame of these contracts. Using a monthly volatility forecast for weekly options might not capture the nuances of the shorter time frame and could lead to suboptimal trading decisions.
I hope this explanation clarifies your query!
Hello, I would like to inquire about the dataset "options_daily_sp500_2018_2022" and follow up on the same question. Currently, I am manually assigning the C_IV and P_IV values based on the expiry date being one month and selecting filters where the underlying asset is higher than the strike price. For instance, if the underlying asset is 105, I choose the strike price as 101 instead of 90. However, I believe manual updating is not the most efficient option. Could you please explain your method for extending this dataset?
Hi Kevin,
So, I assume you need to calculate the ATM strike price for a given underlying price. There is a simple formula for this:
ATM strike price = strike multiple * round( underlying price / strike multiple)
Here, strike multiple is the difference in the strike prices of the contracts. For example, the SPX options have the strike multiple as 5 as the contracts exists for 4365, 4370, 4375, etc. strike prices.
Let's say if the underlying price is 4367. Then the ATM strike price would be:
ATM strike price = 5 * round(4367/5)
= 4365
Please do let us know if you have any further queries.
Thanks,
Akshay
Thanks, btw, may I know why we use the 4 years SPX price data as input to do Parkinson volaility, are there any differences for using 10 years or more to do prediction of volatility?
Hi Kevin,
There is no difference if you take 4 or 10 years data as input to Parkinson estimator.