Hello Alan, ATC is a very interesting function and an *Ace in the Hole* for Ami. It is worth the price of admission all by itself. I wanted to do similar in my previous software but realised it would require endless code summing, symbol by symbol, and gave up (the software that is).
As you know, I clipped 48 doc pages, as a learning reference, from 387 ATC posts alone. That is not counting the 2-3000 posts for AddToComposite. It must be one of the most discussed functions in Ami. I haven't mustered the drive to read the latter yet (if I read 200 posts a day, including incoming posts, how long will it take me to read the archives in their entirety?????????????????) The good news is once we get over the top ten functions and looping we are well on the way. I am studying ATC at the moment myself. As Ami has evolved over many years, and because Tomasz is a user as well as the developer, AB has the functions and features we need as traders. Some of them are very subtle. I find it helps me to learn if I look out for the design guidelines that Tomasz has used as there are often good reasons why things *are the way they are*. Sometimes the program logic protects us in one area while paying a price somewhere else. There is no *Holy Grail* of software; the developer has to make trade-offs all the way along. ATC has two logical mainstays; the first is that number crunching is done in arrays and outside of our backtesting, so that while it takes a while to run large constructions we can use them over and over quite quickly and easily. The second is that in ATC missing data is accounted for by 'pad and align'. These two reasons alone are why Tomasz continually advices users to do ATC composing outside of looping. When we manipulate the data in other processes missing data is dealt with in other ways or sometimes we have to account for it ourselves e.g. Tomasz has allowed missing bars in charts, to put it crudely. The reason for this is that it allows us a seamless view of price progression. If missing bars were allowed in charts it would be such a mess the eye couldn't make sense of it all. Of course, data management is a textbook all by itself e.g. Tomasz has mentioned in posts that suspension of trading is one common reason stocks have null values on some days. As well as that, handling stock arrivals and survivals is always a challenge for analytical traders. How each trader manages those types of issues ultimately defines their trading style. I have found that as I progress my trading style evolves out of necessity, as one by one I strive to eliminate unacceptable risks from my trading. Of course that only happens after the risks are discovered. Non-analytical traders ( as opposed to Quantitative Traders? - thanks Howard) are blissfully unaware of some of the risks they are taking. Any trader who has not analysed the markets with a program like AB has no idea of the arbitrary nature of the *headline indexes*. All I am pointing out is that as we progress along with Ami we will naturally come to a greater appreciation of the subtle choices it makes. It is not so important that the processes are absolutely correct as it is that we understand the pros and cons of the choices made and manage them accordingly. To address some specifics re your question(s). There is only so much we can learn about ATC from the textbooks. The final trim is applied via practical application and the forum. I have found a few simple tools that can help. 1. When you create a composite you can use buy = 1 with n = 1 when you do the scan and this will list the symbols that are included in the composite along with their close for the last day or lastvalue (for training use only - do not use buy =1 in actual applications). 2. Create a small practice database and download, say 2-5 symbols plus one index, say ^DJI, from Yahoo. Only take one months worth of data. This small dataset will allow you to manually create composites and reference the ATC logic. Create a simple ~ATC "X" on the close of your three symbols including a count with a separate ~countATC "X". You can now select the ~ATC symbols from the All symbol list and view the ~ATC data in Quote editor. The individual OHLC's etc can be manually added for any date to see if they tally with the ATC's. Go to quote editor for each symbol and corrupt the data. Delete a row of quotes here and there from one symbol only. Removing the first week of data from one symbol to simulate a stock that has just commenced trading. Also add a bar or two at the beginning of another symbol(not the index ^DJI which is a the top of the symbol list - keep ^DJI pure). Delete a row or two from the end of one symbol to simulate a stock that has stopped trading. Run your data purify and see what reports you get for the data corruptions you created. Slightly change the names of the ATC's and repeat your composite scans with and without pad alignment. Plot the various ~ATCcount and ~ATC composites to compare the outcomes with the good and corrupt data. I intend to do this myself today to find out exactly what Tomasz meant when he said: "You would need to check for Null values and/or use Nz (null to zero) because of the fact that if you don't have data for particular security Foreign() will give you null values at the beginning of the array." Tomasz Janeczko #99855 3. Use the explorer in conjunction with ATC as a training tool e.g. you can add a column in Explorer to report beginvalue, lastvalue or any date in between. Add any of those up and compare the result to the composite for that day as it is plotted. If you run explorer after your composite scan you can also get a report on the beginvalue and lastvalue for the ~ATC's. Notice what happens to beginvalue for the symbol that has data starting before the others. I don't have definitive answers to all of the questions on ATC but I did learn a lot by using the above training methods. Good luck. When we both make the top 5% of traders in the world we will meet for a beer or wine in NewYork and Sydney. BrianB2 d:-) ............baseball cap. --- In [email protected], [EMAIL PROTECTED] wrote: > > Perhaps I should ask this question...If I have a 3 stock index where the sum is 50,since ATC creates a price weighted index the index should be at 16.667.If a 4th stock in the index with a much shorter data history is in the index,on the first day of that stocks history,how are the calculations performed???? As an example,if the 4th stock traded at 50 on its initial day,and the other 3 stocks with longer histories had a sum of 50 on that day,does that mean the index would jump from 16.667 to 25(100/4)???? > > Any help appreciated > > Allan > > ----- Original Message ----- > From: Gordon Sutherland > Date: Thursday, September 14, 2006 5:10 pm > Subject: RE: [amibroker] ATC and Missing quotes > To: [email protected] > > > Allan, > > > > Try using 'Pad and align' in the AA Settings and link to an > > appropriateindex. This will put the previous day's close into > > the composite > > calculations for stocks with no data on that day. This should > > eliminatea lot of erratic pricing in your Sector/Industry Groups > > due to data > > holes. > > > > Hope this is of help. > > > > Regards, > > > > Gordon Sutherland > > > > > > -----Original Message----- > > From: [email protected] > > [mailto:[EMAIL PROTECTED] On > > Behalf Of matrix10014 > > Sent: Friday, 15 September 2006 2:40 a.m. > > To: [email protected] > > Subject: [amibroker] ATC and Missing quotes > > > > Just figured it out...I ran database purify and set the filter > > to my > > industry.Several stocks are missing quotes for a short time > > frame.I am > > using Quotes plus.. > > > > Any suggestions? > > > > thanks in advance > > > > Allan > > > > > > > > > > > > > > Please note that this group is for discussion between users only. > > > > To get support from AmiBroker please send an e-mail directly to > > SUPPORT {at} amibroker.com > > > > For other support material please check also: > > http://www.amibroker.com/support.html > > > > > > Yahoo! Groups Links > > > > > > > > > > > > > > > > > > > > > > > > > Please note that this group is for discussion between users only. To get support from AmiBroker please send an e-mail directly to SUPPORT {at} amibroker.com For other support material please check also: http://www.amibroker.com/support.html Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/amibroker/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/amibroker/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
