The MVCI (Whatever That Means) Indicator

Some people tell me that I have “too much time on my hands” because I spend so much time “crunching numbers”. I tell them, “That’s ridiculous, I don’t have any time on my hands because I am so busy crunching numbers”. (That usually shuts them up. At least for a little while).

In any event it is true that I am something of an “indicator junkie”. And it is also true that sometimes I multiply two numbers together (or divide two numbers) just “because I can”. And every once in awhile something potentially valuable seems to surface (see Applying VIX(like) Indicators to Stocks).

But in the most recent case I am hoping that someone can help me here. Not so long ago, I came across an indicator referred to by the acronym of MVCI – or at least that’s what I recorded it as. I just can’t remember where I read about it. In fact I don’t even recall what MVCI stands for.

But I like what I’ve seen of it so far.

The MVCI Indicator Calculations

OK, what follows is a list of a fairly lengthy set of calculations. If you are not a “numbers geek” you might consider skipping down to the actual results.

A = Daily High

B = Daily Low

C  = Daily Close

D = 200-day moving average of daily closing prices

E = Daily True High (Today’s high or yesterday’s low, whichever is greater)

F = Daily True Low (Today’s low or yesterday’s high, whichever is lower)

G = Daily True Range (E-F)

H = Average Daily Price (A + B) / 2

I  = 15-day Average of H

J = 15-day Average of G

K = MVCI = (C-I) / (J * Square Root of 2))

L = Buy Signal Cutoff Value

M = # days to hold a long position

Figure 1 displays an Excel spreadsheet with these calculations.

Figure 1 – Excel spreadsheet for MVCI (whatever that means) Indicator

Hmmm, maybe I do have too much time on my hands. But I digress. In (slightly long-winded) English, the indicator is calculated by:

1) Subtracting the 15-day average of the average daily price (defined as ([high]+[low]/2)) from today’s closing price, and dividing that result by;

2) The 15-day average of the Average True Range times the square root of 2

Don’t ask me how someone came up with multiplying something by the square root of 2 because, well, heck I don’t even know what MVCI stands for, so how would I know?

The default value for variable L is -0.51. The default value for M is 22 days.

A “Buy Signal” occurs when:

1) The closing price for SPY is above its 200-day simple moving average AND;

2) The MVCI value for that day is -0.51 or less. So when a buy signal occurs the trader buys SPY and holds it for 22 trading days.

If MVCI drops below -0.51 during these 22 days then the 22-day holding period starts again at 22, i.e., positions can be held for longer than 22 days.

Figure 2 displays the fluctuations of the MVCI since 12/31/2012 with the -0.51 level highlighted in red.

Figure 2 – The MVCI (whatever that means) indicator in action

So in a nutshell, anytime SPY is above its 200-day moving average each day the MVCI is below -0.51 starts a 22-day holding period.

Crazy, right?

Well, maybe we should consider the results first.

The Results

OK, so SPY started trading in 1997, to get a 200-day moving average we can start testing in June of 1998. If we start with $1,000 and invest in SPY for 22 trading days following any day where MVCI drops to -0.51 or below, we get the equity curve that appears in Figure 3. No interest is earned while out of the market and buying and holding SPY is also plotted in red.

Figure 3 – Growth of $1,000 using MVCI (blue) versus Buying and Holding SPY (red); 1998-2015

For the record:

-$1,000 invested in SPY using MVCI in the manner described here grew to $4,417 (+342%)

-$1,000 invested in SPY on a buy-and-hold basis grew to $1,848 (+84.8%)

Maybe not so crazy, right?


For the record, please note that I do not actually use this indicator at the moment in any of my trading, nor am I recommending that you start using it either. I have this rule – well, OK in the immortal words of Bill  Murray, “it’s more like a guideline” – that I don’t use indicators when I don’t even know what they’re freaking called.

But the purpose of this blog is not to offer “advice” or to tell you what to do. Its purpose is simply to educate you and give you something to think about that you might not otherwise.

Like for instance, “What the heck does MVCI mean?”

–by Jay Kaeppel from blog Jay On The Markets

About the Author Jay Kaeppel

  • Joachim says:

    Hi Jay
    check this out:

    It is the modified cgartmill value indicator.


  • Larry P says:

    I just wanted to give the credit to the original author of the idea, David Stendahl.

    The indicator is a modification of a modification of the “Value Charts Indicator” developed my David Stendahl. Written in his 2002 book.
    Dynamic trading indicators: winning with value charts and
    Price Action Profile. Helweg, Mark and Stendahl, David (2002). Wiley & Sons Inc.

    It was then modified by Dirk Vandycke and written in a series of articles beginning with January 2013 issue of Technical Analysis of Stocks and Commodities and his version was called “The Chartmill Value Indicator”.

    That was then modified by blogger Brian Johnson (as mentioned above) and he called his version the Modified Chartmill Value Indicator,

  • Jm says:

    The values under column “True High” and “True Low” are using the wrong yesterday’ Close values instead of yesterday’s Low or High.

  • Joey H says:

    I was saving your article in my Indicator archives and noticed another article from last year that I had saved:

  • Mark says:

    I love Jay’s articles but I think there’s generally way too much opportunity for curve-fitting with whatever process he uses to come up with his stuff. For example, there’s no optimization or walk-forward testing being done here.


    • Ryan says:

      I agree Mark. Great ideas but doing your own testing is essential.

  • Bruno says:

    Is there an easylanguage code for this?

  • Dan says:

    I looked at Jay Kaeppel’s article from Feb. 26, 2015 and tried to reproduce his results based upon the description of his rules without success.
    The strategy described by Brian Johnson in the System Trader Success article of October 20, 2014 provided code and used the MCVI oscillator to look for overbought and oversold conditions to enter mean reversion trades.
    Jay’s modification was a long only system and didn’t really make sense to me, since he was looking for an oversold condition and was continuing to stay in a trade if another oversold condition occurred in the 22 day hold period. It was like a trend following system, but it kept looking for oversold conditions to stay in the trade.
    I reversed the entry condition and entered when CVI was above -0.51 and continued to reset the 22 day hold period whenever CVI went above -0.51. This makes more sense to me for a trend following trade. Once I did this, I got results that matched Jay’s results almost exactly.
    So I think that the description of his entry rules are in error in the article.

  • >