I am very interested in getting more details about your progress with this Fear/Greed "twin".
I've been working on re-engineering both the Bloomberg Trender and the Fear/Greed-indicator for a while, so far with succes as for the Trender overlay, but I get stuck calculating the F/G.
I would be very happy if you could elaborate your work so far...
Regarding the Trender, I would be glad to provide the code and/or method.
I'm not an NT programmer (I code solely in Vikingen, a Scandinavian TA software package), so please advise me where to put it (forum/thread), if you want it.
Wow, Vikingen? Is that still being developed? Reminds me of when I first started out.
As far as the FG-indicator, isn't it simply a combination of TR and ATR. I would assume it was pretty easy to re-engineer, but I haven't really looked into it. I do some statistical work with ranges, though.
Sorry, I simply forgot this indicator, as I only had put little effort into the rebuilding. But I don't mind sharing this, as it is not complicated. So let me expose some of the principles:
Splitting the True Range
The true range normally has no direction, but you can split it into two different series.
TrueRangeUp takes the value of True Range if Close > Prior Close, but 0 otherwise.
TrueRangeDown takes the value of True Range if Close < Prior Close, but 0 otherwise.
I have also made experiments with close-to-open relationship, but as the true range is used, a close-to-close relationship seems to be more apporpriate.
If the range of a day stands for excitement - or sentiment - the close in relation to the prior close gives an indication whether the bulls or the bears made it. Winning a wide ranging, exciting day is more important than winning the battle of a narrow range day. Therefore the entire true range of a day is given to the winner.
Calculating WMAs from TrueRangeUp and TrueRangeDown
The next step is to calculate weighted moving averages from the two series TrueRangeUp and TrueRangeDown. For the WMAs you use a fast and a slow period.
Then you take the fast WMA calculated from TrueRangeDown series and deduct it from the fast WMA calculated from TrueRangeUp. A similar series is calculated from the two slow WMAs. The result is a fast and a slow oscillator series.
Deduct the Slow From the Fast Oscillator Series
Now comes the final step: You deduct the value of the slow oscillator series N bars ago from the last value of the fast oscillator series. The result is a basic version of the fear/greed oscillator. In my latest attempt, I have used N = 5, the periods for the raw oscillator series were around 90 for the fast and 150 for the slow period.
How does this oscillator generate the sentiment?
(1) It uses two raw oscillators built from the WMAs of the TrueRangeUp and TrueRangeDown series.
(2) The slow raw oscillator value of 5 bars ago is deducted from the fast raw oscillator of the last bar.
The direction is therefore given by the lag between the two oscillators. The lag is composed of the 5 bars and the inherent speed of reacting to trends, which is different for the two raw oscillators depending on the selected period.
Of course, I am not sure whether my approach is correct, as I do not know the original Bloomberg formula. I even do not want to know it, it is neither necessary to produce an exact replica. I would rather like to understand the underlying concepts, or whether this wil be just another indicator coming with a new dress but little substance.
Last edited by Fat Tails; October 3rd, 2011 at 07:24 PM.
The following 6 users say Thank You to Fat Tails for this post:
Fat Tails, thank you for providing your method and thoughts!
I've just been running a quick test in Excel, and it seems that the model is not very robust, i.e. a small change in the parameters causes the model to change a lot.
I then calculated a very short WMA (3-5 periods) on the result, and it made the model a little bit more robust.
As I understand your "FG-replica", it measures both the strength and direction of the volatility over a certain period, but as you also states, it needs a more thorough explanation to be fully understood.
I will definately keep on working with this one together with the Bloomberg Trender.
An explanation of the Trender is as follows:
Calculate an EMA on both MidPoint (=(high+low)/2) and TrueRange.
Add/subtract half of the EMA(TR) to/from the EMA(MP) to get the AdjustedMidPoint (=ADM).
Now Calculate x standard deviations of the EMA(TR), and add/subtract this to/from the ADM.
The sensitivity factor is the number of standard deviations.
@Lornz: Yes Vikingen still lives. Actually they have just been bought by another software company, who is in progress of porting it to a 64-bit Windows + alot of other enhancements.
Greetings to you all!
The following 3 users say Thank You to PegasusDK for this post:
I have not gone very far in testing the model yet, I am a bit busy right now, but I will share results on this as soon as possible. So far I do not understand, what the indicator really adds with respect to other standard MACD type indicators.
Thank you for sharing! The idea looks very much like a modified Keltner Channel
So it determines the midpoint of the range via a moving average and then adds an envelope calculated from the average true range + standard deviations in order to show a confidence interval for price moves. I have seen a similar statistical approach when I had a look at the DevStop indicator by Cythia Kase. But I am not sure that the SD will yield more than a simple multiplier for the ATR. Of course the SD of the average true range breathes a little, but does this really improve results.
I think you can go with a simple Keltner Channel (EMA, Typical, Average True Range) instead, or if you want to use standard deviation bands, apply them to a VWAP: