Relative Volatility Index (RVI)

Relative Volatility Index (RVI)

1. Introduction

The Relative Volatility Index (RVI) is a technical indicator designed to measure the direction and magnitude of volatility. Unlike other volatility indicators that focus solely on the level of price fluctuations (such as Bollinger Bands or ATR), the RVI incorporates the trend direction, making it a valuable tool for identifying potential trade opportunities.

Developed in 1993 by Donald Dorsey, the RVI is often used in combination with trend-following indicators to confirm signals. It resembles the Relative Strength Index (RSI) but instead of measuring price momentum, it focuses on volatility direction.

2. Calculating the RVI

The RVI is calculated based on the standard deviation of price changes, smoothed over a predefined period. Here’s the step-by-step process:

  1. Standard Deviation Calculation:

    • The indicator computes the standard deviation (σ) of price over a selected period.
    • The standard deviation can be calculated using either the population or sample method.
  2. Directional Volatility Components:

    • If the closing price of the current bar is higher than the previous close, the volatility is considered positive.
    • If the closing price is lower, the volatility is negative.
  3. Smoothing the RVI:

    • The RVI is obtained by smoothing the ratio of positive volatility to total volatility over a set period.

The formula for the RVI is:

Values range from 0 to 100, where higher values indicate stronger upward volatility, and lower values signal downward volatility.

3. Configuration and Parameters

The RVI can be customized using several key parameters:

  • Standard Deviation Length (stdevLength): Defines the period for the standard deviation calculation (default: 10).
  • Smoothing Length (smoothLength): Defines the period used to smooth the RVI calculation (default: 14).
  • Overbought Level (obLevel): A predefined level where volatility suggests an overbought market (default: 80).
  • Oversold Level (osLevel): A predefined level where volatility suggests an oversold market (default: 20).
  • Moving Average Length (maLengthInput): Optional smoothing with a moving average (default: 14).
  • Bollinger Bands Activation (useBB): Allows the addition of Bollinger Bands around the RVI.

4. Interpretation and Trading Strategies

How to Use the RVI in Trading?

The RVI is commonly used to confirm trend strength and identify potential reversals:

  • Trend Confirmation:

    • A rising RVI suggests increasing bullish volatility, confirming an uptrend.
    • A falling RVI suggests increasing bearish volatility, confirming a downtrend.
  • Overbought/Oversold Signals:

    • If the RVI crosses above 80, it may indicate an overbought condition.
    • If the RVI drops below 20, it may signal an oversold condition.
  • Divergences:

    • If price makes a new high, but the RVI fails to do so, a bearish divergence may indicate weakening momentum.
    • If price makes a new low, but the RVI remains stable or rises, a bullish divergence may signal a potential reversal.

Strategy Ideas Using the RVI

  1. RVI + Moving Average:

    • Use a moving average of the RVI to filter out noise.
    • Buy when the RVI crosses above its moving average.
    • Sell when the RVI crosses below its moving average.
  2. RVI + Bollinger Bands:

    • If the RVI moves outside the upper Bollinger Band, it signals extreme bullish volatility.
    • If the RVI moves outside the lower Bollinger Band, it signals extreme bearish volatility.
  3. Breakout Confirmation:

    • Highlight breakouts by coloring the area where the RVI crosses key levels.
    • If RVI crosses above 80 and price breaks resistance, it confirms strong bullish momentum.

5. Implementation in ProRealTime

The RVI can be programmed in ProRealTime’s ProBuilder language, ensuring flexibility in customization. The implementation follows these key steps:

  1. Compute the standard deviation using the selected calculation method.
  2. Determine directional volatility (upward or downward).
  3. Apply smoothing to refine the final RVI value.
  4. Optionally, add a moving average and Bollinger Bands for additional analysis.
  5. Visualize the indicator with color-coded levels to highlight overbought and oversold zones.

The ProBuilder code follows these principles and allows easy parameter adjustments.

6. Conclusion

The Relative Volatility Index (RVI) is a powerful tool that provides insight into the direction of volatility, helping traders confirm trends and identify reversals. While it should not be used in isolation, combining it with moving averages, Bollinger Bands, or other momentum indicators can enhance its effectiveness.

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

avatar
Register or

Likes

avatar avatar avatar
Related users ' posts
finplus Thanks for the job. Which variables do you suggest for timeframe 1 hour? 
Maz Depends massively on your market and the volatility. I suggest using the variable optimizer ...
1Randy This a great momentum filter! I would like to see volume momentum incorporated into the indi...
fabio407 Thanks, Nicolas. Very useful. Would you tell me where to find what result conveys the functi...
Nicolas This is not an instruction of the programming language but a variable from this indicator (l...
fabio407 OK. I didn't notice it. Many thanks, Nicolas!
albertocampagna Sei grande Nicolas :-)
SAcht Dear Nicolas, Great work, thank you very much!I would love to use the indicator in ProScree...
SAcht btw: The above-posted ProScreener is supposed to show stocks for which the center line has i...
Nicolas All conditions under parenthesis for the c1 to c4 conditions should be inverted. 
tomus Can you give an example of the overbought codes please? Thanks.
ams123 Frank Merci Nicholas -:)
Djo Not working on V11. The RSI doesn't appear on the chart.
Mika83 Bonjour, J'ai des soucis de lecture de syntaxe avec la variable "drawsegment" sur la versio...
seb234 Salut Mika, j'ai la version V11.1, la formule fonctionne. Mais il est préférable, dixit Nico...
victormork Hi, I would just like to share my own take on this strategy. I'm using 30 min on EURUSD but ...
mckubik Thanks. I will run a Test. 
poonsl2828 Hi! bjoern May i know what timing should i change for time zone (Singapore (GMT +8:00) ...
bolsatonimora2 Hi, nice indicator, it´s possible to include a middle line with 50 value? ty!
gabri Hi, EMA26 approximate almost exactly the 50% line
Alain Wilder MA is exactly the 50% line
owes29 Hi is there anyway to develop this for the pro scanner on daily or hourly scans. so it woul...
Nicolas Of course, please add a query in the proscreener forum.
Bruno Carnazzi C'est dommage, cette histoire d'énergie fractale bousille complètement la précision de l'ind...
gregus bonjour a tous quelqu un pourait il recodé en prt il sagit  du dynamique zone ma, je n arri...
Nicolas Merci de faire une requête spécifique sur le forum. 
julien1978 The ADR value that is plotted intraday does not match the value of the regular ATR indicator...
Fab666 I've tried to get a fix for this also but no luck, it doesn't print the correct data as far ...
Seabiscuit Hi! With the new PRT update, this indicator does not work anymore
Nicolas
8 years ago
StepRSI
StepRSI
5
Indicators
Nicolas Thanks for this modification, I still do not have tested it, where did you get this idea to ...
rfsteve Trial and error from study of indicators call it coding mad science was trying to find an in...
Maxime Baudin Nice! Thanks :)
Nicolas
8 years ago
GraHal Forked code I mention above is here ... GraHal wrote: So below is the PRC Stochastic RSI v...
GraHal Try again (quite limited what you can do as Comments in the Library) https://www.prorealco...
AutoFlanders Thanks GraHal, that's what i was looking for
Guibourse Hi ! I am asking once again for your help : would it be possible to use the ATR as a "take p...
Tradingrob Many thanks for the indicator, however if the price is below the indicator, then the indicat...
aldtrading Merci pour ton travail ! J'ai de bons résultats en utilisant cet indicateur
Dimi.A Awesome mate.
mora87 Hi David and Nicola, I'd like to share idea with you guys which is related to David's Idea. ...
Nicolas Please ask for custom coding in forums instead.
jeanphi0034 Hello, I would like to use the QQE indicator which is based on smooth RSI as far as I unders...
ilstefano Bonjour Nicolas, te serait il possible de rajouter la fast ATR manquante dans le code? Merci
Nicolas Désolé je ne comprends pas la question ?
Nicolas Use the wrench of the price chart! Upper left of the window
Dymjohn The wrench shows options for the components of the indicator not how to show in the main cha...
Nicolas http://www.prorealcode.com/topic/overlapping-indicators/  
rpreviteri Hi Nicolas, thanks a  loto for sharing your knowliedge, Wasn't the original momentum pinball...
air Thank you!  
elanoa Buonasera sig. Nicolas......sarebbe possibile far in modo che quando l'indicatore raggiunga ...

Top