What is the best way, or at least a good way, to organize several countrys' stock markets, currencies, commodity etc in Amibroker? Should for example stocks from different countries be in separate databases? I have not done this before that's why I'm asking for advice and would like to hear your experiences. It's for EOD data.
My idea right now is to have one database for all:
- Stock market for Sweden (my home country ;0), US and Germany
- Misc stocks from other countries
- World indices
I suppose Amibroker Categories should be used. I'm just reading the manual about it. I want to use Analysis, to do it for example on only currencies, only Swedish stock market, only currencies. But also be able to do Analysis on all together.
I maintain 3 separate EOD databases. I switch between databases through File -> Recent Databases. Not sure if dropdown menu can cater to more than 3. Data maintenance is cleaner because my data source is different for each database.
You can definitely put all that in a single DB.
You'll still end up with multiple DBs anyway, because of having multiple data sources and intervals. I name by DBs like this to keep my sanity:
For the organization of the markets, industries, etc., you should seriously consider Norgate's classification. I find it very helpful. Most of the ~9,000 symbols in my Norgate DB are categorized down to industry and GICS codes.
It would take a really long time to create that yourself!
I thought I would just need EOD and discovered that I didn't like backtesting using EOD data, because my stops would be in the market and executed intraday, and the EOD DB didn't know what price to use, which was making my backtesting results inaccurate.
So I still have EOD DBs but now have 1-minute DBs also.
I treat Norgate as the "golden record" of the "official" daily data, but use my 1-minute DBs for more granular work.
I hope this helps!
Thanks for your replys, it is very helpful! A question: If I only use EOD, is it problem having multiple data sources in one db?
If you're importing the data manually using ASCII or with a super-simple application like AmiQuote, you could have multiple data sources in one DB. Just be careful that each symbol only has one data source. You'll be in the business of downloading files, manipulating them, and importing them, so keep your symbol universe small.
Some data sources (e.g. Norgate) will require complete control over your DB. With those, you may or may not not be able to add, modify, or delete existing symbols.
Other data sources, e.g. InteractiveBrokers, will allow you to maintain your own symbols, but you have to learn each data source's tricky naming convention. The symbology is not so bad for common stocks and ETFs, except if they are traded on multiple exchanges, but it gets tricky for preferred shares, forex, futures, and options.
Finally, if you're going to have AB submit orders to your broker, you need to have a way to ensure that the symbology is correct, since each broker has quirks about how the symbol needs to appear.
I hope this helps,
Thanks PeterD, you have been very helpful.
I see you do have SGX and KSLE equities data. Are those from Norgate too? Just curious are you based in Singapore as I am also based here and am trading / programming full time.
I am based here. I pull data from Yahoo Finance for KLSE, and from SGX website for SGX.
Here is the link for SGX EOD data.
Securities - Singapore Exchange (SGX)
Nice. Good to know a fellow Singaporean here who uses Amibroker. Would like to meet you up for a coffee if the chance arises.