[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Top 200 stocks by volume



PureBytes Links

Trading Reference Links

Hi Andrew,

Yes, I did run the ranking using Turnover=MA(V*C,250) in it.

Another thing I have just done is run this:

Filter=MA(V*C,250);
SetOption("NoDefaultColumns", True);
AddTextColumn( Name(), "Ticker", 77);
AddColumn( DateTime(), "        Date        ", formatDateTime);
AddColumn( Close, "   Close   ", 1.3);
AddColumn(MA(V*C,250), "Turnover", 1);

...on a single date and exported the data to a CSV file and on sorted
the 
volume top to bottom.

I compared it with the same date on the ~TurnoverTop200 and the 
value in the ~TurnoverTop200 would catch around 180 stocks when 
looking at the volume in the csv file. Thanks.

Dave

--- In amibroker@xxxxxxxxxxxxxxx, "Andrew Perrin" <adjp@xxxx> 
wrote:
> Dave
> Had to think about this one, I noticed you have used Turnover=MA
(V*C,250) . This is not the turnover calculation used in the initial 
Ranking AFL, did you modify that ranking calculation as well, if not
that 
is the reason for the discrepancy.  It does work for me. 
> 
> >BTW I would like to do an Explore on single day (say on
01/01/2003) 
> >using for an example: MA(V*C,250) so I can do a sort in AA to see 
what 
> >the actual Top 200 stocks symbols were. I've tried a few thing but 
I'm 
> >not sure how to set it up in the AA and what range to set (ie:
does it 
> >need to be back 250 days for the 250 day MA) ?
> 
> Just set Range From - 01/01/2003 To - 01/01/2003 and explore.  No 
you don't have to worry about 250 day MA, Amibroker takes care of
that 
for you.
> 
> Andrew
> 
> 
>   ----- Original Message ----- 
>   From: dcrotty2003 
>   To: amibroker@xxxxxxxxxxxxxxx 
>   Sent: Sunday, December 21, 2003 8:40 AM
>   Subject: [amibroker] Re: Top 200 stocks by volume
> 
> 
>   Hi Andrew,
> 
>   I just did a simple scan to see exactly how many stocks were
above 
the 
>   turnover formula in the rank code ie:
> 
>   Turnover=MA(V*C,250)  >= Foreign("~TurnoverTop200","C");
>   Buy = 0;
>   AddToComposite(Turnover, "~StockNum", "X" ); 
> 
>   ...I found the number of stocks picked on a day varies between
170 
& 
>   180 or so, rather then 200. Do you know why this would be? Thanks.
> 
>   BTW I would like to do an Explore on single day (say on
01/01/2003) 
>   using for an example: MA(V*C,250) so I can do a sort in AA to see 
what 
>   the actual Top 200 stocks symbols were. I've tried a few thing
but 
I'm 
>   not sure how to set it up in the AA and what range to set (ie:
does it 
>   need to be back 250 days for the 250 day MA) ?
> 
>   Dave
> 
> 
> 
>   --- In amibroker@xxxxxxxxxxxxxxx, "Andrew Perrin" <adjp@xxxx> 
>   wrote:
>   > Dave
>   > Good to hear you got it working.  I don't run this exact scan,
but 
yes I 
>   do run a ranking scan daily.  I contributed the Turnover Ranking
as 
an 
>   example,  Perhaps of interest to you was a discussion on whether 
this 
>   particular formula for turnover was the best as opposed to MA(V * 
>   Close ,sov1). 
>   > see http://groups.yahoo.com/group/amibroker-ts/message/596 
for 
>   this discussion
>   > >Just add MA(V,sov1) * Close >= foreign
>   > >("~Top200Vol","C"); to my system and that's it. Does that
sound 
OK?
>   > What you suggest sounds right to me
>   > Andrew
>   > 
>   > 
>   >  
>   > 
>   > ----- Original Message ----- 
>   >   From: dcrotty2003 
>   >   To: amibroker@xxxxxxxxxxxxxxx 
>   >   Sent: Saturday, December 20, 2003 4:22 PM
>   >   Subject: [amibroker] Re: Top 200 stocks by volume
>   > 
>   > 
>   >   Andrew,
>   > 
>   >   Excellent!! :-) got it going, thanks for your time and your
code. I 
>   didn't 
>   >   understand how it worked and now that I see it on a chart, I 
doesn't 
>   >   look like it's necessary to do it month by month as I
mentioed in 
my 
>   >   previous post. Just add MA(V,sov1) * Close >= foreign
>   >   ("~Top200Vol","C"); to my system and that's it. Does that
sound 
OK?
>   > 
>   >   Do you run this daily prior to Scaning for signals?
>   > 
>   >   Thanks again.
>   >   Dave
>   > 
>   > 
>   >   --- In amibroker@xxxxxxxxxxxxxxx, "Andrew Perrin" 
<adjp@xxxx> 
>   >   wrote:
>   >   > Dave
>   >   > to use this AFL, you need to set the APPLY TO -> CURRENT 
>   >   STOCK       not Filter -> Watchlist -> 1000 stocks.  For the 
current 
>   stock 
>   >   selected it is best to use a stock with no data holes ( I use
an 
>   INDEX ).  
>   >   I've copied a snippet of code from the AFL below, this is
what I 
tried 
>   to 
>   >   explain in first comment.  Under user variables are
>   >   > sWatchlist = 4;  This is the watchlist you want to scan not 
write 
>   >   results to.  Set this to whatever you mistakenly set the
filter to 
>   initially.
>   >   >  Rank_No = 200;  This is the depth you want to rank to ie.
the 
>   200th 
>   >   highest rank value will be added to the AddToComposite.
>   >   > 
>   >   > // 
>   >   
>   
****************************************************
>   >   ************
>   >   > // APPLY TO - CURRENT STOCK - Set to an index (no data 
holes).
>   >   > // RANGE - FROM - "set date" TO - "set date",
>   >   > // SCAN or EXPLORE
>   >   > // 
>   >   
>   
****************************************************
>   >   ************
>   >   > osInitialize();
>   >   > #pragma nocache
>   >   > //#include "afl/AP_Functions.afl";
>   >   > //////////////////////////////////////////////////
>   >   > // User Variables - enter here //
>   >   > /////////////////////////////////////////////////
>   >   > sWatchlist = 4; // set to desired watchlist.
>   >   > Rank_No = 100; // set the depth to rank to.
>   >   > 
>   >   > 
>   >   > Hope this Helps,  any problems just ask
>   >   > 
>   >   > Andrew
>   >   >   ----- Original Message ----- 
>   >   >   From: dcrotty2003 
>   >   >   To: amibroker@xxxxxxxxxxxxxxx 
>   >   >   Sent: Saturday, December 20, 2003 9:50 AM
>   >   >   Subject: [amibroker] Re: Top 200 stocks by volume
>   >   > 
>   >   > 
>   >   >   Hi Andrew, thanks for your reply.
>   >   > 
>   >   >   Re: Add To Composite RankValue based on Ranking 
calculation.
>   >   > 
>   >   >   Using the code in the message you wrote, I believe I
could 
use 
>   the 
>   >   >   composite value as a filter in my systems backtest.
>   >   > 
>   >   >   I could run the top 200 volume code over each month for
the 
last
>   >   >   couple of years, setting up watchlists/composites to use
in 
>   >   backtesting. 
>   >   > 
>   >   >   Then in my system, add a date function for each of the 
months 
>   >   >   composites as a volume filter for backtesting over the
1000 
>   stocks.
>   >   > 
>   >   >   ie:
>   >   >   IIf(Year()==2003 AND Month()==11,MA(V,sov1) * Close >= 
>   foreign
>   >   >   ("~Top200Vol_11_2003","C"),
>   >   >   IIf(Year()==2003 AND Month()==12,MA(V,sov1) * Close >= 
>   foreign
>   >   >   ("~Top200Vol_12_2003","C"),    
>   >   > 
>   >   >   ....etc etc etc 
>   >   > 
>   >   >   Nothing's never that easy is it!! ...hoping for a simpler
way.
>   >   > 
>   >   >   Anyway down to business :-) I've downloaded the Osaka
plug-
in 
>   and 
>   >   run 
>   >   >   the code on a watchlist of 1000 stocks. I get the
composite 
come 
>   up 
>   >   >   with zero and nothing in my watchlist 4. In the AA
results all 
the
>   >   >   Rank Values are zero.
>   >   > 
>   >   >   Any idea what I could be doing wrong? I'm selecting Apply
to -
>
>   >   >   Filter -> Watchlist -> 1000 stocks and setting the date
to the 
last 
>   >   >   months worth. I'm using AB Version 4.5.6 and I guess
there's 
>   nothing
>   >   >   to setup in the Settings?
>   >   > 
>   >   >   Thanks, Dave
>   >   > 
>   >   > 
>   >   >   --- In amibroker@xxxxxxxxxxxxxxx, "Andrew" 
<a.perrin@xxxx> 
>   >   wrote:
>   >   >   > Dave
>   >   >   > Take a look at messages 50428 and 50457.  They might be 
>   what 
>   >   you 
>   >   >   want
>   >   >   > 
>   >   >   > Andrew
>   >   >   > 
>   >   >   > --- In amibroker@xxxxxxxxxxxxxxx, "dcrotty2003" 
>   >   >   <dcrotty2003@xxxx> 
>   >   >   > wrote:
>   >   >   > > Hi Mark, and thanks for the reply.
>   >   >   > > 
>   >   >   > > Sounds a bit tricky, I have no knowledge of JScript.
>   >   >   > > 
>   >   >   > > Would anyone have already coded something similar in 
>   JScript 
>   >   that 
>   >   >   > > Mark suggested and I may be able to modify it.
>   >   >   > > 
>   >   >   > > Otherwise, any other suggestions on how to do it? 
Thanks.
>   >   >   > > 
>   >   >   > > Dave
>   >   >   > > 
>   >   >   > > --- In amibroker@xxxxxxxxxxxxxxx, "Mark H" 
>   >   <amibroker@xxxx> 
>   >   >   wrote:
>   >   >   > > > I haven't tried that, but based on what I read in
the 
help 
>   file, 
>   >   >   > > you can do an automatic script to accomplish that.
>   >   >   > > > 
>   >   >   > > > 1. load the explore formula and settings
>   >   >   > > > 2. invoke the explore
>   >   >   > > > 3. save the results to a file
>   >   >   > > > 4. read the file and choose the top 200 tickers
>   >   >   > > > 5. clear existing watchlist
>   >   >   > > > 6. set the 200 tickers to watchlist
>   >   >   > > > 
>   >   >   > > > You can even add the backtest steps:
>   >   >   > > > 
>   >   >   > > > 7. load the backtest formula and settings
>   >   >   > > > 8. invoke the backtest
>   >   >   > > > 9. save the reports to files.
>   >   >   > > > 
>   >   >   > > > All these can be done in JScript. After that, the
whole 
>   process 
>   >   >   > is 
>   >   >   > > just one click away.
>   >   >   > > > 
>   >   >   > > > - Mark H.
>   >   >   > > >   ----- Original Message ----- 
>   >   >   > > >   From: dcrotty2003 
>   >   >   > > >   To: amibroker@xxxxxxxxxxxxxxx 
>   >   >   > > >   Sent: Thursday, December 18, 2003 4:51 PM
>   >   >   > > >   Subject: [amibroker] Top 200 stocks by volume
>   >   >   > > > 
>   >   >   > > > 
>   >   >   > > >   Hi,
>   >   >   > > > 
>   >   >   > > >   From a newbie EOD trader. Instead of backtesting 
using 
>   >   todays 
>   >   >   > > index, 
>   >   >   > > >   is it possible to create a daily list of 200 only
stocks 
from 
>   >   >   > a 
>   >   >   > > list 
>   >   >   > > >   of 1000 filtered by moving average volume and my 
>   system 
>   >   >   > > backtested on 
>   >   >   > > >   this list?
>   >   >   > > > 
>   >   >   > > >   I know I could do an explore to pick out the top
200 
and 
>   >   save 
>   >   >   > it 
>   >   >   > > to a 
>   >   >   > > >   watchlist then backtest on the list, but I want
the list 
to 
>   be 
>   >   >   > > >   changed everyday within the backtest.
>   >   >   > > > 
>   >   >   > > >   I don't want if using the rank function to only
buy top-
>   down 
>   >   >   > > stocks 
>   >   >   > > >   with the highest volume but to buy any of the 200 
>   selected 
>   >   >   > stocks.
>   >   >   > > > 
>   >   >   > > >   Thanks for any help.
>   >   >   > > > 
>   >   >   > > >   Dave
> 
> 
> 
>   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 
> 
> 
> 
> ------------------------------------------------
------------------------------
>   Yahoo! Groups Links
> 
>     a.. To visit your group on the web, go to:
>     http://groups.yahoo.com/group/amibroker/
>       
>     b.. To unsubscribe from this group, send an email to:
>     amibroker-unsubscribe@xxxxxxxxxxxxxxx
>       
>     c.. Your use of Yahoo! Groups is subject to the Yahoo! Terms of 
Service.


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/