Leading/lagging indicator type list

I’m trying to put together a list of indicators based on category, and leading or lagging.

I really only want to trade with one of each type with maybe a couple exceptions, and I thought it would be handy to have this default list for whenever I want to confirm something to make sure I’m not using an indicator too similar.

For example moving averages are lagging trend indicators. The different categories that I understand experts agree on are trend, momentum, volatility, and volume. I’m having trouble figuring out how to classify some of the indicators as well as figure out some other common ones that might be missing on the list .. Below is what I have so far, some indicators are listed as both leading and lagging because I understand that this is the case for them:

Trend, leading: MacD, parabolic Sar, Schaff trend, market forecast

Trend, lagging: moving averages, MacD, market forecast

Trend, unattributed: ADX

Momentum, leading: stochastic, CCI, RSI, market forecast, stochRSI, rate of change, PMO

Momentum, lagging: market forecast

Momentum, unattributed: Chande Momo oscillator, Williams %R

Volatility, leading:

Volatility, Lagging: Bollinger bands, average true range, standard deviation

Volatility, unattributed: envelopes, volatility channels, volatility chaikin, projection oscillator

Volume, leading: chaikin oscillator, on balance volume

Volume, lagging: volume rate of change

Volume unattributed: money flow index, ease of movement, chaikin money flow, demand index, force index

So far I got most of my information from visual capitalist (finance visualization site), and I guessed at market forecast. Some other ones I don’t even know how to classify that I believe are leading indicators are donchian channels (prob volatility right?), fibonacci retracement, support/resistance levels, MarketSentiment, and put call ratio. I realize most of those aren’t strictly indicators per se, but for the sake of thoroughness I thought they should be included.

If anyone has ideas on the classification of some of these that would be great :) i’m surprised that the Internet didn’t yield more results for this kind of information.
 

mashume

Well-known member
VIP
Lifetime

germanburrito

Active member
I believe most indicators are lagging because they are based on previous DATA. However the way I think about it is if its based solely on averages than most of the time it will lag, if there is a level or a trend line then I consider it leading. Stochastics, RSI and oscillators are different because they have an overbought and oversold level. It also depends on how you use the indicator. For example if you look at moving average crossovers, than you are buying once the price crosses this can be considered lagging, but you if you are buying the support of moving average than it can be considered leading, because you see the level before anything happens. also it can all be arbitrary you know, what does leading and lagging mean? I guess if you look at the math behind the indicator it makes more sense.
 
Yes, I suppose it does depend on the context. There’s a lot of overlap with the classifications anyway, some people say relative strength and some people say momentum but they’re really referring to the same set of indicators. I was trying to find definite differences between each class because I have heard that you shouldn’t use more than one of the same kind on your dashboard as it’s basically replicating the same data, but I don’t really adhere to that because different lengths of the same indicators create a better picture anyway.
 

MerryDay

Administrative
Staff member
Staff
VIP
Lifetime
While we call it Soccer, the official name is Football. So it is when discussing indicators.
While on this forum and informally around the dinner table we may group indicators like this:
https://usethinkscript.com/threads/what-are-the-different-types-of-indicators-heres-one-answer.298/

There is an official grouping of indicators:
Trend indicators
Volatility indicators
Momentum indicators
Cycle indicators
Market strength indicators
Support and resistance indicators
and
Volume
I believe the OP is primarily discussing trend and momentum

Trend has sub-groups.
Trend Following -- "most" moving averages fall in this group -- lagging
Trend Confirming -- RSI, " the support of moving average" -- these are leading.
https://usethinkscript.com/threads/...nt-to-successful-trading-in-thinkorswim.6114/

The myth of oscillators:
https://thepatternsite.com/Oscillators.html
 
Last edited:

germanburrito

Active member
Yes, I suppose it does depend on the context. There’s a lot of overlap with the classifications anyway, some people say relative strength and some people say momentum but they’re really referring to the same set of indicators. I was trying to find definite differences between each class because I have heard that you shouldn’t use more than one of the same kind on your dashboard as it’s basically replicating the same data, but I don’t really adhere to that because different lengths of the same indicators create a better picture anyway.
yeah, to me momentum, trend volatility does not mean much. its all arbitrary to the time frame you are looking at it anyways. What i do like its to look at different ideas like you said, you dont want to look at the samething. for example RSI and bollinger bands are pretty much the same thing but we dont realise this lol. So what i like to do it is look at PRICE movement from as many different angles as i can. For example STATISTICS (DEV lines), OPENRANGE, OSCILLATORS, SUPPORT AND RESISTACE, MOON CYCLES, FIBONACCI, AND OPTIONS LEVELS (OPENS INTEREST OR IMPLIED MOVE), VOLUME(Although i dont use it), VWAP, are pretty much all ideas that come from price, but they are all different enough in my eyes. although they can be consider the same thing and overlap.
 
Market structure is handy too, if you can get access to that information.

I use a ma of the Vix to determine reversals and when to stay out of the market, and ADR and price delta based indicators for momentum and volatility, and a lot of volume related things which I believe are the key to successful trading. I have yet to determine how I like to measure relative strength because there are so many ways, for now I scan for instruments in the top 15% of their range by timeframe.

One thing I wish I could figure out is how to create a vix of any instrument- that would be handy. I also wish I could display the put/call ratio for instruments, but it seems that getting a clear actionable picture of derivatives is harder than it looks.
 

germanburrito

Active member
Market structure is handy too, if you can get access to that information.

I use a ma of the Vix to determine reversals and when to stay out of the market, and ADR and price delta based indicators for momentum and volatility, and a lot of volume related things which I believe are the key to successful trading. I have yet to determine how I like to measure relative strength because there are so many ways, for now I scan for instruments in the top 15% of their range by timeframe.

One thing I wish I could figure out is how to create a vix of any instrument- that would be handy. I also wish I could display the put/call ratio for instruments, but it seems that getting a clear actionable picture of derivatives is harder than it looks.
what moving average do you use? and volume indicators?

people like larry williams have thought of this no? have you heard of the vix-fix or synthetic vix, there are some inicators on that here. also the buy the dip indiator is based on that. And yeah i gave up on looking into option put call ratio for now, althought i think that using third party dark pool data might benefit.
 
what moving average do you use? and volume indicators?

people like larry williams have thought of this no? have you heard of the vix-fix or synthetic vix, there are some inicators on that here. also the buy the dip indiator is based on that. And yeah i gave up on looking into option put call ratio for now, althought i think that using third party dark pool data might benefit.
Yep I think dark pool is the way to go but it’s too expensive for my taste - I already use marketsrructure edge so that helps with knowing when not to be in the market.

For volume I use a smoothed derivative ma that I created from the ‘buy’ and ‘sell’ volume. I’m still experimenting with the settings but I believe a 4 period works best after smoothing. It doesn’t help with finding bottoms or tops but it’s good for trend.

What I haven’t been able to do yet and one of the reasons I am learning thinkscript is to experiment with long period momentums of the price curve and double smoothing of the result. There is an ingenious futures trader called Hari Hamzei that I would like to replicate some of his work with double smoothing of momentum and the true strength index. See here. I’m not quite there yet but soon I hope to have enough coding experience to start figuring it out 😀

I will look up the vix fix, thanks for the heads up.
 

amalia

New member
Market structure is handy too, if you can get access to that information.

I use a ma of the Vix to determine reversals and when to stay out of the market, and ADR and price delta based indicators for momentum and volatility, and a lot of volume related things which I believe are the key to successful trading. I have yet to determine how I like to measure relative strength because there are so many ways, for now I scan for instruments in the top 15% of their range by timeframe.

One thing I wish I could figure out is how to create a vix of any instrument- that would be handy. I also wish I could display the put/call ratio for instruments, but it seems that getting a clear actionable picture of derivatives is harder than it looks.
#StartCode
 
Last edited:
LOL I was just going to adapt the script to my liking by reversing the plot, as I like to look at the vix reversed, and found you've kind of done that already? Can you please tell me (not a math wiz here) what the difference is between what you did with the reverse correlation line compared to just straight flipping it upside down? Like specifically what is the advantage or logic behind your method in comparison if that makes sense? The line is slightly different. :)
 

amalia

New member
LOL I was just going to adapt the script to my liking by reversing the plot, as I like to look at the vix reversed, and found you've kind of done that already? Can you please tell me (not a math wiz here) what the difference is between what you did with the reverse correlation line compared to just straight flipping it upside down? Like specifically what is the advantage or logic behind your method in comparison if that makes sense? The line is slightly different. :)
You want the "VIX"-like product to be inverse correlated to the underlying, is the thinking here. There are studies out there that show that the actual VIX is about 60-80% inverse correlated to the S&P500 so the idea is, if VIX goes up, S&P500 goes down and vice-versa.

Let me know if I didn't understand your question and if this answers it.
 
naa I know that, but was wondering -because the inverse correlation line plots a little different than the negative plot (the plot you get when you flip the implied volatility), whether mathematically there's a difference between the two- I was trying to figure out if flipping the vix is the same as plotting the inverse correlation. To me it looks like the negative correlation is a bit more stretched out, and I don't quite understand the code you wrote. Sorry if I'm not explaining well. I added a plot on the bottom to contrast the two on different charts. Ref code below if you want a look. I'm used to just flipping it but I only want one line on my chart so I'm trying to figure out which to keep. There doesn't seem too much difference between them so far so I'll probably keep it the way it is. Thank you again, what an ingenious indicator :)

Ruby:
#StartCode

#amalia 11/11/2019

#If ImpVol is available, it's basically the underlying's own VIX scripted here as an oscillator

#v2 3/2/22 Added Inverse Correlation threshold

#agirlhasnoname42 edit: testing reverse implied volatility line for usefulness


declare lower;



input n = 21;

input OverBought = 80;

input OverSold = 20;

input smoothing = 2;

input CorrelationLength = 60;

input InverseCorrelationThreshold = -.80;

input showLabels = YES;



def c = Close;

def IV = If(IsNaN(imp_volatility()), IV[1], imp_volatility());

def hi = Highest(IV, n);

def lo = Lowest(IV, n);

def NaN = Double.NaN;

plot ImpV = If(!IsNaN(c), IV, NaN);


#additions: Reverse Implied Volatility, Smoothed with ExpAvg2. Test

def RevIV = -ImpV;
plot RevIVsmoothed = ExpAverage(RevIV,2);
RevIVsmoothed.AssignValueColor(if RevIVsmoothed > RevIVsmoothed[1] then color.green else color.red);
RevIVsmoothed.SetLineWeight(2);
plot RevOB = -.2;
RevOB.setdefaultColor(color.magenta);
plot RevOS = -.8;
RevOS.setdefaultColor(color.cyan);
plot RevMid = -.5;
RevMid.SetDefaultColor(color.black);



plot v = Average(If(!IsNaN(c), ((IV-Hi)/(lo-hi)), NaN), smoothing);

plot OB = If(!IsNaN(c), OverBought/100, NaN);

plot OS = If(!IsNaN(c), OverSold/100, NaN);

plot mid = If(!IsNaN(c), .5, NaN);



addLabel(showLabels,
        " ImpVol = " + Round(IV, 3) + " | " +
        " PrevIV = " + Round(IV[1], 3) + " | " +
        " Stochastic = " + v,
        if v>v[1]
        then Color.CYAN else
        if v<v[1]
        then Color.MAGENTA else
        Color.YELLOW);



v.assignNormGradientColor(n/2, Color.MAGENTA, Color.CYAN);
v.setLineWeight(2);

mid.assignValueColor(if v>v[n] then Color.MAGENTA else Color.CYAN);

ImpV.assignValueColor(if ImpV>ImpV[1] then Color.DARK_ORANGE else Color.YELLOW);

OB.setDefaultColor(Color.MAGENTA);
OS.setDefaultColor(Color.CYAN);

mid.assignValueColor(if Correlation(c, IV, CorrelationLength)<=InverseCorrelationThreshold && v<v[1]
        then Color.MAGENTA else
        if Correlation(c, IV, CorrelationLength)<=InverseCorrelationThreshold && v>=v[1]
        then Color.CYAN else
        Color.GRAY);



addLabel(showLabels," " + CorrelationLength + " bar Corr = " + Correlation(c, IV, CorrelationLength) + " | " + " 90 bar Corr = " + Correlation(c, IV, 90), Color.Black);

#Optional Clouds
AddCloud(OB, OS, color.black, color.white);
AddCloud(RevOB, RevOS, color.black, color.white);

#EndCode
 
Last edited:

floydddd

Active member
i have no idea what the heck is going on here with this study but i like it anyway. it works pretty well as a filter to my main study. amalia, can you link me to a discussion, here, anywhere, that'd give me a fuller explanation or perhaps some key words to search for over on the ToS discord server? thanks!
 

lmk99

Active member
VIP
You want the "VIX"-like product to be inverse correlated to the underlying, is the thinking here. There are studies out there that show that the actual VIX is about 60-80% inverse correlated to the S&P500 so the idea is, if VIX goes up, S&P500 goes down and vice-versa.

Let me know if I didn't understand your question and if this answers it.
Wouldn't the reason for the inverse correlation between VIX and the S&P500 be that its historical momentum overall is upwards? So if volatility spikes relative to the long term chart trend that is dominantly bullish, the change will be a bearish deviance from that. Or am I fundamentally missing something about the nature of the inverse relationship?
 

amalia

New member
Volatility expectations tend to spike after large sell- offs but gradually move down in a rally. This is consistent with investor behaviour – they are more anxious to purchase protection when equities are falling than they are to sell volatility when the market is rising. This makes the VIX and this study potentially attractive as a tail risk hedge, due to its negative correlation and its convexity to large negative equity returns.
 

Similar threads

Top