Ed,
I'm using Norgate Premium Data, including delisted U.S. data
history.
Mike
--- In amibroker@xxxxxxxxxps.com,
"Edward Pottasch" <empottasch@...> wrote:
>
> hello
Mike,
>
> Nice summary. Have 1 question: what EOD data base do
you use for backtesting. Does it also contain symbols of companies that went
bankrupt or have been subject to M&A?
>
> thanks, Ed
>
>
>
> ----- Original Message -----
> From: Mike
> To: amibroker@xxxxxxxxxps.com
> Sent: Wednesday, April 29, 2009 1:19 PM
> Subject: [amibroker]
Re: Some more Question
>
>
>
>
>
>
Hi,
>
> I've done a lot of reading, but have only been live
trading for 2 years. There are far more experienced contributors to this forum
than me.
>
> That being said, my background is in computer
science, and I've been a software developer for almost 20 years. That has
allowed me a certain level of comfort with much of what AmiBroker has to
offer. Though, my usage has been primarily coding in AFL. I do very little
charting other than to show price and entry/exit points.
>
> As
far as trading goes; I run an exploration every night on end of day data. My
strategy has had success identifying a generic scenario that averages a modest
return per trade after a short holding period.
>
> As such, I
apply the exploration over all U.S. stocks in hopes of maximizing the actual
number of signals. I generate anywhere from a handful to 200 signals on any
given night. Fewer during down trends, more during sideways and up
trends.
>
> I use limit orders below the market, so only a
fraction of my orders ever get filled. However, I still end up with several
hundred trades per year. The holding period generally ranges from overnight to
10 days on the outside, usually closer to 3-5 days. I exit at market open the
morning after a sell signal generated from the night before.
>
>
My exploration generates a format very close to what is required by
Interactive Brokers basket orders. I export the exploration results as .csv
file, load them into Excel, apply a custom macro to further refine the format,
give it a quick looking over as a sanity check, then upload the basket order
to Interactive Brokers and submit it. Eventually I hope to do all of this
directly from AmiBroker using the Interactive Brokers plugin. I just haven't
gotten around to it.
>
> As far as analysis goes; The strategy
uses a combination of indicators and liquidity filters to isolate the symbols
of interest. In a nutshell, I'm looking for stocks that are upwardly trending
in the long term, but have very recently been beaten down, in expectation that
the price drop is an over reaction and will recover somewhat over the next few
days. It is not necessary that the price fully recover, just a quick pop of a
few percent.
>
> I use custom backtesting code to apply money
management and dynamic position sizing. The custom backtesting code also
produces custom metrics, one of which is based on ulcer performance index
multiplied by a number of weighted factors relating to drawdown, hold time and
number of trades. This is used as the target for walk forward
optimization.
>
> I have done walk forward analysis (WFA) dating
back from 1995 to the present. Along with a number of optimization parameters,
I have also tested with different money management schemes and exit times
(e.g. exit on close vs. next day).
>
> I have experimented with
in sample (IS) window periods ranging from 3 years to 3 months, and out of
sample (OOS) window periods ranging from 1 month to 1 year. A 24 month IS and
6 month OOS were the most consistent for me in conjunction with a money
management policy of taking as many trades as possible, not to exceed a fixed
fraction of equity on any given trade, dipping into margin as
necessary.
>
> The ratio of OOS/IS turns out to be 0.25 which is
consistent with Robert Pardo in "The Evaluation and Optimization of Trading
Strategies", though that was not a specific goal in my analysis. I plan to
perform further WFA using a wider variety of money management schemes,
including more on the theories of Ralph Vince as per his "The Handbook of
Portfolio Mathematics" as well as Van Tharp as per his "Definitive Guide to
Position Sizing".
>
> I have spent some time attempting to
validate my results as more than blind chance via random entries and random
exits as per Howard Bandy "Quantitative Trading Systems" as well as some
limited analysis using Minitab. I've done a first pass at applying my signals
to detrended data as per David Aronson in "Evidence Based Technical Analysis",
but have more work to do there.
>
> Prior to the introduction of
non exhaustive optimizers such as CMA-ES, Tribes, etc. I spent some time
experimenting with the Taguchi Method in an attempt to minimize variance in my
returns and identify those parameters that most contributed to the desired
results. By using fractional factorial arrays of parameter values, I was able
to reduce the number of combinations that needed to be backtested (i.e. non
exhaustive). The primary drawback being that fractional factorial arrays
obscure interactions between parameters. I did not follow the approach through
to a tidy conclusion. But, it was interesting.
>
> Due to the
nature of my strategy (thousands of symbols, foreign reference, several
optimization variables, custom backtest code, etc.) individual backtests have
proven very time consuming on an entry level laptop, leading to the purchase
of far more powerful equipment. Still, the processing demands are currently
the limiting factor to deeper analysis. That and my own limited free
time.
>
> My hope is that Tomasz will come out with a very low
priced "server edition" of AmiBroker that consists only of the backtesting
engine, without any GUI, such that dozens of licences can be purchased and
deployed on a compute grid rented for pennies by the hour (think Amazon EC2
but running Windows, e.g. GoGrid). I've got my own incomplete application that
could drive such a setup. Fred's IO is an example of the concept running on a
limited number of servers on a LAN.
>
> Grid Computing has
already arrived. All that remains is to leverage it! If I ever finish my
application, I'll pass it on to Tomasz to see if he's interested in the grid
approach :)
>
> Sorry if this post is longer than you expected.
I've had a number of personal email exchanges with members of the forum,
regarding their approaches and coding experiences, and have found them to be
interesting and educational. For that reason, I figured I'd offer you a
complete answer, since you asked ;)
>
> For those lurking in the
background, feel free to hit delete! Or, better yet, add a description of your
own usage pattern to the thread.
>
> Mike
>
> --- In
amibroker@xxxxxxxxxps.com,
Brian Smith <besmith70@> wrote:
> >
> > Hey
Mike,
> >
> > Care to mention how you use Amibroker for
analysis and trading?
> > Have been really impressed by your level of
knowledge in general...
> >
> > Regards.
> >
> >
> >
> > On Tue, Apr 28, 2009 at 7:20 PM,
Mike <sfclimbers@> wrote:
> >
> > >
>
> >
> > > Sometimes it's fun. Now, off to the climbing gym
for even more fun ;)
> > >
> > > http://www.planetgranite.com/locations/belmont/bl_tour.php
>
> >
> > > Mike
> > >
> > >
>
> > --- In amibroker@xxxxxxxxxps.com
<amibroker%40yahoogroups.com>,
> > > "brian_z111"
<brian_z111@> wrote:
> > > >
> > > >
You are doing a very good job Mike.
> > > >
> > >
> --- In amibroker@xxxxxxxxxps.com
<amibroker%40yahoogroups.com>, "Mike"
> > >
<sfclimbers@> wrote:
> > > > >
> > >
> > 1. It's a program to allow you to manage a "batch" of "jobs" where
a
> > > job is defined as an AmiBroker operation such as a
backtest, exploration or
> > > scan, and a batch is a collection
of jobs to be run.
> > > > >
> > > > > 2.
It is not that running batch files is particularly important. But,
>
> > it may be useful if you find yourself repeatedly wanting to run a
series of
> > > jobs and you don't want to hang around waiting for
each to finish before
> > > firing off the next one.
> >
> > >
> > > > > You can download the program from
the Files section of this site. It
> > > includes a user guide
that may help clarify its usage. I haven't personally
> > > made
use of it, so cannot offer much more than that by way of description.
>
> > > >
> > > > > Relating to your earlier
thread, Batman does highlight yet another
> > > advantage of
AmiBroker over other backtesters; AmiBroker is exposed as an
> > >
OLE object and thus can be driven externally using COM from any other
>
> > language (e.g. C++, Java, JScript, etc).
> > > >
>
> > > > > Mike
> > > > >
> >
> > > --- In amibroker@xxxxxxxxxps.com
<amibroker%40yahoogroups.com>,
> > > "caternore"
<caternore@> wrote:
> > > > > >
> > >
> > > Mike,
> > > > > >
> > > >
> > This may sound stupid, but I have 2 questions
> > > >
> >
> > > > > > 1)what is a batch manager?
>
> > > > >
> > > > > > 2)why is running
batch files important?
> > > > > >
> > > >
> > Thank you
> > > > > > ACE
> > >
> > >
> > > > > >
> > > > >
> --- In amibroker@xxxxxxxxxps.com
<amibroker%40yahoogroups.com>,
> > > "Mike"
<sfclimbers@> wrote:
> > > > > > >
>
> > > > > > 1. Batman is a batch manager for running batch
files. It is
> > > available in the files section of this
group.
> > > > > > >
> > > > > >
> 2. I believe that it is still an issue. I believe that it means
>
> > that the categorization of symbols is limited to a tree of depth 2
rather
> > > than the 4 actually available from ICB (
> >
> http://www.icbenchmark.com/icb_structure.html).
Unless you're trying to
> > > run a strategy against the less
refined granularity, it should not be an
> > > issue. Even so, you
could probably create a watchlist and add all the
> > > symbols
from the more refined categorizations into it, thereby creating, in
>
> > effect, the less granular categorization.
> > > >
> > >
> > > > > > > 3. I believe that this is
still an issue. Easy workaround as
> > > described by Norgate in
the blurb provided.
> > > > > > >
> > >
> > > > Mike
> > > > > > >
> >
> > > > > --- In amibroker@xxxxxxxxxps.com
<amibroker%40yahoogroups.com>,
> > > "caternore"
<caternore@> wrote:
> > > > > > > >
>
> > > > > > > Hello all again, I have some more question
after doing some
> > > research.
> > > > > >
> >
> > > > > > > > 1) What is Batman
>
> > > > > > >
> > > > > > > >
2 )I was looking at the Norgate data site when I came across
> > >
this.
> > > > > > > > (Unfortunately as AmiBroker
only supports two levels of
> > > classifications we've decided
(after a quick user poll) to provide ICB
> > > levels 3 & 4
only.)
> > > > > > > >
> > > > >
> > > What does this mean and have this issue been resolved?
>
> > > > > > >
> > > > > > > >
3) Another question from the Norgate Data site.
> > > > >
> > >
> > > > > > > > (Why does the volume
on the S&P 500, S&P 1500, NASDAQ Composite,
> > > NYSE
Composite, and weekly charts of ASX Indices sometimes show as a
> >
> negative number?
> > > > > > > >
> >
> > > > > > By design, AmiBroker stores volume data
internally in a data
> > > structure known as a 32 bit signed
integer. This data structure can store
> > > whole numbers in the
range of -2,147,483,648 through 2,147,483,647. If the
> > > volume
figure exceeds the maximum figure, an "overflow" condition occurs and
>
> > the volume wraps around to a negative number. For example, the
NYSE
> > > Composite index had a volume of 3,745,144,031 on Friday
3 May 2008 which
> > > significantly exceeds the amount. This is
why negative volume is shown on
> > > days of very high volume in
those few high-volume indexes.
> > > > > > > > A
workaround is available inside AmiBroker, allowing you to
> > >
divide the volume by a factor. To implement this click File ->
Database
> > > Settings then click the Configure button. In the
"Divide Volume By" field
> > > enter a number (eg. 10 or 100 or
1000 - right now 10 seems to be effective
> > > across all the US
markets for the time being).
> > > > > > > > A
better solution would be for AmiBroker to use a bigger or
> > >
better data structure (eg. 64 bit unsigned integer) or a floating
point
> > > field to accommodate such high volumes. If you would
like this to be
> > > implemented within AmiBroker please login to
the AmiBroker Feedback Center.
> > > After logging in then click
here to show issues #636 and add a comment
> > > requesting a
permanent solution to the issue.)
> > > > > > >
>
> > > > > > > > Has this been
resolved?
> > > > > > > >
> > > >
> > > > Thank you.
> > > > > > > >
ACE
> > > > > > > >
> > > > >
> >
> > > > > >
> > > > >
>
> > >
> > >
> > >
> > >
>
>
>