On this page
VIDYA: Variable Index Dynamic Average Guide
The VIDYA variable index dynamic average is an adaptive moving average designed by Tushar Chande and first published in Technical Analysis of Stocks & Commodities in March 1992. VIDYA acts like an EMA whose smoothing speed changes each bar based on a volatility measure. In Chande's 1995 revision, that measure became the Chande Momentum Oscillator (CMO).
Key Takeaways
- VIDYA variable index dynamic average is an EMA whose smoothing constant scales with the absolute value of the Chande Momentum Oscillator.
- When momentum is strong (CMO near +/-1), VIDYA acts like a fast EMA; when momentum is weak (CMO near 0), it almost stops moving.
- The most common mistake is treating VIDYA as a faster EMA rather than as an adaptive one tuned to momentum regime.
- Chande discusses VIDYA in his book "Beyond Technical Analysis" alongside the CMO; the indicator is widely available in MetaTrader, CQG, and many charting tools.
Key Takeaways
- VIDYA variable index dynamic average is an EMA whose smoothing constant scales with the absolute value of the Chande Momentum Oscillator.
- When momentum is strong (CMO near +/-1), VIDYA acts like a fast EMA; when momentum is weak (CMO near 0), it almost stops moving.
- The most common mistake is treating VIDYA as a faster EMA rather than as an adaptive one tuned to momentum regime.
- Chande discusses VIDYA in his book "Beyond Technical Analysis" alongside the CMO; the indicator is widely available in MetaTrader, CQG, and many charting tools.
What It Is
VIDYA is an adaptive moving average. Like KAMA, it modifies the smoothing constant of an EMA each bar based on a regime detector. Unlike KAMA, which uses the efficiency ratio, VIDYA uses Chande's Momentum Oscillator (CMO), a momentum indicator bounded between -1 and +1.
The original 1992 version used standard deviation as the volatility input. Chande revised the indicator in 1995 to use CMO, arguing that momentum is a better proxy for "is the market trending right now" than raw volatility. Most modern platforms implement the CMO version.
The Intuition
A plain EMA always uses the same smoothing constant. In a strong uptrend that constant feels too slow; in a flat market it feels about right. VIDYA scales the constant by how strongly directional the recent price action has been.
The CMO captures that directionality with a single number. If every recent up move outweighs every down move, CMO is near +1. If the two cancel out, CMO is near 0. Multiplying the EMA's smoothing constant by the absolute value of CMO makes the line snappy when momentum is one-sided and frozen when it is not.
How It Works
The formulas, documented by MetaTrader 5 and CQG News, are:
UpSum = sum of positive bar-to-bar price changes over period P
DnSum = sum of |negative| bar-to-bar price changes over period P
CMO = (UpSum - DnSum) / (UpSum + DnSum) # ranges -1 to +1
F = 2 / (EMA_period + 1) # standard EMA constant
VIDYA = Price * F * |CMO| + VIDYA_prev * (1 - F * |CMO|)
Two periods matter: the CMO lookback (often 9 or 10 bars) and the EMA period that sets the base smoothing constant F (often 12 or 14). Default settings vary across platforms; CQG uses (CMO 9, EMA 12) as one common preset.
When |CMO| is near 0, F * |CMO| approaches 0, and VIDYA barely changes from its prior value. When |CMO| is near 1, VIDYA behaves like a plain EMA of length EMA_period. The output is therefore a regime-aware EMA.
Practitioners often display VIDYA with upper and lower bands set at +/-N percent, similar to Bollinger Bands. The bands move with VIDYA and so widen or narrow with the regime detector built into the line itself.
Worked Example
Suppose over the last 9 bars the up moves sum to 8.0 and the down moves sum to 2.0:
CMO = (8.0 - 2.0) / (8.0 + 2.0)
= 6.0 / 10.0
= 0.60
Use EMA period 12, so F = 2 / 13 = 0.1538. The effective smoothing constant becomes:
F * |CMO| = 0.1538 * 0.60 = 0.0923
If VIDYA was 100.0 yesterday and today's price is 110:
VIDYA = 110 * 0.0923 + 100 * (1 - 0.0923)
= 10.15 + 90.77
= 100.92
Now imagine a sideways tape where up moves sum to 5.0 and down moves sum to 5.0. CMO = 0, |CMO| = 0, F * |CMO| = 0, and VIDYA = 0 * price + 1 * prior = prior. The line freezes exactly. That is the adaptive behavior in its purest form.
Common Mistakes
-
Treating VIDYA as a faster EMA. It is faster only when momentum is strongly one-sided. In flat markets it is slower than a comparable EMA, by design. Reading it as a generally faster line leads to surprise behavior.
-
Confusing CMO with RSI. Both range over bounded values, but their formulas and scales differ. CMO ranges -1 to +1 (or -100 to +100 in some platforms); RSI ranges 0 to 100. Plugging RSI into VIDYA breaks the construction.
-
Trading VIDYA crosses in low-momentum regimes. When |CMO| is near 0, VIDYA flattens and price oscillates around it. Crosses in that regime are noise.
-
Forgetting the two periods. VIDYA has both a CMO lookback and an EMA period. Many tutorials only mention one. Changing one without the other can flip the indicator's behavior unexpectedly.
-
Using VIDYA on series without a stable scale. Like other EMAs, VIDYA assumes its input is on a comparable scale across time. Cumulative volume, raw open interest, or large dividend events can distort the line.
Frequently Asked Questions
What is VIDYA variable index dynamic average in simple terms? The VIDYA variable index dynamic average is an EMA whose smoothing speed changes with momentum. It moves fast in trends and freezes in flat markets.
How does VIDYA affect investment decisions? Systematic traders use VIDYA as an adaptive trend filter that does not need to be retuned for different volatility regimes. Its frozen behavior in chop also acts as a regime gauge.
What is a real-world example of VIDYA use? VIDYA is a default indicator in MetaTrader, CQG, and many forex and futures charting tools. Tushar Chande discusses it in "Beyond Technical Analysis" alongside the CMO that drives it.
How can investors use VIDYA effectively? Pick a CMO period that matches your horizon and an EMA period for base smoothing, then pair the line with a separate trend or volatility filter. Avoid trading VIDYA crosses when |CMO| is near zero.
How is VIDYA different from KAMA? Both are adaptive EMAs. VIDYA uses the Chande Momentum Oscillator (signed momentum) as its driver. KAMA uses Kaufman's efficiency ratio (net move over total path) instead.
Sources
- MetaTrader 5 Help. "Variable Index Dynamic Average." https://www.metatrader5.com/en/terminal/help/indicators/trend_indicators/vida
- Tradingpedia. "Chande's Variable Index Dynamic Average." https://www.tradingpedia.com/forex-trading-indicators/chandes-variable-index-dynamic-average/
- Chande, T. & Kroll, S. "The New Technical Trader" / "Beyond Technical Analysis" (cited).
- CQG News. "Chande's Variable Index Dynamic Average (VIDYA)." https://news.cqg.com/blogs/indicators/2016/08/chandes-variable-index-dynamic-average-vidya
Disclaimer
This article is educational content only and is not financial advice. Nothing here is a recommendation to buy, sell, or hold any security. Consult a licensed advisor before making investment decisions.