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

[amibroker] Re: to HERMAN: N100 Correlation table



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/