I'm experimenting on a simple type volatility formula and the results I get from an exploration leaves me with numerous zeros in the results. Anyone know how to overcome this? With the lookback period set to say a fixed period of example 300 days, I still get this issue, therefore I doubt the lookback period formula is the issue. // THIS FORMULA EXPERIMENTING WITH VOLATILITY VT1 = Cum(Nz(DateNum()>=1160127)); // MAX LOOKBACK DATE VT2 = IIf(-20+(BarIndex())<VT1,-20+(BarIndex()),VT1); // ADJUSTED LOOKBACK TIME MA20 = MA(C,20); VT3 = MA20>Ref(MA20,-1); // RISING MA20 VT4 = Sum(VT3,VT2); // SUM OF RISING MA20 VT5 = H>MA20; VT6 = L>MA20; VT7 = L<MA20; VT8 = IIf(VT3,Sum(VT5,VT4),0); // SUM OF H>MA20 VT9 = IIf(VT3,Sum(VT6,VT4),0); // SUM OF L>MA20 VT10 = IIf(VT3,Sum(VT7,VT4),0); // SUM OF L<MA20 Filter = 1; AddColumn(VT8,"VT8",1,1,10,50); AddColumn(VT9,"VT9",1,1,10,50); AddColumn(VT10,"VT10",1,1,10,50);
The column results are returning zero, for example, if my exploration is returning results for 500 stocks, maybe 250 of the results have been calculated and 250 of the remainder return a zero. It's early AM here now so will send a pic in a few hours time.
Amibroker exploration will step through all the elements of the array within the specified range(All quotes, 1 recent bars, 1 recent day, From-to dates). The IIF statements have zero option so there are plenty of zeros in those arrays. It tough to control the output result in the Amibroker exploration. What you can do is to cut and paste into Excel spreadsheet and filter out the zeros.
Seems the problem lays in the fact if current price is less than MA20 or MA20 is falling, then it wont calculate any historical result.
Zeros can easily be filtered out in AB, no need for transposing to a seperate spreadsheet, however the overall results whichever way is inaccurate if 60% of the exploration result is missing.