you can look at past IV’s (called the IV rank)
look at current IV against recent HV
consider using an HV that’s not based on one day returns but maybe a week’s returns.
First of all, if you are doing a directional bet, what matters more is whether your prediction of the future direction of the trend is correct. As long as that's correct, you will always be able to make money as long as you cash out before a possible "volatility crush" sets in. An option's cheapness or expensiveness would only matter if you choose to hold the option until its expiration and need to ensure that its intrinsic value upon expiration is higher than the option price at which you bought the option.
How do you find out whether an option is too expensive? You can't. There is no way or I should say no reliable way to find out whether an option is too expensive or too cheap right now because whether an option is too expensive or too cheap will depend on how much the underlying will move in the future and nobody knows the future. If we do, we will all be rich!!The implied volatility is only the volatility or the magnitude of the price movement of the underlying that's estimated or expected right now but that can all change according to what happens in reality during the life of the option. Just because the implied volatility seems to be high doesn't mean it's really too high if the underlying becomes more volatile during the life of the option and not really cheap if the underlying becomes even less volatile in reality. Take your example, the implied volatility of 54% wouldn't be too expensive even though it's above the 75th percentile if the actual volatility ends up being even higher at let's say 75% or 87% but on the other hand if an implied volatility of even 25% which is well below the 50th percentile wouldn't necessarily be cheap if the underlying ends up moving even less.
All the % historical volatility or implied volatility gives you is just an estimation or educated guess at best. The way to make money in options is if you intend to hold the option to its expiration, you have to be even more right than the people who were right.
I want to buy options to place a directional bet. It makes sense only if the options are not too expensive currently. How to find out?
I demonstrate a possible way to solve the problem below, including Python code. I hope that you will point out its errors and shortcomings.
To begin with, I have OHLC historical data.
I could easily calculate the realized volatility for the last year. However, it differs significantly from year to year. It is unlikely that in the subsequent period, it will be very similar to the recent one.
It seems more reasonable to calculate the daily percentage price movements. I have annualized them by multiplying by 252^0,5 to compare with the traded options implied volatility.
I have also calculated the weekly percentage price movements and annualized them by multiplying by 52^0,5.
Code:data['pct_chng'] = (data['Close']-data['Close'].shift())/data['Close'].shift() # now annualize to be able to compare with traded options implied volatility data['pct_chng_a'] = abs(data['pct_chng']*100)*(252**0.5) # now do the same for weekly price movements data['pct_chng_weekly_a'] = (data['Close']-data['Close'].shift(5))/data['Close'].shift(5) data['pct_chng_weekly_a'] = abs(data['pct_chng_weekly_a']*100)*(52**0.5) print(data[['Close', 'pct_chng', 'pct_chng_a', 'pct_chng_weekly_a']].tail())
Result:
Code:Close pct_chng pct_chng_a pct_chng_weekly_a Date 2023-01-12 00:00:00-05:00 330.130005 0.008770 13.921579 47.569508 2023-01-13 00:00:00-05:00 332.820007 0.008148 12.935045 39.466293 2023-01-17 00:00:00-05:00 326.220001 -0.019831 31.480033 25.282416 2023-01-18 00:00:00-05:00 326.329987 0.000337 0.535210 2.663978 2023-01-19 00:00:00-05:00 315.779999 -0.032329 51.321016 25.295952
After that:
Code:data['pct_chng_annualized'].describe() count 5200.000000 mean 36.678109 std 43.812184 min 0.000000 25% 10.906413 50% 24.833079 75% 47.330351 max 670.277442
If I use weekly percentage price movements, the result is similar.
Code:data['pct_chng_week_annualized'].describe() count 5196.000000 mean 40.673958 std 43.129768 min 0.000000 25% 12.736723 50% 28.627616 75% 53.388777 max 530.388741
Let's say options are currently trading with an implied volatility of 54%. Is it correct to conclude that they are expensive because their implied volatility is higher than the 75th percentile?
Is the above approach generally correct?
Such data seems to be expensive
It seems to be not enough reasonable approach
Is the procedure in the initial post correct or not? Maybe it is better to use log returns instead? How?
I can use daily returns and annualize them multiplying by 252^0,5. Or use weekly returns and annualize them multiplying by 52^0,5. Or use monthly returns and annualize them multiplying by 12^0,5. The result seem to be very much the same.
Such data seems to be expensive
It seems to be not enough reasonable approach
Is the procedure in the initial post correct or not? Maybe it is better to use log returns instead? How?
I can use daily returns and annualize them multiplying by 252^0,5. Or use weekly returns and annualize them multiplying by 52^0,5. Or use monthly returns and annualize them multiplying by 12^0,5. The result seem to be very much the same.
You are off to a decent start by comparing Historical Vol to Current Implied..
You give very little information on what you are trying to trade so it's hard to say what will be reasonable for you. index/commodities, single stocks without earnings, single stocks with earnings, long time frame, short time frame etc. These will all play a role in determining how you determine if an option is rich or cheap in ivol.
How to do it correctly? Is the procedure in the initial post correct?
mostly ETFs, stocks with earnings and dividends and without them.
Time frame - one week to 2-3 months.
Say WUT???

General Tao!!! LOL Oh c'mon on, it's a new year!! Give my post some love, you know I am right. LOL
Lol@ General Tao..I like it
All I said is Say Wut,and once again you have sent me on a wild goose chase
Im going to backtest different levels of IV rank..And FWIW,you probably arent far off...
