PureBytes Links
Trading Reference Links
|
I had not realized how complex this issue was. Certainly, by my
efforts, I now realize it is not easy to do - now. But I hadn't
realized how difficult it would be to build in. Of course, it makes
sense because it seems a good rule of thumb: if it is reasonable to
do Tomasz has already done it.
It would be interesting maybe to have a companion product to Ami to
do this type of ranking/filter. Much like AmiQuote works hand in
hand with AmiBroker. I imagine that this software could load small
amounts of data at a time - so as to avoid the storage issue. But if
it referenced one's normal ticker database per request, and then
created a new quasi-rigid database of its own it could then operate
at high speeds.
I am however, but a 'tinkerer' when it comes to programming and thus
know little of the implications of such a project. The bottom line
is I too am very thankful for Tomasz and Ami. I really couldn't
imagine using any other piece of software.
-Rich
--- In amibroker@xxxxxxxxxxxxxxx, "b519b" <b519b@xxxx> wrote:
> Rich:
>
> Like you, I am looking forward to a function like RANK(). Hopefully
> it will not be too long before AB gets new abilities for ranking
and
> portfolio testing.
>
> Adding items like RANK() will take AB to a new level of usefulness -
> but it will not be a trival task. As users we are fortunate that
> that a man with Tomasz's talents and dedication is developing AB.
>
> Some months ago, Tomasz explained that adding functions that do
> ranking is not a simple task. If my memory is correct, the
challenge
> has to do with giving AB new procedures for processing data. Right
> now AB is oriented to look at only 1 stock at a time. This has
> several advantages for the user. First it allows AB to be very fast
> at drawing charts, calculating indicators, and doing backtesting on
> individual stocks. It means that AB can run very well on computers
> that do not have 2 or more GBs of RAM. There are advantages for
disk
> storage as well.
>
> In addition to AB, I use another stock program that has been
> oriented from the ground up for Ranking stocks. That program is
> lightening fast at ranking: less than 1 second to rank 7,000
stocks.
> Compare that to how long it takes an AB scan to rank 7,000 stocks.
> However, all is not perfect with my other program - it is VERY slow
> at charting. Unbelievably slow! The reason is its data base design
> was optimized for ranking. The by produce is slow charting (and
slow
> indicator calcuations).
>
> The other by product of that program is limited stock history. To
be
> optimized for ranking, the other program has all of its data in one
> large database. This approach quickly outgrows database limits. My
> other program recently had to be upgraded from a MS Access
structure
> with a 1 GB limit to an MS SQL server structure (with a 2 GB limit -
> larger available for higher cost). The 1 GB database can not hold
> much more than 3 years of data. The newer one has a twice the
limit,
> but appears to be less efficent in storage: it takes about 1/3 to
> 1/2 GB/year of data, so its maximum is 4-5 years of data - not a
lot
> more than what it replaced! Compare that to the virtually unlimited
> data that AB can hold due to its 1 file per stock approach to data
> storage.
>
> Over all, AB's approach is much to be preferred in my view.
However,
> that approach is, at its heart, to treat one stock at a time, both
> for storage on the hard disk and for charting and for testing.
> Adding a function like RANK() that you suggest, would add new
> requirements to AB, including:
>
> 1. AB will have to syncronize dates between all the stocks -- it
> currently does not have to do this for most charting and testing,
> expect in a limited way when making a Foreign() call or using
> AddToComposite().
>
> 2. AB will have to have some new internal arrays to store the
> rankings. That will be mean least one array for every data bar,
> which might not sound like much if a user just wants the top 5, 10,
> 20 or 50 rankings for each day (data bar), but it can add up very
> quickly if the user wants ALL the stocks ranked for every data bar.
> That could be a 2D array with 7,000 (stocks) in one direction and
> nearly 4,000 (15 years of 250 days) in the other: 28 million cells.
> And what if the user wants to test the interactions of 3 different
> ranking arrays. Demands for RAM (and CPU power for sorting) could
be
> at a premium and intelligent programming a must.
>
> 3. There are probably many more issues that would need to be
> overcome.
>
> In short, as users we are fortunate that that a man with Tomasz's
> talents and dedication is developing AB. Adding items like RANK()
> will take AB to a new level of usefulness - but it will not be a
> trival task.
>
> -------------
>
>
> like RANK()
> --- In amibroker@xxxxxxxxxxxxxxx, "rlb21079" <rlb21079@xxxx> wrote:
> > Thanks for the tips. I have read the Users Guide twice and have
> > searched it for specifics often. The ROC() is a useful funtion,
> but
> > right now will not be of much use. My problem biggest problem
has
> > been my inability to compare one ticker to another, or more
> > specifically one ticker's volume to the volume of all other
> tickers
> > in a market. This seems to be the essential aspect to creating a
> > ranking of stocks, as per volume, change in price, ROC(), or
> > whatever. There doesn't seem to be a function like say RANK(),
> the
> > parameters of which might be: "Ticker for
> > comparison," "Group/Market/Watchlist for comparing," "Array to
> > compare"
> >
> > There, of course, could be many variations on a function such as
> this
> > and I haven't thought them through - but it would be useful.
> >
> > It would allow for the creation of Composite Tickers based on
such
> > popular measures as Most Active per Volume, per percentage
change,
> > per percentage increase in volume, etc.
> >
> > Thankyou for your time,
> > -Rich
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, Udo.Harke@xxxx wrote:
> > > Rich,
> > >
> > > maybe you should devise a selection of those particular stocks
> > based on the AFL library function ROC() by comparing today's
> progress
> > ( > 0) versus the preceding day's change of price (> 0 too)
> expressed
> > as percentage?
> > >
> > > Some information about this function is also contained in the
> > User's Guide which is a companion product issued with AmiBroker!
> > >
> > > Best regards,
> > >
> > > Udo
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: rlb21079
> > > An: amibroker@xxxxxxxxxxxxxxx
> > > Gesendet: Sonntag, den 25. Mai 2003 22:58 Uhr
> > > Betreff: [amibroker] Re: Bugged out (1)
> > >
> > >
> > > I'm very sorry to all reading my previous posts. Esp.
> Tomasz. I
> > > wanted to create a composite ticker holding each day a single
> > value
> > > comprised of the sum of the direction of change for the 15
> most
> > > active stocks of that given day. If the 15 most actively
> traded
> > > stocks were all positive, then value would be +15, if all but
> one
> > > then value would be +13...etc. I inteded the requirement of
> the
> > > rangefrom and rangeto dates to be the same b/c I figured I
> needed
> > to
> > > run the explore once for every day I wanted to calculate the
> > number.
> > > The code wasn't done, this was just the first couple steps to
> > isolate
> > > the 15 most actives, but I really can't figure any other
way.
> > I'll
> > > get more practice with something easier and hopefully be able
> to
> > do
> > > this later.
> > > All the best,
> > > Rich
> > >
> > >
> > >
> > >
> > > Yahoo! Groups Sponsor
> > >
> > >
> > >
> > > Send BUG REPORTS to bugs@xxxx
> > > Send SUGGESTIONS to suggest@xxxx
> > > -----------------------------------------
> > > 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
> > >
> > > Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> > Service.
------------------------ Yahoo! Groups Sponsor ---------------------~-->
Get A Free Psychic Reading! Your Online Answer To Life's Important Questions.
http://us.click.yahoo.com/Lj3uPC/Me7FAA/CNxFAA/GHeqlB/TM
---------------------------------------------------------------------~->
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
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
|