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

[amibroker] Re: to HERMAN: N100 Correlation table



PureBytes Links

Trading Reference Links

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


------------------------ 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/