I originally made this script for binary/digital options, but this also can be used for vanilla options too.

There are two lines on this script, one plotting Model-Based IV rank and Model-Free IV Rank.

How it works:

Model-Based IV Rank:

1. Take whatever timeframe you're using and multiply it by 252. This is done because typically IV is calculated over a year, which has 252 days. But this can be used for any timeframe, so just multiply you're timeframe by 252. In the picture above I'm using a 30 min chart, so I multiplied 30 min by 252 and got 7 days, 14 hrs , and 30 min.

2. Next input the result you got from step 1 into the corresponding input boxes.

3. Then input the timeframe you are using into the input box labeled timeframe. I'm using 30 min so I put 30.

4.Finally choose the delta that you want to use and input its standard deviation into the input box. There is a list of common deltas and their corresponding standard deviations in the menu so you don't have to go looking them up. Typically 16D or 1 standard deviation is used when calculating IV, but you can choose whichever one you want.

*FYI. For people trading binary/digital options, the delta of a vanilla option is the same as the price of a binary/digital option. This is because the delta is the first-order mathematical derivative of the vanilla option's price, and a binary/digital option is a mathematical derivative of a vanilla option. So when you see the list of deltas and their corresponding standard deviations values, just know that 40D=$40 binary, 30D=$30 binary, 20D=$20 binary, and so on. But again typically the 16D or $16 binary's standard deviation value would be used*

This calculation of IV rank is useful for vanilla option traders who use Tradingview and don't have access to this metric.

This calculation of IV rank is useful for binary/digital option traders using Tradingview because the only two regulated binary options exchanges: the CBOE and Nadex, do not offer advanced options data, such as IV rank. On the CBOE and Nadex only the market-makers have this data, which they get from their own in-house pricing models. So at least now any binary option traders can have the same data as the market makers that they are trading against. Also if your wondering how accurate my pricing model is; just know that I have have compared the prices given by the pricing model to realtime prices on Nadex (live account) and the prices that my model shows for differing strike prices matches the prices that the market-makers set. So the pricing model, upon which this IV rank is based, is accurate.*

Model-Free IV Rank:

This IV Rank is based off the VixFix and just ranks the VixFix's values over the past 252 periods. In the menu you can see the recommended periods for calculating the VixFix, with 22 being the one most people use. This is the exact same methodology used in my original IV Rank script.

Which should you use?

This is up to you and each have their own pros and cons.

The main pro of using the model-free version is that because it does not rely on a pricing model, it does not take as many steps to calculate IV and therefore can update its IV projections much quicker than the model based approach. This is why if you zoom out the model-free version will have a more choppy appearance than the model based.

The main pro of using the model based version is that this is what the overwhelming majority of options traders use, and can be applied to any option delta you want, while the model-free version only calculates IV rank on the 16D aka $16 binary aka 1 standard deviation strike.

So if its 12:30pm and you have an options contract expiring at 4:00pm you would input 30min, 3hours, and 0 days.

I tested both the correct way as seen in the revision above and the original way I said to do it, and there really isn't a big difference between the results.

Everything else in the original instructions are correct, it is just steps 1 and 2 (for Model-based IV Rank) that needed fixing.

Sorry for the mistake, now everything has been updated & fixed.

This change is simply for optimization and to get a more accurate iv value.

Another fix included in this update is that if you're using the 1min, 1hr, or 1 day timeframe you can just input 365 instead of multiplying it out. For example in previous versions if you were using the 1 hr timeframe you'd have to multiply 1hr by 365 and input it in terms of days, hours, and minutes (the result would've been inputed as 15 days and 5 hours and 0 mins). Now if you're using one of those three timeframes just input 365 into the corresponding box.

For all other timeframes, including: sub-1min, 2min-59min, 2hr-23hr, 2days+, you must multiply it out and input it in the corresponding boxes. For example if you're using the 4hr timeframe, you multiply it by 365 and input it as 60 days and 20 hours and 0 min.

Notas de prensa:
Updating to version 4 and removal of extraneous code.