I
just purchased AmiBroker today after evaluating it for the last 3+
weeks. It appears to me that it will do everything, without exception,
that I want it to do. Having said that, I think there are a three
challenges that face me that others may be able to help with.
My
first challenge is to develop a structure plan for the database. The
second is to populate it, and the third is to maintain it. Since I am
new to the program, I am hoping that some of you might respond with any
"lessons learned". I have detailed my approach below so that folks can
help me avoid potential pitfalls, if they are willing.
Objective
Obviously,
the first question is "What do you want it to do?" My primary goals are
to use Amibroker for back-testing systems and then implementing them.
Additional details, in order of priority are:
1.
To develop trading systems associated with stocks on
AMEX, NASDAQ and NYSE;
2.
To implement those systems on a daily and sometimes
intra-daily basis via AmiBroker;
3.
Eliminate unnecessary cost associated with data
collection; and,
4.
Automate data collection as much as possible.
Background
Often,
it is difficult to answer someone's questions without knowing their
capabilities, so here's another list:
- Moderate
familiarity with programming (Jscript, Pascal, VB);
- Reasonably
up-to-date hardware – multiple monitors, decent storage capability and
processor;
- Up-to-date
software (XP, Office);
- Trading software
(Amibroker, QCollector, and trial versions of AmiQuote, PowerScan);
- Subscription to
eSignal for data feed; and,
- Cable
connectivity – up to T1.
Data Structure
Approach:
I
used the template developed by Rik Rasmussen in
message # 107348. Many thanks to you Rik for saving me time! I will
continue to customize the structure with additional categories, groups,
sectors/industries. My thought is that it will be a requirement to run
back-testing against collections of stock, as well as entire exchanges,
so it is best to get it organized to the nth degree. From what I can
tell, creating the structure isn't particularly time consuming –
associating 1000's of stocks with that structure may be.
Again,
Rik's help saved me a lot of work, but I still have a considerable
number of stocks to add as well. It would seem that since stock
classifications are part of data you can pull from Yahoo, there should
be a way to automate this. If there is, I haven't found it. Ideas
anyone?
Rik
seems to imply that he developed a script to do this. Unfortunately he
can't distribute because he did it for a customer. Has anyone seen
similar scripts out there? As you can tell, I am not a big fan of re-inventing
the wheel.
Data
Acquisition & Storage Strategy:
This
is a tricky part for me. I have already gathered historical data on
approximately 8000 stocks going back on some as far as 1990. I pulled
this data (ASCII format) from eSignal using QCollector. The list of
stocks came from the AmiBroker website. All information is on the local
hard-drive.
I
can import this information into AmiBroker using the Import Wizard, but
of course then I would have to associate any stocks from my list with
the various groups. I am hoping that someone has a solution for
automatically doing this.
I
wish that AmiBroker had these kind of lists compiled although I can
understand the initial manpower required. Still, it would be a great
jumpstart for folks and would allow them to get to work with the
software much faster.
Once
the two lists are merged, and all stocks are up to date, the next phase
is maintenance.
Database
Maintenance:
From what I read, it seems to me that I can use AmiQuote to
keep everything updated. Is this true? My understanding is that it will
pull EOD information from Yahoo. That of course raises a few questions.
- Since there
seems to be a symbol difference (index symbols) between Yahoo and
eSignal, will there be problems that I need to address now? Yahoo seems
to be considerably less expensive as a data feed; and, while eSignal
seems to have some great products, I'm really not sure it is worth the
expense for my needs right now.
- If I decide on
Yahoo as a data feed, using AmiQuote as a go-between, will that support
my objectives? Since historical data has been gathered I anticipate my
future need as EOD data and intra-day data. (No I don't want intra-day
data on all stocks, just those on a watch list.) Am I missing anything
here?
- It seems as if
Yahoo has some limits on downloading of data. I can't recall exactly
what I read, but it seems to me that 200 symbols at one time was a
limit. If I want to automatically download EOD for 8000 stocks, will I
have to do it in 200 symbol groups; or, perish the thought,
individually?
- If for some
reason I need to stay with eSignal to avoid problems from question #3,
will I have to manually import the updated data each day to keep the
database in AmiBroker current?
The
bottom line here is that I want to spend the majority of my time
working and systems and trading – not doing administrative tasks. If
folks have a suggestion for the best "lash-up" that will support my
goals, I'd really love to hear it.
Conclusion:
If
you've read this far, I appreciate your determination – I know it was a
novel! I felt it was important to lay it all out though so that you
didn't waste time trying to guess what I might need. My hope is that
your responses may answer some of the practical application questions
that face others as they get started with AmiBroker.
Finally,
if you're sitting on the fence about answering because of the number of
questions, just pick one and go for it. Sooner or later I'll get
suggestions on all. I wouldn't expect anyone to go through this piece
by piece. Time is too valuable.
Thanks to all, I
look forward to working with you on this forum in the future.
Ted