PureBytes Links
Trading Reference Links
|
Thanks Andrew. The array limit seems pretty clear now that you
mention it. I'll have to look into the 0 and 1 array coordinate. I
hadn't heard about that.
Appreciate it.
-ace
--- In amibroker@xxxxxxxxxxxxxxx, "andrewperrin2001" <adjp@xxxx>
wrote:
> Ace
> Without looking too closely at your code, can I point out that
your
> array is limited to the number of elements equal to the number of
> bars found in the current stock. So if your list is longer than
> number of bars in the current stock you will get a "subscript out
of
> bounds error". Also I "think" there is a limitation on using the
[0]
> and [1] element. In any case, lookup Dimitris's code on Top
Ranked
> Shares as he used arrays to store values which may offer some help
> to your problem
> HTH
> Andrew
> --- In amibroker@xxxxxxxxxxxxxxx, "acesheet" <acesheet@xxxx> wrote:
> > All,
> >
> > I usually construct stock picking Excel spreadsheets in which I
> > create percentile ranks for things like returns of a stock
> relative
> > to the market, EPS Growth, Sales Growth, etc. Somewhat similar
to
> > what can be found in Investor's business daily.
> >
> > I am trying to develop a percentrank function in Amibroker. I
> > thought I had, but it assumed a normal distribution and recent
> > analysis of distributions and probability curves has showed me
> that
> > returns are not normally distributed and, in fact, are different
> > during differing market environments (bull vs bear).
> >
> > Anyway, what I'd like to do is create my own %Rank statistic
using
> > the new Percentile function such that it samples the ROC(C,260)
> for
> > all the stocks in my database and compares them to each other
each
> > day. In essence duplicating what IBD does after a fashion.
> >
> > One way I thought of to do this was to create a temporary
> reference
> > index of all the ROC's for each stock in my database for a given
> > day, perform a percentile rank on the set of ROC's and then use
a
> > ten segment line fit of the cumulative probability (m*x+b), and
> > store the slope and intercept of each of the lines for each day
as
> > 11 separate reference indices. This would essentially map out
the
> > distribution for the market for that day and Relative Strength
> ranks
> > could be easily extracted from that data.
> >
> > Suppose I have 3000 stocks in my database and I have 5 years of
> data
> > for each stock. Will AB allow me to create an index say
> > called '~R260temp' which contains all the ROC(C,260) information
> for
> > yesterday, perform a Percentile ranking on this ~R260temp index
> and
> > then increment the day to today?
> >
> > The algorythm for say today would look something like this:
> >
> > //-----------------------------------------------------------
> > // First seed the temprary variable for ROC(C,260) with the
ROC's
> > // of all the stocks in in Group0
> > //-----------------------------------------------------------
> > list = CategoryGetSymbols( categoryGroup, 0 );
> > roc260=0;
> > count=0;
> > for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ )
> > {
> > roc260[i]=LastValue(ROC(Nz(Foreign( sym, "Close" )),260));
> > count=count+1;
> > }
> >
> > x=0;
> > y=0;
> > //-----------------------------------------------------------
> > // First Loop i goes through percentile ranks in
> > // increments of 10 from 1 to 99
> > // x = the %rank we are seeking
> > // y = the ROC(C,260) that fits in between x-1 and x+1
> > //-----------------------------------------------------------
> > lag=0;
> > for( i = 0; i<=10; i++ )
> > {
> > Flag=0;
> > for( j = 0; j<=count-1; j++ )
> > {
> > y[i]=i*10;
> > if(i<1) y[i]=2;
> > if(i>9) y[i]=98;
> > if(roc260[j]>=Percentile( roc260, count, y[i]-1 ) AND roc260
[j]
> > <=Percentile( roc260, count, y[i]+1 ))
> > { x[i]=roc260[j];
> > Flag=1;
> > }
> > }
> > }
> > //-----------------------------------------------------------
> > // I'm trying to store x & y in arrays to use for later screens.
> > // The (x,y) pair should roughly represent the cumulative
> probability
> > // of the database
> > //-----------------------------------------------------------
> > AddToComposite(y,"~yrank","C");
> > AddToComposite(x,"~xroc","C");
> >
> > Buy=0;
> >
> > //-----------------------------------------------------------
> >
> > Anyway when I run this code I get a "subscript out of bounds
> error"
> > on the very first loop, the ROC seeding loop. I'm not sure why
> that
> > would occur. Any clues?
> >
> > Incidentally, the way this would be used is as reference data
for
> > the the cumulative probability distribution (CPD). This would
> pretty
> > much be a match for a Percentile Rank based RS score. Using the
> data
> > points from this you could construct a set of 10 equations that
> > would essentially curve fit the CPD with 10 lines.
> >
> > Can anyone help with this effort. I think it would be a great
> > feature for Scans and Explorations in AA.
> >
> > -ace
Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Yahoo! Groups Links
To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|