Implied Volatility Suite

This is an updated, more robust, and open source version of my 2 previous scripts : "Implied Volatility Rank & Model-Free IVR" and "IV Rank & IV Percentile".

This specific script provides you with 4 different types of volatility data: 1)Implied volatility , 2) Implied Volatility Rank, 3)Implied Volatility Percentile, 4)Skew Index.

1) Implied Volatility is the market's forecast of a likely movement, usually 1 standard deviation, in a securities price.

2) Implied Volatility Rank, ranks IV in relation to its high and low over a certain period of time. For example if over the past year IV had a high of 20% and a low of 10% and is currently 15%; the IV rank would be 50%, as 15 is 50% of the way between 10 & 20. IV Rank is mean reverting, meaning when IV Rank is high (green) it is assumed that future volatility will decrease; while if IV rank is low (red) it is assumed that future volatility will increase.

3) Implied Volatility Percentile ranks IV in relation to how many previous IV data points are less than the current value. For example if over the last 5 periods Implied volatility was 10%,12%,13%,14%,20%; and the current implied volatility is 15%, the IV percentile would be 80% as 4 out of the 5 previous IV values are below the current IV of 15%. IV Percentile is mean reverting, meaning when IV Percentile is high (green) it is assumed that future volatility will decrease; while if IV percentile is low (red) it is assumed that future volatility will increase. IV Percentile is more robust than IV Rank because, unlike IV Rank which only looks at the previous highs and lows, IV Percentile looks at all data points over the specified time period.

4)The skew index is an index I made that looks at volatility skew. Volatility Skew compares implied volatility of options with downside strikes versus upside strikes. If downside strikes have higher IV than upside strikes there is negative volatility skew. If upside strikes have higher IV than downside strikes then there is positive volatility skew. Typically, markets have a negative volatility skew, this has been the case since Black Monday in 1987. All negative skew means is that projected option contract prices tend to go down over time regardless of market conditions.

Additionally, this script provides two ways to calculate the 4 data types above: a)Model-Based and b)VixFix.

a) The Model-Based version calculates the four data types based on a model that projects future volatility . The reason that you would use this version is because it is what is most commonly used to calculate IV, IV Rank, IV Percentile, and Skew; and is closest to real world IV values. This version is what is referred to when people normally refer to IV. Additionally, the model version of IV, Rank, Percentile, and Skew are directionless.

b) The VixFix version calculates the four data types based on the VixFix calculation. The reason that you would use this version is because it is based on past price data as opposed to a model, and as such is more sensitive to price action. Additionally, because the VixFix is meant to replicate the VIX Index (except it can be applied to any asset) it, just like the real VIX , does have a directional element to it. Because of this, VixFix IV, Rank, and Percentile tend to increase as markets move down, and decrease as markets move up. VixFix skew, on the other hand, is directionless.

How to use this suite of tools:

1st. Pick the way you want your data calculated: either Model-Based or VixFix.

2nd. Input the various length parameters according to their labels:

  • If you're using the model-based version and are trading options input your time til expiry, including weekends and holidays. You can do so in terms of days, hours, and minutes. If you're using the model-based version but aren't trading options you can just use the default input of 365 days.

  • If you're using the VixFix version, input how many periods of data you want included in the calculation, this is labeled as "VixFix length". The default value used in this script is 252.

3rd. Finally, pick which data you want displayed from the dropdown menu: Implied Volatility , IV Rank, IV Percentile, or Volatility Skew Index.
Note di rilascio: A mathematical error in the Model-Based Volatility Smile has been addressed. Also the code for the Model-Based and VixFix volatility smiles are condensed into functions.
Note di rilascio: Condensed code further.
Note di rilascio: A point that I want to make clear is that the IV values given by the model IV do not match up one to one with brokerage IV values because of the fact that on TV we don't have access to actual option prices. There are various formulas that can be used to approximate IV. The model IV in this indicator uses a formula that does not require option prices to calculate IV. I hope this clears up any confusion.
Note di rilascio: I updated the model IV's calculation, and it is now more accurate than the previous version. As stated in a previous update because this model uses a formula that does not involve option prices the IV values will not be exactly the same as IV provided from external sources such as brokers, exchanges, etc; but are close enough.

A disclaimer that I want to mention, is that I don't recommend using this script if your expiry is more than 100 days. The IV values become way off if the expiry is more than 100 days.

Additionally, in this new update you now have the ability to choose the length of time that you want to use in calculating the rank and percentile values. This should fix any previous issues with the script not showing anything when being applied relatively new assets that don't have a lot of price data.

I hope this update and clarification helps!
Script open-source

Nello spirito di condivisione promosso da TradingView, l'autore (al quale vanno i nostri ringraziamenti) ha deciso di pubblicare questo script in modalità open-source, così che chiunque possa comprenderlo e testarlo. Puoi utilizzarlo gratuitamente, ma il riutilizzo del codice è subordinato al rispetto del Regolamento. Per aggiungerlo al grafico, mettilo tra i preferiti.

Vuoi usare questo script sui tuoi grafici?


this is extremely useless
+4 Rispondi
@dminchev, the irony being that any good volatility indicators are probably the hardest things to find AND the biggest money makers. Your loss
+3 Rispondi
extremely useless? Why?
Great stuff! Thanks for sharing :)
+2 Rispondi
Thanks for sharing.
But why it does not work for all the symbols, for example PTON
+1 Rispondi
SegaRKO MickaAndYou
@MickaAndYou, I updated the code to fix this. The problem was that the length used in calculating the rank and percentile values was set at 365, which for a stock like PTON is longer than the stock has been in existence, so the script wasn't going to generate anything. This has now been fixed, see the new release notes above.

Hope this helps!
@SegaRKO, Thank you
@SegaRKO, This is based on historic volatility. Implied volatility is backed-out of a model, such as the Black-Scholes model.
wonderful work - thanks for sharing. maybe there's room to optimize with function to calculate VixUP & VixDn and just call it with different parameters.. just a thought... but still awesome work :) !
Tagging our @PineCoders experts
+1 Rispondi
SegaRKO RedKTrader
@RedKTrader, Thanks for the advice. I was able to condense the volatility smile calculations, Model-Based and VixFix, into functions.
+1 Rispondi
Home Screener azioni Screener forex Screener cripto Calendario economico Su di noi Caratteristiche Grafico Costi Invita un amico Regolamento Centro di supporto Soluzioni per broker & siti web Widget Librerie grafiche Libreria grafica leggera Blog & Novità Twitter
Profilo Impostazioni profilo Account e fatturazione Amici invitati Coin I miei ticket di supporto Centro di supporto Messaggi Privati Chat Esci