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

RE: [amibroker] JAYSON: Creating IM200 indices



PureBytes Links

Trading Reference Links




<SPAN 
class=804274505-04052003>Markus,
<SPAN 
class=804274505-04052003> 
See 
between lines..
 Jayson 
<FONT face=Tahoma 
size=2>-----Original Message-----From: funnybiz@xxxxxx 
[mailto:funnybiz@xxxxxx]Sent: Saturday, May 03, 2003 9:06 
PMTo: amibroker@xxxxxxxxxxxxxxxSubject: [amibroker] 
JAYSON: Creating IM200 indices
Jayson,
 
regarding your kind aswer a while ago, I´d still 
like to use your expertise.
 
A few things still aren´t clear to me:
 
1./don´t I have to divide the composite 
values of open, high, low and close (each) thru the number of 
symbols computed to get an AVERAGE price? Otherwhise, the price of all 
securities maybe just summed up but no AVERAGE price would be computed, 
right? Can´t I specify this in addtocomposite directly instead of having to 
create a separate indicator???????<SPAN 
class=804274505-04052003> 
<SPAN 
class=804274505-04052003> 
<SPAN 
class=804274505-04052003>How would you do that? Since the composite does not 
know the total number of stocks until the scan is complete. This is 
why we use addtocomposite(1,"V") to store the count 
to Volume 
 
2./ You mentioned data holes and recommended 
to smoothem by dividing by "V". Isnt´that exactly what I´m asking at 1./ 
above?Insn´t there another flaw that we include stocks to our composites that 
have differing lastvalue(cum(1)) values?? <SPAN 
class=804274505-04052003> 
<SPAN 
class=804274505-04052003> 
<SPAN 
class=804274505-04052003>See my answer above. W e take an average to smooth out 
jumps in price, a big gap on earnings etc.  Yes there is a flaw when we find 
holes and now that flaw is addressed with Tomasz's new Database Purify 
tool 
 
Take for instance two stocks one of which has 200 bars and the 
other has 400 bars of which the composite index is to be created.
 
Wouldn´t we then get weird data since the stock with only 200 
bars would impact on the chart after 200 (actually 199) days??<FONT 
color=#0000ff> 
<SPAN 
class=804274505-04052003> 
You are 
talking about new issues? Interesting..... yes a new issue would impact the data 
as our new closing data will be added...... But would it be accurate to not 
include those new tickers TODAY. Because today they do in fact contribute 
to the composites move. This new data being added is also being mitigated by an 
increase in the count when the ticker is added. 
<SPAN 
class=804274505-04052003> 
If you 
wanted to strip the new issues from the composite you could check for bars as a 
filter using barsindex()= "Your minimum number"  but I question if that 
would be wise. Would you want to strip CSCO simply based on when it was 
originally issued? It is too important today to simply ignore the stock. I guess 
the real question is what are you doing with the data? Trading today or 
yesterday? If you want to only include all stocks if they all existed at a given 
date then you must first create a watchlist of stocks with a minimum number of 
bars. You could initially explore the universe for Barindex() then sort the 
results to see which stocks to include in your watchlist, or alternatively to 
see at which point in history you wish to begin using the composite 
data.....
<SPAN 
class=804274505-04052003> 
<SPAN 
class=804274505-04052003> 
Shouldn´t we thus check that all the stocks included in our 
composite tickers have the SAME # of bars, i.e. ALL contribute to the index 
EVERY day on the chart? Otherwhise the index chart could jump around and create 
wrong impression similar to what you referred to as data holes, 
right?
 
How could I specify that in my addtocomposite()?
 
3./ How could I admit only stocks to my indices with an 
MA(vol,50)>20,000? By putting that in a filter IN FRONT of 
the addtocomposite function or by using and IIF statement WITHIN the 
addtocomposite statement ITSELF??<SPAN 
class=804274505-04052003> 
<SPAN 
class=804274505-04052003> 
Again I 
would do it at the point of watchlist creation. Filter for the criteria and only 
add those stocks meeting the criteria to your Master 
watchlist 
 
4./ I put the following code in a separate indicator window. 
Note that I used PlotOHLC since I wanted bar charts<FONT color=#6600aa 
face="Courier New">. The weird thing is that I get bar charts but in the tool 
tip windwo, I get only the bars closing price!!! Why is that??? <FONT 
color=#0000ff face=Arial><SPAN 
class=804274505-04052003> 
<FONT color=#0000ff 
face=Arial><SPAN 
class=804274505-04052003> 
<FONT color=#0000ff 
face=Arial>Since you have renamed OHLC and volume 
you can simply Plot the data there is no need to use 
plotOHLC...try
<FONT color=#0000ff 
face=Arial><SPAN 
class=804274505-04052003> 
<FONT color=#0000ff 
face=Arial>plot(c,"Group Index", 
colorwhite,64);  
<FONT color=#0000ff 
face=Arial><SPAN 
class=804274505-04052003> 
<SPAN 
class=804274505-04052003><FONT 
color=#0000ff><SPAN 
class=804274505-04052003>jayson
sym="~"<FONT 
color=#6600aa face="Courier New">+<FONT color=#0000ff 
face="Courier New">IndustryID<FONT color=#6600aa 
face="Courier New">(1<FONT 
color=#6600aa face="Courier New">);<FONT 
color=#000000 face="Courier New">
C=<FONT 
color=#0000ff face="Courier New">Foreign<FONT color=#6600aa 
face="Courier New">(sym,<FONT color=#ff00ff 
face="Courier New">"C"<FONT color=#6600aa 
face="Courier New">);<FONT color=#000000 
face="Courier New">
O=<FONT 
color=#0000ff face="Courier New">Foreign<FONT color=#6600aa 
face="Courier New">(sym,<FONT color=#ff00ff 
face="Courier New">"o"<FONT color=#6600aa 
face="Courier New">);<FONT color=#000000 
face="Courier New">
H=<FONT 
color=#0000ff face="Courier New">Foreign<FONT color=#6600aa 
face="Courier New">(sym,<FONT color=#ff00ff 
face="Courier New">"h"<FONT color=#6600aa 
face="Courier New">);<FONT color=#000000 
face="Courier New">
L=<FONT 
color=#0000ff face="Courier New">Foreign<FONT color=#6600aa 
face="Courier New">(sym,<FONT color=#ff00ff 
face="Courier New">"l"<FONT color=#6600aa 
face="Courier New">);<FONT color=#000000 
face="Courier New">
V=<FONT 
color=#0000ff face="Courier New">Foreign<FONT color=#6600aa 
face="Courier New">(sym,<FONT color=#ff00ff 
face="Courier New">"V"<FONT 
size=2>);

PlotOHLC(<FONT 
color=#000000 face="Courier New">O<FONT color=#6600aa 
face="Courier New">,<FONT color=#000000 
face="Courier New">H<FONT color=#6600aa 
face="Courier New">,<FONT color=#000000 
face="Courier New">L<FONT color=#6600aa 
face="Courier New">,<FONT color=#000000 
face="Courier New">C<FONT color=#6600aa 
face="Courier New">,"Group 
index",<FONT 
color=#000000 face="Courier New">colorWhite<FONT 
color=#6600aa face="Courier New">,<FONT color=#000000 
face="Courier New">styleBar<FONT color=#6600aa 
face="Courier New">); 
Markus
<BLOCKQUOTE 
>
  ----- Original Message ----- 
  <DIV 
  >From: 
  <A href="" 
  title=jcasavant@xxxxxxxxxxxx>Jayson 
  To: <A 
  href="" 
  title=amibroker@xxxxxxxxxxxxxxx>amibroker@xxxxxxxxxxxxxxx 
  Sent: Thursday, April 24, 2003 4:04 
  PM
  Subject: RE: [amibroker] Creating IM200 
  indices - JAYSON
  
   
  <SPAN 
  class=678142113-24042003>Markus,
   
  see 
  answers below...
  <SPAN 
  class=678142113-24042003> 
  Hello Jayson,
   
  don´t ya worry!
   
  You´ve already helped me a great 
  deal in understanding the "basix" of 
Addtocomposite.
   
  1./ somehow my indices have been stored in 
  -->markets-->market253 AND group 253. While I 
  understand the latter, I don´t understand the former. Is this a MUST?<FONT 
  color=#0000ff><SPAN 
  class=678142113-24042003> 
  <SPAN 
  class=678142113-24042003> 
  <SPAN 
  class=678142113-24042003>I think markets 253 is equivalent to All your stocks 
  and tickers. I am not sure what you are doing but I tend to break that group 
  into watch lists for testing and explorations. For instance you could create a 
  watch list of Nas 100 stocks. This watchlist would contain stocks that reside 
  in the new list AND market 
  253........ 
   
  2./ I used the "x" option for the field 
  code, figuring that would enable me to make a bar chart from it (since OHLC 
  are updated). But this is NOT the case. I get only. No way to produce a bar 
  chart as in HGS/QP2 from it?? I thought of generating 4 ATC´s (one for Open, 
  one for High etc.) but how to bring those together in one index bar for each 
  trading day :-((((<SPAN 
  class=678142113-24042003> 
  <SPAN 
  class=678142113-24042003> 
  <SPAN 
  class=678142113-24042003>Yes you may plot candles but think about what you 
  were trying to do....
  <SPAN 
  class=678142113-24042003> 
  <SPAN 
  class=678142113-24042003><FONT 
  face=Arial> AddToComposite(<FONT 
  color=#000000>C<FONT 
  color=#282828>,sym,"X"<FONT 
  color=#282828>);  would not this populate closing value through out all 
  the fields? try......<FONT 
  color=#0000ff>
  <SPAN 
  class=678142113-24042003> 
  <FONT 
  color=#0000ff> <FONT 
  size=2>
  AddToComposite(<FONT 
  color=#000000>C<FONT 
  color=#282828>,sym,"C"<FONT 
  color=#282828>);<FONT 
  size=2>
  AddToComposite(<FONT 
  color=#000000>O<FONT 
  color=#282828>,sym,"O"<FONT 
  color=#282828>);<FONT 
  size=2>
  AddToComposite(<FONT 
  color=#000000>H<FONT 
  color=#282828>,sym,"H"<FONT 
  color=#282828>);<FONT 
  size=2>
  AddToComposite(<FONT 
  color=#000000>L<FONT 
  color=#282828>,sym,"L"<FONT 
  color=#282828>);<FONT 
  face=Arial>
  AddToComposite(<FONT 
  color=#ff00ff>1,sym,<FONT 
  color=#ff00ff>"V"<FONT face=Arial 
  size=2>);<FONT 
  color=#0000ff> 
  <SPAN 
  class=678142113-24042003> 
  Plotting your 
  ticker now will show the appropriate OHLC data.  Unfortunately if you 
  have any holes in your data they may cause misleading candles. By dividing the 
  values by the number of calculations in each composite you can smooth these 
  errors. To plot this create a custom indicator
  <SPAN 
  class=678142113-24042003> 
  <FONT color=#000000 face=Arial 
  size=2> 
  C=<SPAN 
  class=678142113-24042003> c /V<FONT 
  color=#282828><FONT 
  color=#0000ff>;<FONT 
size=2>
  O=<SPAN 
  class=678142113-24042003> o /V<FONT 
  color=#282828>;<FONT 
  color=#0000ff>
  H=<SPAN 
  class=678142113-24042003> h /V<FONT 
  color=#282828><FONT 
  color=#0000ff>;<FONT 
size=2>
  L=<SPAN 
  class=678142113-24042003> L /V<FONT 
  color=#282828>;
  <FONT color=#000000 face=Arial 
  size=2> 
  Plot(<FONT 
  color=#000000>C<FONT 
  color=#282828>,"Sector Index"<FONT 
  color=#282828>,<FONT 
  color=#000000>colorWhite<FONT 
  face=Arial>,<FONT 
  color=#000000>styleCandle<FONT 
  face=Arial size=2>);
   
  or better yet..If 
  you want to plot your index in the same chart as a component stock 
  try........
   <FONT 
  face=Arial>
  sym="~"+SectorID(1<FONT 
  color=#0000ff face=Arial>);<FONT 
  color=#0000ff>
  C=Foreign(sym,"C")/V<FONT 
  color=#0000ff face=Arial>;<FONT 
  size=2>
  O=Foreign(sym,"o")/V<FONT 
  color=#282828>;<FONT 
  color=#000000>
  H=Foreign(sym,"h")/V<FONT 
  color=#0000ff face=Arial>;<FONT 
  size=2>
  L=Foreign(sym,"l")/V<FONT 
  color=#282828>;
   
  Plot(<FONT 
  color=#000000>C<FONT 
  color=#282828>,"Sector Index"<FONT 
  color=#282828>,<FONT 
  color=#000000>colorWhite<FONT 
  face=Arial>,<FONT 
  color=#000000>styleCandle<FONT 
  size=2>);<SPAN 
  class=678142113-24042003>    For separate window or add 
  |styleownscale for the same window 
   
  AB will determine 
  what sector (or industry in your case) the stock belongs to then automatically 
  plot the index for that stock. I use this approach daily to compare the stocks 
  RSI and the sectors or the stocks momentum and the sectors or to measure the 
  stocks correlation to the sectors etc
  <SPAN 
  class=678142113-24042003> 
  <IMG 
  align=baseline alt="" border=0 hspace=0 
  src="gif00275.gif">
  <SPAN 
  class=678142113-24042003>  
   
   
  3./ It makes me wonder that the newly 
  created indices (in our case the IM200´s) have to be updated EVERY day 
  MANULY(running the scan). Is there no workaround for this (i.e. store the 
  calculated day somewhere and onl update the LAST session as with regular stock 
  data??).<SPAN 
  class=678142113-24042003> 
  <SPAN 
  class=678142113-24042003> 
  <SPAN 
  class=678142113-24042003>The calculations needed require a look at your whole 
  universe. Just save your scan and run it... think of it as part 2 of your 
  daily update. It take but a moment. IMO this feature alone is worth the 
  price of admission to AB. I used to do all this work as a QP scan then export 
  to excel, sort, calculate and import to metastock. If I missed a day I had to 
  rewrite the scan to get yesterdays data etc, etc. With AB the composite is 
  re-created each day so if I miss a day, no problem. If QP makes an adjustment, 
  no problem. 
  <SPAN 
  class=678142113-24042003> 
  <SPAN 
  class=678142113-24042003>I have one scan that creates all my sector 
  composites, all my industry composites, and several market breadth composites. 
  It takes my old P600 system about 2 minutes to do the work then AB even sends 
  them to the appropriate watch list for further analysis. Super 
  feature........
  <SPAN 
  class=678142113-24042003> 
  <SPAN 
  class=678142113-24042003>Regards,
  <SPAN 
  class=678142113-24042003> 
  <SPAN 
  class=678142113-24042003>jayson 
   
  Highly appreciate your help!!!!
   
  Thanx
   
  Markus
  <BLOCKQUOTE 
  >
    ----- Original Message ----- 
    <DIV 
    >From: 
    <A href="" 
    title=jcasavant@xxxxxxxxxxxx>Jayson 
    To: <A 
    href="" 
    title=amibroker@xxxxxxxxxxxxxxx>amibroker@xxxxxxxxxxxxxxx 
    Sent: Thursday, April 24, 2003 6:38 
    AM
    Subject: RE: [amibroker] Creating IM200 
    indices - JAYSON
    
    <SPAN 
    class=855470704-24042003>JMarkus,
    <SPAN 
    class=855470704-24042003> 
    I 
    have been gone most of the afternoon. Sorry to leave you hanging. Answers 
    below......
     Jayson 
    <FONT face=Tahoma 
    size=2>-----Original Message-----From: <A 
    href="">funnybiz@xxxxxx 
    [mailto:funnybiz@xxxxxx]Sent: Wednesday, April 23, 2003 5:26 
    PMTo: <A 
    href="">amibroker@xxxxxxxxxxxxxxxSubject: 
    Re: [amibroker] Creating IM200 indices - JAYSON
    Anthony,thanks for stepping in here.If I 
    may:1./ does Jayson´s SYM variable refer to the array part of the 
    addtocompositefunction. If so, why is it not put in parenthesis (though 
    this results in anerror).<FONT 
    color=#0000ff face=Arial size=2> 
     
    <FONT 
    size=2>The line 
    <FONT 
    size=2> 
    <FONT 
    size=2>sym="~"+sectorid(1)  
    
    <FONT 
    size=2> 
    <FONT 
    size=2>looks at each stock you scan and places "~" + the 
    sector ID for that stock in its place. If, for 
    instance the stock resides in the Utilities Sector then AB notes this and 
    returns sym= "~Utilities". Addtocomposite grabs this shorthand and 
    Therefore the next line <FONT 
    face=Arial>
    AddToComposite(<FONT 
    color=#000000>C<FONT 
    color=#282828>,sym ,"C"<FONT 
    color=#282828>); <SPAN 
    class=855470704-24042003>  becomes 
    addtocomposite(c,"~utilities","C"); 
    <FONT 
    color=#0000ff>This is repeated for each stock 
    scanned. addtocomposite then simply looks to the stocks sectorid and places 
    the data in the appropriate 
    ticker
    2./ sym="~"+SectorID(1);// this does sectors for industry groups 
    useindustryid(0)I don´t understand Jayson´s remark here: WHICH 
    stocks does that include? Iwant to include all stocks belonging to the 
    same of the 200 industry groups.<FONT 
    color=#0000ff face=Arial size=2> 
     
    <FONT color=#0000ff 
    face=Arial>Sectorid(1) returns the 12 sectors (Capital goods, utilities, 
    financials etc) If you want industry groups then replace that line 
    with 
     
    <FONT color=#0000ff 
    face=Arial>sym="~"+industryID(1); 
    <SPAN 
    class=855470704-24042003><FONT color=#0000ff face=Arial 
    size=2> 
    <FONT color=#0000ff 
    face=Arial>Ab will look at all the stocks in your scan. All the stocks with 
    with the same industryID will be counted in the appropriate composite 
    Ticker.  3./ if I wanted to create an 
    index for all the 200 used industry groups(Quotes Plus Two), would I 
    have to write this code 200 times??<FONT 
    color=#0000ff face=Arial size=2> 
     
    <FONT color=#0000ff face=Arial 
    size=2>No... See above... AB does all the grunt work for 
    you... 4./ would I have to run the scan EVEREY 
    day to bring my Addtocomposites upto date?<SPAN 
    class=855470704-24042003><FONT color=#0000ff face=Arial 
    size=2> 
     
    <FONT 
    face=Arial>Yes. the scan will create/update all 200 industry groups and 
    store them in group 253 (the default location for your Composites. You may 
    also create watch lists of these tickers to separate 
    them. For instance I have a watchlist with just the 12 sectors, a second for 
    the industry group tickers 
    etc.... 5./ I added "flag=16" which 
    gave me an error. How do I have to specify if Iwant to use 
    addtocomposite in exploration mode?<FONT 
    color=#0000ff face=Arial size=2> 
     
    <FONT color=#0000ff face=Arial 
    size=2>flag=16 is a description.... just add comma 16
    
    AddToComposite(<FONT 
    color=#000000>C,sym ,<FONT 
    color=#ff00ff>"C"<SPAN 
    class=855470704-24042003> <FONT 
    color=#ff00ff face="Courier New">,16 ); 
     Many thanks for your 
    help!Markus----- Original Message -----From: "Anthony 
    Faragasso" <ajf1111@xxxxxxxx>To: 
    <amibroker@xxxxxxxxxxxxxxx>Sent: Wednesday, April 23, 2003 8:37 
    PMSubject: Re: [amibroker] Creating IM200 indices - 
    JAYSON> Also...do not forget to add this dummy line...which 
    is needed forscanning.>> 
    Buy=0;>>>> Send BUG REPORTS to 
    bugs@xxxxxxxxxxxxx> Send SUGGESTIONS to suggest@xxxxxxxxxxxxx> 
    -----------------------------------------> Post AmiQuote-related 
    messages ONLY to: amiquote@xxxxxxxxxxxxxxx> (Web page: <A 
    href="">http://groups.yahoo.com/group/amiquote/messages/)> 
    --------------------------------------------> Check group FAQ 
    at:<A 
    href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html>> 
    Your use of Yahoo! Groups is subject to <A 
    href="">http://docs.yahoo.com/info/terms/>>Send 
    BUG REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
    suggest@xxxxxxxxxxxxx-----------------------------------------Post 
    AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: 
    <A 
    href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
    group FAQ at: <A 
    href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
    Your use of Yahoo! Groups is subject to the <A 
    href="">Yahoo! Terms of Service. 
    Send BUG REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS 
    to 
    suggest@xxxxxxxxxxxxx-----------------------------------------Post 
    AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: 
    <A 
    href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
    group FAQ at: <A 
    href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
    Your use of Yahoo! Groups is subject to the <A 
    href="">Yahoo! Terms of Service. 
    Send BUG REPORTS to bugs@xxxxxxxxxxxxxSend 
  SUGGESTIONS to 
  suggest@xxxxxxxxxxxxx-----------------------------------------Post 
  AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: <A 
  href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
  group FAQ at: <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  Your use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of Service. 
  Send BUG REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
  suggest@xxxxxxxxxxxxx-----------------------------------------Post 
  AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: <A 
  href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
  group FAQ at: <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  Your use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of Service. 
Send 
BUG REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
suggest@xxxxxxxxxxxxx-----------------------------------------Post 
AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: <A 
href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
group FAQ at: <A 
href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
Your use of Yahoo! Groups is subject to the <A 
href="">Yahoo! Terms of Service. 







Yahoo! Groups Sponsor












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 the Yahoo! Terms of Service.


Attachment: Description: ""