PureBytes Links
Trading Reference Links
|
Herman,
There is no need to write the 100 tickers. If they belong to WL10,
then
list = GetCategorySymbols( categoryWatchlist, 10 );
tickerlist="";
for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ )
{
tickerlist=tickerlist+sym+",";
}
Title=tickerlist;
The advantage is that you don't have to correct the code after any
N100 change, it is done automatically as soon as you correct WL10.
Note also that StrExtract() needs a "comma-separated list of items",
that's why the above +",".
The result will have a "," at the end, but this is not a problem.
Dimitris Tsokakis
--- In amibroker@xxxxxxxxxxxxxxx, "Dave Merrill" <dmerrill@xxxx>
wrote:
> I've lost track of the original context, but could you do this even
more
> easily by iterating through the tickers in a known watchlist?
>
> Dave
>
> this is actually the "data" type statement I have been looking
for....
> wanted to store individual thresholds in some easy way - this is
easier than
> a file system :-)
>
> herman
> -----Original Message-----
> From: Tomasz Janeczko [mailto:amibroker@x...]
> Sent: November 28, 2003 7:37 AM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: Re: [amibroker] Re: to HERMAN: N100 Correlation table
>
>
> Hello,
>
> It would be shorter to write this that way:
>
> TickerList =
> "AAPL,ADBE,ADCT,ALTR,AMAT,AMG,AMZ,APCC,APOL,BBBY,BEAS,BIIB,BMET,BRCD
,BRCM,CD
> WC,CEPH,"+
>
> "CHIR,CHKP,CHRW,CIE,CMCSA,CMVT,COST,CPWR,CSCO,CTAS,CTXS,DELL,DISH,DL
TR,EBAY,
> ERICY,ERTS,"+
>
> "ESRX,EXPD,FAST,FHCC,FISV,FLEX,GEZ,GILD,GTX,HGSI,HSIC,IACI,ICOS,ITC,
ITU,IVG,
> JDSU,JPR,KLAC,"+
>
> "LAMR,LLTC,LCR,MCHP,MEDI,MERQ,MLM,MST,MOLX,MSFT,MXIM,TAP,VDA,VLS,XTL
,ORCL,PA
> YX,PCAR,PDCO,"+
>
> "PETM,PIXR,PSFT,PTE,QCOM,QLGC,RFMD,ROST,RYAAY,SAM,SBUX,SEBL,SIAL,SDK
,SPS,SPL
> S,SPOT,SSCC,"+
> "SUW,SYMC,TEVA,TLAB,VRS,VRTS,WFMI,XLX,XRAY,YHOO";
>
> Ticker = StrExtract( TickerList, n );
>
> Hope this helps.
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message -----
> From: dirk schreiber
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Thursday, November 27, 2003 9:58 PM
> Subject: Re: [amibroker] Re: to HERMAN: N100 Correlation table
>
>
> hi nand,
>
> the #include file was posted by herman before, it goes like
this:
>
> // Include file
> Ticker =
> WriteIf(n==0 , "AAPL",
> WriteIf(n==1 , "ADBE",
> WriteIf(n==2 , "ADCT",
> WriteIf(n==3 , "ALTR",
> WriteIf(n==4 , "AMAT",
> WriteIf(n==5 , "AMGN",
> WriteIf(n==6 , "AMZN",
> WriteIf(n==7 , "APCC",
> WriteIf(n==8 , "APOL",
> WriteIf(n==9 , "BBBY",
> WriteIf(n==10 , "BEAS",
> WriteIf(n==11 , "BIIB",
> WriteIf(n==12 , "BMET",
> WriteIf(n==13 , "BRCD",
> WriteIf(n==14 , "BRCM",
> WriteIf(n==15 , "CDWC",
> WriteIf(n==16 , "CEPH",
> WriteIf(n==17 , "CHIR",
> WriteIf(n==18 , "CHKP",
> WriteIf(n==19 , "CHRW",
> WriteIf(n==20 , "CIEN",
> WriteIf(n==21 , "CMCSA",
> WriteIf(n==22 , "CMVT",
> WriteIf(n==23 , "COST",
> WriteIf(n==24 , "CPWR",
> WriteIf(n==25 , "CSCO",
> WriteIf(n==26 , "CTAS",
> WriteIf(n==27 , "CTXS",
> WriteIf(n==28 , "DELL",
> WriteIf(n==29 , "DISH",
> WriteIf(n==30 , "DLTR",
> WriteIf(n==31 , "EBAY",
> WriteIf(n==32 , "ERICY",
> WriteIf(n==33 , "ERTS",
> WriteIf(n==34 , "ESRX",
> WriteIf(n==35 , "EXPD",
> WriteIf(n==36 , "FAST",
> WriteIf(n==37 , "FHCC",
> WriteIf(n==38 , "FISV",
> WriteIf(n==39 , "FLEX",
> WriteIf(n==40 , "GENZ",
> WriteIf(n==41 , "GILD",
> WriteIf(n==42 , "GNTX",
> WriteIf(n==43 , "HGSI",
> WriteIf(n==44 , "HSIC",
> WriteIf(n==45 , "IACI",
> WriteIf(n==46 , "ICOS",
> WriteIf(n==47 , "INTC",
> WriteIf(n==48 , "INTU",
> WriteIf(n==49 , "IVGN",
> WriteIf(n==50 , "JDSU",
> WriteIf(n==51 , "JNPR",
> WriteIf(n==52 , "KLAC",
> WriteIf(n==53 , "LAMR",
> WriteIf(n==54 , "LLTC",
> WriteIf(n==55 , "LNCR",
> WriteIf(n==56 , "MCHP",
> WriteIf(n==57 , "MEDI",
> WriteIf(n==58 , "MERQ",
> WriteIf(n==59 , "MLNM",
> WriteIf(n==60 , "MNST",
> WriteIf(n==61 , "MOLX",
> WriteIf(n==62 , "MSFT",
> WriteIf(n==63 , "MXIM",
> WriteIf(n==64 , "NTAP",
> WriteIf(n==65 , "NVDA",
> WriteIf(n==66 , "NVLS",
> WriteIf(n==67 , "NXTL",
> WriteIf(n==68 , "ORCL",
> WriteIf(n==69 , "PAYX",
> WriteIf(n==70 , "PCAR",
> WriteIf(n==71 , "PDCO",
> WriteIf(n==72 , "PETM",
> WriteIf(n==73 , "PIXR",
> WriteIf(n==74 , "PSFT",
> WriteIf(n==75 , "PTEN",
> WriteIf(n==76 , "QCOM",
> WriteIf(n==77 , "QLGC",
> WriteIf(n==78 , "RFMD",
> WriteIf(n==79 , "ROST",
> WriteIf(n==80 , "RYAAY",
> WriteIf(n==81 , "SANM",
> WriteIf(n==82 , "SBUX",
> WriteIf(n==83 , "SEBL",
> WriteIf(n==84 , "SIAL",
> WriteIf(n==85 , "SNDK",
> WriteIf(n==86 , "SNPS",
> WriteIf(n==87 , "SPLS",
> WriteIf(n==88 , "SPOT",
> WriteIf(n==89 , "SSCC",
> WriteIf(n==90 , "SUNW",
> WriteIf(n==91 , "SYMC",
> WriteIf(n==92 , "TEVA",
> WriteIf(n==93 , "TLAB",
> WriteIf(n==94 , "VRSN",
> WriteIf(n==95 , "VRTS",
> WriteIf(n==96 , "WFMI",
> WriteIf(n==97 , "XLNX",
> WriteIf(n==98 , "XRAY",
> WriteIf(n==99 , "YHOO" , ""
> ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
))))))))
> ))))))))))))))))))))))))))))));
>
> dirk
> ----- Original Message -----
> From: nkis22
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Thursday, November 27, 2003 5:16 PM
> Subject: [amibroker] Re: to HERMAN: N100 Correlation table
>
>
> Will appreciate very much to see the #include AFL please
> thanks in advance
> nand
>
>
>
>
>
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, dirk schreiber
<tianatrading@xxxx>
> wrote:
> > hello herman,
> >
> > after playing around with your code a little bit, i
realized that
> it is not showing a COMPLETE "heat list" of the n100.
by "splitting
> up" the 100 stocks into two groups of 50, one for the x-
axis and the
> other for the y-axis, we can't get the whole picture. the
first
> stock
> (AAPL) has its correlation only measured against stocks 50-
99(JDSU-
> YHOO), but not for example against ADBE or ADCT.
> > thanks to posting your code i am beginning to understand
the logic
> of looping better, so i just changed some numbers to have
the loop
> go
> through ALL possible combinations. it takes slightly longer
(instead
> of 50*50=2500 it's 100*100=10000 calculations) and of
course it has
> quite a lot of duplicate results, but i think it is the
only way to
> calculate all correlations.
> > also, i changed the code from absolute to relative
correlation,
> which gives different results.
> >
> > what do you think?
> >
> > dirk
> >
> >
> >
> > // Exploration N100 relative Correlation table
> >
> > Buy=Sell=Short=Cover=0;
> >
> > StkNum = Status("StockNum");
> >
> > Filter = Status("LastBarInTest") AND StkNum < 100;
> >
> > AddTextColumn(Name(),"Ticker",1.0);
> >
> > SetOption("nodefaultcolumns",1);
> >
> > n = StkNum;
> >
> > #include <NtoN100Ticker.afl>
> >
> > Ticker1 = Ticker;
> >
> > C1 = ROC(Foreign(Ticker1,"C"),1);
> >
> > for(m=1;m<=99;m++)
> >
> > {
> >
> > n=m;
> >
> > #include <NtoN100Ticker.afl>
> >
> > Ticker2 = Ticker;
> >
> > C2 = ROC(Foreign(Ticker2,"C"),1);
> >
> > Corr = Correlation(C1, C2, 8 );
> >
> > Color = IIf(Corr>0.7,8,4); // Add colors to make a heat
map
> >
> > AddColumn(Corr,Ticker,1.3,1,Color);
> >
> > }
> >
> >
> > ----- Original Message -----
> > From: Herman vandenBergen
> > To: amibroker@xxxxxxxxxxxxxxx
> > Sent: Wednesday, November 26, 2003 11:43 PM
> > Subject: RE: [amibroker] to TOMASZ: how to loop
through a list
> of tickers ?
> >
> >
> > A slight oversight in my previous code, you CAN list
tickers by
> name (no string array needed) in the left most column
with the
> slightly different code below. Here is a fragment of the
table.
> Include file can be found in previous post.
> >
> >
> >
> > // N100 Correlation table
> > Buy=Sell=Short=Cover=0;
> > StkNum = Status("StockNum");
> > Filter = Status("LastBarInTest") AND StkNum < 50;
> > AddTextColumn(Name(),"Ticker",1.0);
> > n = StkNum;
> > #include <NtoN100Ticker.afl>
> > Ticker1 = Ticker;
> > C1 = Foreign(Ticker1,"C");
> > for(m=50;m<=99;m++)
> > {
> > n=m;
> > #include <NtoN100Ticker.afl>
> > Ticker2 = Ticker;
> > C2 = Foreign(Ticker2,"C");
> > Corr = Correlation(C1, C2, 8 );
> > Color = IIf(Corr>0,8,4); // Add colors to make a
heat map
> > AddColumn(Corr,Ticker,1.3,1,Color);
> > }
> > -----Original Message-----
> > From: dirk schreiber [mailto:tianatrading@x...]
> > Sent: November 27, 2003 2:03 AM
> > To: amibroker@xxxxxxxxxxxxxxx
> > Subject: [amibroker] to TOMASZ: how to loop through a
list of
> tickers ?
> >
> >
> > i'm a bit surprised to see that noone is
answering my
> call.
> > so may i ask you directly, tomasz, if what i
asked is
> possible and if you could indicate me the right way to
code
> this ??
> >
> > thank you,
> >
> > dirk
> >
> > ----- Original Message -----
> > From: dirk schreiber
> > To: amibroker@xxxxxxxxxxxxxxx
> > Sent: Monday, November 24, 2003 12:14 PM
> > Subject: Re: [amibroker] how to loop through
a list of
> tickers ?
> >
> >
> > noone ???
> > i'll try again: as an example, is it possible
to
> calculate all correlations of the stocks constituting
the
> nasdaq100 in one scan?
> > my code below will explore the correlations
of IBM
> with
> the other 99 constituents of my nasdaq100 watchlist.
is there
> a
> way in afl to tell amibroker to first calculate these
> correlations for one stock, then go to the next and do the
> same
> there and so forth, so that i could find out the 10 highest
> correlations within the nasdaq100 for example ??
> > i have tried many ideas but i am stuck
(haven't
> mastered the new loop formulas very well yet) ...
> >
> > any help would be greatly appreciated, maybe
this
> procedure would interest other amibroker users as
well.
> >
> > thanks in advance,
> >
> > dirk
> >
> >
> > pair="IBM";
> >
> > x=Foreign(pair,"C");
> >
> > y=C;
> >
> > xpc=ROC(x,1);
> >
> > ypc=ROC(y,1);
> >
> > Graph0=Correlation(xpc,ypc,20);
> >
> > Graph1=Correlation(xpc,ypc,200);
> >
> > Filter=Graph0>0.7 AND Graph1>0.5;
> >
> > AddColumn(Graph0,"Cor20",1.2);
> >
> > AddColumn(Graph1,"Cor200",1.2);
> >
> > AddColumn(Graph0+Graph1,"total",1.2);
> >
> > Buy=0;
> >
> >
> >
> >
> >
> > ----- Original Message -----
> > From: dirk schreiber
> > To: amibroker@xxxxxxxxxxxxxxx
> > Sent: Thursday, November 20, 2003 6:56 PM
> > Subject: [amibroker] how to loop through
a list of
> tickers ?
> >
> >
> > hello,
> >
> > this is my first post.
> > i have been working my way into the ideas
behind
> pair trading, reading the interesting posts by yuki
a few
> months ago and writing some code.
> > here is where i'm stuck: when i calculate
> correlation, price ratio and other things like beta
ratio it
> is my understanding that when scanning my database i can
only
> compare one stock at a time with the rest of my universe. --
is
> it possible to calculate all correlations between
all stocks
> in one scan?? i know that with big groups this
would mean
> millions of calculations, but for a group like the
n100 this
> should be possible?
> > can this be done by some sort of loop?
> > i searched the mailing list archive and
found only
> one hint by DT, talking about maybe using something
like
> Status("STOCKNUM") == 0 , but i could not work
that out
> ...
> >
> > any help is appreciated,
> > thanks in advance,
> >
> > dirk
> >
> >
> >
> > 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.
> >
> >
> > ---------------------------------
> > Do you Yahoo!?
> > Protect your identity with Yahoo! Mail
AddressGuard
> >
> > 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.
> >
> >
> > ---------------------------------
> > Do you Yahoo!?
> > Protect your identity with Yahoo! Mail AddressGuard
> >
> > 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.
> >
> >
> > ---------------------------------
> > Do you Yahoo!?
> > Protect your identity with Yahoo! Mail AddressGuard
> > Yahoo! Groups
> Sponsor
> ADVERTISEMENT
> >
> > 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.
> >
> >
> > ---------------------------------
> > Do you Yahoo!?
> > Protect your identity with Yahoo! Mail AddressGuard
>
>
>
> 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.
>
>
>
> 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.
>
>
>
> --------------------------------------------------------------------
------
> Do you Yahoo!?
> Protect your identity with Yahoo! Mail AddressGuard
>
>
> 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
> ADVERTISEMENT
>
>
>
>
> 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 ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/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/
|