PureBytes Links
Trading Reference Links
|
I like this book because it is a good summary of differents technical
analysis.
I like the chapters about historical testing when he descibes that
periodic reoptimization does not work and the alternative is adaptive
parameters ( with stddev(c,30) as volatility). about periodic opt I
have also read R.Pardo book( design, testing and opt of trading
system) , the chapter 7 resumes that the purpose of the walk forward
test is to prove the validity of a trading system to know if the
results of a trading system under optimization is reel or the result
of overfitting.
the book that gives me the better lesson about mechanichal trading
system was encyclopedia of trading strategies ( j.owen katz)
about drummond geometry, the ideas of suport and resistance on 3 time
frame is great but the drawing of lines is not obvious...
>
> A propos same book, "The Ultimate Trading Guide" by Hill, Pruitt,
Hill, -
> Wiley, have you made good use of it?
>
> Do you know of anyone who uses "Drummond Geometry" ?
>
> Herbert
>
> ----- Original Message -----
> From: "Stephane Carrasset" <nenapacwanfr@xxxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Thursday, October 30, 2003 2:19 AM
> Subject: [amibroker] Re: Auto-optimization AFL uploaded
>
>
> > Hello,
> >
> > I have read nearly one meter of books and I remember one " the
> > ultimate trading guide". it backtests p 216 a simple donchian
system
> > that is reoptimized on a rolling 2 years basis, the results were
> > worst than static parameters and the conclusion was that
> > reoptimization does not work...
> >
> > stephane
> >
> >
> > wrote:
> > > re the bug, you're correct, thanks. I don't specifically
remember
> > fixing it,
> > > but it's wrong as you found in v1, but corrected in the
unreleased
> > v1.1.
> > >
> > > re the possibility that profitability isn't great because
> > optimization
> > > happens too often, you got that you can control how often that
gets
> > done,
> > > right? in the framework configuration section,
> > equity_lookback_frequency is
> > > the number of bars between optimizations, with 0 meaning every
day
> > and -1
> > > meaning optimize once at the beginning.
> > >
> > >
> > > re other reasons why this doesn't make systems profitable, well,
> > that's a
> > > very very very interesting question, one I've thought and posted
> > about a
> > > lot.
> > >
> > > I don't see any huge difference in principle between auto-
> > optimization and
> > > backtesting in general. when we say some strategy works well, we
> > generally
> > > mean that someone backtested it at some point in time, with some
> > particular
> > > set of parameters, and it worked well. if another person hears
> > about it 25
> > > years later, and backtests with data going up to that much later
> > date, they
> > > may get very different optimal parameters, or a completely
failing
> > result
> > > with any settings. so our evaluation of systems and their
> > parameters is
> > > always dependent on the time frame we chose to examine.
> > >
> > > if that's the case, it seems to me that a robust system should
be
> > > optimizable at any given point in time, and be successful going
> > forward with
> > > those best-choice parameters. re-optimizing every day takes
that to
> > an
> > > extreme, but avoids completely arbitrary decisions about when to
> > optimize
> > > and when not to. every week? month? year? every saturday? every
> > january 1?
> > > june 22? what possible justification is there for any of these?
to
> > put it
> > > differently, why does ignoring possible changes in market
dynamics
> > in
> > > between optimizations improve the performance or reliability of
a
> > system?
> > >
> > > outside of when you choose to optimize, it fundamentally comes
down
> > to
> > > whether past performance predicts future performance or not. if
> > > auto-optimization fails as a concept, doesn't that say that
there's
> > a basic
> > > disconnect between how a system and settings performed in the
past
> > and how
> > > it does in the future? if that's true, why do we believe that
any
> > backtest
> > > results tell us anything useful at all?
> > >
> > > one possible answer is that raw profitability may not be the
best
> > predictor
> > > of future performance, so we need better metrics to judge past
> > performance
> > > than simple equity growth. the framework comes with two rules
for
> > scoring
> > > performance during optimization, and you're heartily encouraged
to
> > edit
> > > those or add your own.
> > >
> > >
> > > if I really believed that observing past performance told us
> > nothing about
> > > the future, I'd have to abandon TA completely and look to
> > fundamentals,
> > > industry news and knowledge, etc for trading strategy. I haven't
> > gone that
> > > far obviously, but I'm at a loss to explain away the argument
I've
> > just
> > > given. better performance metrics are the only logical avenue I
can
> > see out
> > > of that dead end.
> > >
> > > I don't mean to sound like I think I've got this all figured
out,
> > quite the
> > > opposite. I feel like I've disproved my own existence or
something,
> > proved
> > > the impossible. so please, somebody, wise me up!
> > >
> > > dave
> > > update:
> > >
> > > I have attached a file with my settings and results by rule.
> > (Again, I
> > > used
> > > QQQ daily data for from 1/2/3 to 10/28/3.)
> > >
> > > I agree with your statement: '...almost no trading rules I've
> > tested are
> > > very profitable when managed this way, with any framework
> > settings I've
> > > tried...'
> > >
> > > So, I wonder what this means? Perhaps the optimization
happens too
> > > frequently?
> > >
> > > -john
> > >
> > > Also I found a possible bug in BuySellStochCCI. I added the
> > second line
> > > below:
> > >
> > > function BuySellStochCCI(dynamic, p1, p2) { // p1 = CCI period
> > > period=p1; //added this to Dave's code
> > > cc = CCIx(period);
> > > cc = StochTransform(cc, period);
> > > Buy = Cover = Cross(cc, 50);
> > > Sell = Short = Cross(50, cc);
> > > }
> > >
> > >
> > >
> > > ----- Original Message -----
> > > From: john gibb
> > > To: amibroker@xxxxxxxxxxxxxxx
> > > Sent: Wednesday, October 29, 2003 10:33 AM
> > > Subject: Re: [amibroker] Auto-optimization AFL uploaded
> > >
> > >
> > > I assume by 'analysis mode' you mean Scan mode; right?
> > >
> > > And, yes, the Index Symbols below have no
> > Buys/Sells/Shorts/Covers with
> > > 'my'
> > > rule in Scan mode, although they do have volume...
> > >
> > > Since it seems to be working, I am now wondering what my next
> > step should
> > > be, given my ultimate objective of a QQQ options system that
uses
> > EOD
> > > data.
> > > I welcome your inputs on this, but I think I will first take
> > advantage of
> > > all the rules you have provided and compare, via the sum of
> > BackTest
> > > Profit,
> > > their QQQ results with those of my rule. (And I will also
record
> > Explore
> > > results so I can see the optimum parameter values, although I
am
> > not clear
> > > on how to best utilize these results yet.)
> > >
> > > thanks again
> > >
> > > -john
> > > ----- Original Message -----
> > > From: Dave Merrill
> > > To: amibroker@xxxxxxxxxxxxxxx
> > > Sent: Tuesday, October 28, 2003 7:03 PM
> > > Subject: RE: [amibroker] Auto-optimization AFL uploaded
> > >
> > >
> > > glad it's working. it's too bad the no-array limitations on
the
> > native AB
> > > functions make us get a little more techie about this than
we'd
> > otherwise
> > > have to, it's workable.
> > >
> > > re no rows, near the bottom is the exploration code, including
> > the filter
> > > statement, which I think defaults to buy or sell or short or
> > cover. if
> > > that's what you want, then the problem is probably that you're
> > not seeing
> > > any buys, in analysis mode either, yes? if so, make sure the
> > index tickers
> > > you're using have volume data (some do some don't in the
> > QuotesPlus data I
> > > use), or modify the minimum volume requirement in the TRADE
ENTRY
> > > RESTRICTIONS section.
> > >
> > > that's actually the sleazy answer. a better one is to look in
the
> > > FRAMEWORK
> > > ENGINE section, at 'tweak volume entry requirements for things
> > with no
> > > volume data', and find this expression:
> > > StrLeft(Name(), 1) == "!"
> > > with my QuotesPlus data, that's how indexes are flagged, by
> > having their
> > > ticker names begin with "!". with other providers, it's
probably
> > > different;
> > > I think yahoo is "^", for example. change that code, and
anything
> > with
> > > that
> > > prefix won't be subject to the minimum volume rule in TRADE
ENTRY
> > > RESTRICTIONS. the unreleased update of the framework has a
better
> > way of
> > > handling this.
> > >
> > > hope this helps,
> > >
> > > dave
> > > It works!!!! Making my MFI period, p1, a constant, eliminated
the
> > > error...thanks
> > >
> > > Then, since sum() appears to take an array for its period, I
was
> > able to
> > > get
> > > this updated, dynamic-or-not function to run:
> > >
> > > function BuySellPcntBMFI(dynamic, p1, p2) { // p1 = MFI
period,
> > p2 = high
> > > crossover threshhold
> > > price = Close;
> > > BA = 20; //Bband MA
> > > BD = 2;//Bband Stdev
> > > BL = ML = 20;// lower crossover threshhold
> > > MP = p1;// MFI period
> > > if(dynamic) {
> > > MoneyFlow = V * Avg;
> > > Change = Avg - Ref( Avg, -1 );
> > > PositiveFlow=Sum( IIf( Change > 0, MoneyFlow,
0 ) ,p1 );
> > > NegativeFlow=Sum( IIf( Change < 0, MoneyFlow,
0 ) ,p1 );
> > > MoneyRatio=PositiveFlow/NegativeFlow;
> > > MFIndex=100-(100/(1+MoneyRatio));
> > > } else {
> > > MFIndex=MFI(MP);
> > > }
> > > MH = BH = p2;// higher crossover threshhold
> > > b= ((price - BBandBot( price, BA, BD )) / (BBandTop(
price,
> > BA, BD ) -
> > > BBandBot(price, BA, BD ))) * 100;
> > > Buy = Cover = b > BH AND MFIndex > MH;
> > > Sell = Short = b < BL AND MFIndex < ML;
> > > }
> > >
> > > thanks again
> > >
> > > -john
> > >
> > > BTW, when I use 1990-to-current EOD data for MSN's $COMPX or
> > Yahoo's ^IXIC
> > > (both supposedly the NASDAQ composite) as my 'current stock',
i
> > get a
> > > single
> > > result row for Backtest and NO rows, just headers, for
Explore.
> > > Individual
> > > stocks do yield multiple rows.
> > >
> > >
> > > ----- Original Message -----
> > > From: Dave Merrill
> > > To: amibroker@xxxxxxxxxxxxxxx
> > > Sent: Tuesday, October 28, 2003 12:09 PM
> > > Subject: RE: [amibroker] Auto-optimization AFL uploaded
> > >
> > >
> > > hi john, I don't have time right now to mess in detail w this,
> > but try
> > > temporarily replacing p2 with a fixed number and see if the
error
> > goes
> > > away.
> > > it won't give you correct results, but might verify my
suspicion,
> > which is
> > > that AB's BBand functions can't take arrays for their period.
if
> > that's
> > > the
> > > case, you'd need to code a replacement in AFL that can, or if
> > we're lucky,
> > > maybe those functions are part of indicators.dll.
> > >
> > > I hope that some day soon, we'll get versions of all built in
AB
> > > indicators
> > > that are array-capable. many of them already are, and it
would be
> > great if
> > > life was that kind of symetrical, not to mention useful.
> > >
> > > dave
> > >
> > > I think i have a 'dynamic=false' situation like your
> > BuySellStoch. (I am
> > > using p1 as the number of periods for MFI() and assume that
this
> > > "mfi(periods=14)" syntax in Help means that MFI can take only
a
> > > single-value
> > > parameter. And p2 is a single-value crossover threshold for
> > Bollinger's
> > > %b.)
> > >
> > > FWIW, here is my rule code producing the error:
> > >
> > > function BuySellPcntBMFI(dynamic, p1, p2) { // p1 = MFI
period,
> > p2 = high
> > > crossover threshhold
> > > price = Close;
> > > BA = 20; //Bband MA
> > > BD = 2;//Bband Stdev
> > > BL = ML = 20;// lower crossover threshhold
> > > MP = p1;// MFI period
> > > MH = BH = p2;// higher crossover threshhold
> > > //b is Bollinger's %b
> > > b = ((price - BBandBot( price, BA, BD )) / (BBandTop(
price,
> > BA,
> > > BD ) -
> > > BBandBot(price, BA, BD ))) * 100;
> > > Buy = Cover = b > BH AND MFI(MP) > MH;
> > > Sell = Short = b < BL AND MFI(MP) < ML;
> > > }
> > >
> > > TIA,
> > >
> > > -john
> > >
> > > ----- Original Message -----
> > > From: Dave Merrill
> > > To: amibroker@xxxxxxxxxxxxxxx
> > > Sent: Tuesday, October 28, 2003 8:03 AM
> > > Subject: RE: [amibroker] Auto-optimization AFL
> > >
> > >
> > > thanks for the compliments, glad it's kind of sane in there
(:-).
> > >
> > > just FYI, there's a new version of this that I haven't posted
> > yet. among
> > > other changes, it handles up to 3 optimization parameters, and
> > allows each
> > > rule to set the optimization parameter ranges independently.
it
> > also moves
> > > the docs into a separate file, so the code file is smaller and
> > easier to
> > > deal with. I'll get that up as soon as I can finish it off.
> > >
> > > no, you don't have to set dynamic yourself, and shouldn't. did
> > you read
> > > the
> > > comments about it? I bet it's not dynamic itself that your
rule
> > is getting
> > > hung up on, it's the optimization parameters being arrays when
> > dynamic is
> > > true.
> > >
> > > here's the section about this from the newer version,
expanded a
> > bit from
> > > the original; not sure if the example BuySell rules it
mentions
> > are
> > > exactly
> > > the same:
> > >
> > > --------------
> > > during optimization, the active rule is called multiple times,
> > once with
> > > each combination of p1, p2 and p3 being tested. at this time,
p1,
> > p2 and
> > > p3
> > > are simple numeric values, not arrays. once optimal settings
have
> > been
> > > determined for every bar, the rule is called once more, to
> > generate actual
> > > trading signals. this time, p1, p2 and p3 are arrays, each bar
> > dynamically
> > > containing the optimal p1, p2 and p3 value for that bar.
> > >
> > > whether they're simple values or arrays matters because not
all AB
> > > functions
> > > can accept arrays as inputs. for example, MA, TEMA, DEMA, WMA
and
> > AMA can
> > > use an array as their period, but EMA and MACD can't. it's
usually
> > > possible
> > > to code an equivalent in AFL that can, like the included EMAx
> > function is
> > > a
> > > replacement for EMA. an AFL replacement may be significantly
> > slower
> > > though,
> > > if it has to do a lot of work, since rules are called many
times
> > during
> > > optimization. you could also use a DLL, like indicators.dll
from
> > the 3rd
> > > party section of the AB site, but I didn't want this code to
> > depend on
> > > outside tools.
> > >
> > > if this is an issue for a particular rule, include both slower
> > > array-capable
> > > code for use in the final signal-generation phase, and faster,
> > > non-array-capable code for use during the many optimization
> > tries. use the
> > > 'dynamic' parameter to know which to call; see BuySellStoch,
> > below, for an
> > > example. you can also write a custom function with both
versions,
> > and pass
> > > dynamic into it; see BuySellCCI and CCIx for an example.
> > > --------------
> > >
> > > hth,
> > >
> > > dave
> > > Hi Dave,
> > >
> > > I started working with it...very nice, structured, work...this
> > will help
> > > folks learn AFL as well as general programming design, I
believe..
> > >
> > > so far, i am having a bit of trouble with the 'dynamic'
True/False
> > > parameter
> > > being fed to one of my indicators---but i suspect this is my
> > problem not
> > > yours:
> > >
> > > BuySellRule(True, best_p1, best_p2);
> > > -----------------------------------^
> > >
> > > Bad args.
> > > 0-th argument of function call has invalid (or unsupported)
type
> > >
> > > I don't have to specifically set 'dynamic'; do I?
> > >
> > > thanks
> > >
> > > -john
> > > ----- Original Message -----
> > > From: Dave Merrill
> > > To: amibroker@xxxxxxxxxxxxxxx
> > > Sent: Thursday, October 23, 2003 6:32 PM
> > > Subject: RE: [amibroker] Auto-optimization AFL uploaded
> > >
> > >
> > > thanks, appreciate it (:-).
> > >
> > > so, did you figure out how we can all be millionaires by
morning
> > with it
> > > yet? or at least learn something about something?
> > >
> > > you probably noticed this, but the way it comes set up, it's
not
> > using
> > > equity feedback to optimize with, but net bars on the right
side
> > of the
> > > market. my initial impression after I built that was that it
> > worked better
> > > than equity, but since then, I've concluded that, guess what,
it
> > depends.
> > > so
> > > anyway, try the other scoring algorithm too, if you haven't
> > already.
> > >
> > > keep me posted (:-).
> > >
> > > anyone else playing with this thing?
> > >
> > > dave
> > > I've downloaded it and run it about a dozen times. What
you've
> > done is
> > > very
> > > impressive.
> > >
> > > Thanks,
> > > Howard
> > >
> > > -----Original Message-----
> > > From: Dave Merrill [mailto:dmerrill@x...]
> > > Sent: Wednesday, October 22, 2003 1:11 PM
> > > To: amibroker@xxxxxxxxxxxxxxx
> > > Subject: RE: [amibroker] Auto-optimization AFL uploaded
> > >
> > > forgot to say it howard, but I'm very interested in what you
> > think about
> > > it,
> > > and any results you get from fiddling with it.
> > >
> > > dave
> > >
> > >
> > > Send BUG REPORTS to bugs@xxxx
> > > Send SUGGESTIONS to suggest@xxxx
> > > -----------------------------------------
> > > 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.
> > >
> > >
> > > Yahoo! Groups Sponsor
> > > ADVERTISEMENT
> > >
> > >
> > >
> > >
> > > Send BUG REPORTS to bugs@xxxx
> > > Send SUGGESTIONS to suggest@xxxx
> > > -----------------------------------------
> > > 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.
> > >
> > > Yahoo! Groups Sponsor
> > >
> > >
> > >
> > > Send BUG REPORTS to bugs@xxxx
> > > Send SUGGESTIONS to suggest@xxxx
> > > -----------------------------------------
> > > 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.
> >
> >
> >
> > Send BUG REPORTS to bugs@xxxx
> > Send SUGGESTIONS to suggest@xxxx
> > -----------------------------------------
> > 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
http://docs.yahoo.com/info/terms/
> >
> >
------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for your HP, Epson, Canon or Lexmark
Printer at MyInks.com. Free s/h on orders $50 or more to the US & Canada.
http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/mOAaAA/3exGAA/qnsNAA/GHeqlB/TM
---------------------------------------------------------------------~->
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 http://docs.yahoo.com/info/terms/
|