[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Hurst Channels



PureBytes Links

Trading Reference Links

Rakesh,

The move was fine thanks, but as expected the settling in is taking
somewhat longer. Still don't have broadband connected, nor even a desk
to sit at! Oh well, the laptop in front of the telly will have to do
for now...

To try and answer your question, I think we must first bear in mind
that there are many ways to attempt to skin this cyclical beast. If
nothing else then this thread is showing that. First we had the FFT
discussion, then polynomials, then Ehler's DSP techniques and now
Hurst/Millard/Cleeton's methods.

There are, of course, benefits and drawbacks to each approach. I
touched on one problem I found with Ehler's stuff and Fred has already
highlighted the problem with Hurst et al. Basically that, because you
are using centred MAs as low-pass filters you don't have data up to
the right-edge and therefore have a zone of recent data within which
you have to extrapolate the 'measured' cycles/envelopes. 

So how do you do this extrapolation to overcome the shortfall? Well,
there are many ways, as we are seeing. I personally try and fit a sine
wave to at least 2 'measured' cycles back and if there is good
correlation there and also good correlation in the "end zone" with the
price then (i.e. prices are not moving opposite to the projected sine
wave) then I get a little happier. There are probably better ways to
extrapolate and I look forward to investigating them in the next few
weeks/months. The good thing about the Cycle Highlighter though is
that you don't need to fit the amplitude so much as the
periodicity...i.e. I'm not looking for an absolute perfect sine-wave
fit to the price but more looking for a visual appreciation of the
market 'rhythm'.

So there's an answer to one of your questions...with this indicator I
care much more about time/periodicity than I do about amplitude. I'm
looking for it to help me decide *when* to get in, stay in or get out.
I'm not looking for price targets here. See my comments re the GBP in
the last post.

>>how do you interpret the correlation numbers? 
If the correlation coefficient is high and positive then I am happy.
The higher the better!

>>What are you looking for when you say you wait for tradeable cycles?
I don't necessarily wait for anything...more I go out looking for
things that are exhibiting clear cyclical behaviour and trade them,
passing over trades that I do not have a good degree of confidence in.
It's more active than passive! :-)

>>please throw some light on the methodology you follow

Basically I reconcile myself to the limitation of the technique and
use a fair amount of discretion in my trading. I've learned that I can
get superior results by trusting myself more and letting the computer
become more of a visualising aid than a rule-generator. I have a much
better relationship with my machine now that I've finally convinced it
that my brain is superior at pattern recognition!!

Like I said, this is just one component of my trading method...each
component has its own drawbacks, the trick is to try to get the
relative strengths of one analysis to compensate for the weaknesses in
another. Anyway, that's another story and I've talked enough already.
But I will just say one thing more... 

>>"Fortunately for all interested Fred is taking an interest the
stuff, seems he is the resident genius on the subject"

I couldn't possibly disagree from what I've seen and heard, but please
just bear in mind (warning - here comes a cliche!) that there is no
holy grail and at some point the Law of Diminishing Returns kicks in
and you will better spend your time and energy just accepting some
basic assumptions/limitations and get on with the trading game. I have
found that it's actually quite liberating (and financially rewarding)
when you get to that place.

Good luck...hope that helps some.

Andy


--- In amibroker@xxxxxxxxxxxxxxx, "Rakesh Sahgal" <rakeshsahgal@xxx>
wrote:
>
> Hi Andy
> 
> How is the moving and settling in getting along?
> 
> Fortunately for all  interested Fred is taking an interest the
stuff, seems
> he is the resident genius on the subject. Coming back to yuor code
how do
> you interpret the correlation numbers? What are you looking for when
you say
> you wait for tradeable cycles? Are you using criteria based on
> amplitude/phase or primarily cycle length? As and when you can spare the
> time please throw some light on the methodology you follow. Thanks,
> 
> Regards
> 
> 
> Rakesh
> 
> On 10/11/06, andy_davidson_uk1 <AndyDavidson@xxx> wrote:
> >
> > Guys,
> >
> > There's lots of good stuff going on here and I wish I could devote
> > some more time to digest it all (still in a crazy mid-move mess).
> > However, until I can I thought I would just post my own bit of code to
> > show you how I've been using Millard's adaptation of Hurst's work.
> > You'll find it under "Cycle Highlighter" in the AFL library.
> >
> > It's nothing really mathematically fancy I'm afraid and uses simple
> > sine-waves to extrapolate. FFT's, appendix 6 of PM and the like are
> > beyond my skills at present, although I see I'm going to have to do
> > something about that! However, I have found that the simplicity of the
> > approach does help in so far as practical trading goes. By this I mean
> > that if clear, tradeable cycles are present it will generally show up
> > on the indicator. And if they don't show up then neither does my
> > trading money, simple as that!
> >
> > To give you a practical idea of how I've used it...try it on GBP A0-FX
> > with a daily setting of around 85 bars. Now, I didn't use this
> > indicator alone to go short on the currency in early September
> > (there's obviously more to my method than this one indicator), but it
> > has helped me *stay* short until now...i.e. I kept the faith with the
> > position despite a month of down-and-up action because the cycle
> > interp told me there was plenty of down-time still remaining.
> >
> > There is also an auto-fit version available if anyone's interested.
> > It's not perfect and it's slow as it uses a loop to find the best
> > correlation coefficients. But let me know if you want it.
> >
> > I haven't felt the need to code Hurst's edge-band technique as yet,
> > but it's on the list. As is working through his course material in
> > detail and then tackling these higher-order mathematical techniques to
> > try and improve what I've already got. However, I would say that the
> > KISS principle has served me pretty well up until now. So good luck to
> > all and please keep this thread going! Also feel free to let me know
> > if there's any way to improve the code I posted. A programmer I most
> > definitely ain't...
> >
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "Rakesh Sahgal" <rakeshsahgal@>
> > wrote:
> > >
> > > Fred
> > >
> > > So in essence are you saying that to get a meaningful response from
> > a FFT it
> > > is essential that the data series be de-trended? Also since TJ
had in
> > > response to your query indicated that the FFT implementation he was
> > going to
> > > include in AB was not going to be constrained by ^2 limitation
requiring
> > > data padding/windowing(?),  the problem of ascertaining cycles
should be
> > > resolved if the data is detrended and then run through the FFT
> > function in
> > > AB?
> > >
> > > Rakesh
> > >
> > > On 10/11/06, Fred Tonetti <ftonetti@> wrote:
> > > >
> > > >  Bill,
> > > >
> > > >
> > > >
> > > > As a follow up to my last ?
> > > >
> > > >
> > > >
> > > > Lets use the wave generator ( below in AFL )  to manufacture some
> > > > synthetic data ?
> > > >
> > > >
> > > >
> > > > You can see that I purposely picked wave lengths that are powers
> > of two ?
> > > > The reason is that FFT's will of course resolve these quite well
> > as long as
> > > > you have the sample size set to be a power of 2 which is larger
> > then the
> > > > longest wavelength.  The amplitudes and phase offsets are
pretty much
> > > > random.
> > > >
> > > >
> > > >
> > > > See the attachments ?
> > > >
> > > >
> > > >
> > > > #1 The individual and composite ( DATA ) waves we generated
> > > >
> > > > #2 The histogram or periodogram for the FFT ? Notice how it
picked all
> > > > wave lengths out with very little trouble.
> > > >
> > > > #3 The output cycles which are a result of the individual cycle
> > lengths,
> > > > amplitudes and phase offsets that the FFT detected.  Notice how
> > this is
> > > > almost a perfect match of the input.  The individual waves can of
> > course be
> > > > easily extrapolated and combined to present a picture of where the
> > data
> > > > should go in the future.
> > > >
> > > >
> > > >
> > > > #4 Another generated wave this time with trend added in ?
Notice the
> > > > effect on the white composite line.
> > > >
> > > > #5 The resulting histogram from the FFT WITHOUT detrending the
data
> > > > first.  Notice how it has become "confused".
> > > >
> > > > #6 The resulting output waves now don't look much like the inputs.
> > > >
> > > >
> > > >
> > > > #7 Same histogram as in #5 but with detrending the data prior to
> > invoking
> > > > the FFT.  Notice how now we are back to where we should be.
> > > >
> > > > #8 The resulting output waves as we would expect them to be ?
> > > >
> > > >
> > > >
> > > > #9 Another generated wave this time with a very high noise
level ( the
> > > > grey histogram ).  You can see the effect it has had on the
data we
> > > > manufactured.
> > > >
> > > > #10 The histogram from FFT.  Notice how even though the noise
> > levels have
> > > > gone up here, the FFT still had no real problems finding the
cycles.
> > > >
> > > > #11 The resulting output waves which now look very much like the
> > input ?
> > > > WITHOUT the noise.
> > > >
> > > >
> > > >
> > > > #12 Here I have purposely changed the wave lengths from being
> > powers of 2
> > > > to 7, 17, 27, 37 & 47?. Notice the effect it has had in the
> > histogram ? I
> > > > had to increase the data sample to 512 to get this resolution
> > which is still
> > > > somewhat "muddy" ? but all in all the FFT did a good job of
> > finding the
> > > > cycles.
> > > >
> > > >
> > > >
> > > > The other thing to keep in mind here with this particular wave
> > generator
> > > > is that I have not introduced any variation in wave length,
> > amplitude or
> > > > phase offset over the life of the data sample ? which in my
> > opinion ? does
> > > > happen ? For the purists that don't think this happens, then I
> > would think
> > > > that they would at least admit that non cyclic events can make it
> > appear to
> > > > DSP algorithms as if this were the case.
> > > >
> > > >
> > > >
> > > > rTrend   =  0;
> > > >
> > > > rNoise   =  0 ;
> > > >
> > > > dFactor  =  1;
> > > >
> > > >
> > > >
> > > > rCyc1Amp =  3;
> > > >
> > > > rCyc2Amp =  5;
> > > >
> > > > rCyc3Amp =  7;
> > > >
> > > > rCyc4Amp =  9;
> > > >
> > > > rCyc5Amp = 11;
> > > >
> > > >
> > > >
> > > > rCyc1Len =  4;
> > > >
> > > > rCyc2Len =  8;
> > > >
> > > > rCyc3Len = 16;
> > > >
> > > > rCyc4Len = 32;
> > > >
> > > > rCyc5Len = 64;
> > > >
> > > >
> > > >
> > > > rCyc1Phase = 72;
> > > >
> > > > rCyc2Phase = 144;
> > > >
> > > > rCyc3Phase = 216;
> > > >
> > > > rCyc4Phase = 288;
> > > >
> > > > rCyc5Phase = 360;
> > > >
> > > >
> > > >
> > > > *if* (Source == "Generator" )
> > > >
> > > > {
> > > >
> > > >     pi = 4 * atan (1 );
> > > >
> > > >
> > > >
> > > >     StartX = 1000;
> > > >
> > > >
> > > >
> > > >     Trend = (BI + 1) * rTrend * dFactor * (rCyc1Amp + rCyc2Amp +
> > rCyc3Amp
> > > > + rCyc4Amp + rCyc5Amp) / 5 ;
> > > >
> > > >
> > > >
> > > >     Noise = (Random () - 0.5 ) * 2 * rNoise * dFactor *
(rCyc1Amp +
> > > > rCyc2Amp + rCyc3Amp + rCyc4Amp + rCyc5Amp) / 5 ;
> > > >
> > > >
> > > >
> > > >     Cycle1 = cos ((BI / rCyc1Len + rCyc1Phase / 360 ) * 2 * pi) *
> > > > (rCyc1Amp * dFactor) + Trend * 0.2 ;
> > > >
> > > >     Cycle2 = cos((BI / rCyc2Len + rCyc2Phase / 360 ) * 2 * pi) *
> > (rCyc2Amp
> > > > * dFactor) + Trend * 0.2 ;
> > > >
> > > >     Cycle3 = cos((BI / rCyc3Len + rCyc3Phase / 360 ) * 2 * pi) *
> > (rCyc3Amp
> > > > * dFactor) + Trend * 0.2 ;
> > > >
> > > >     Cycle4 = cos((BI / rCyc4Len + rCyc4Phase / 360 ) * 2 * pi) *
> > (rCyc4Amp
> > > > * dFactor) + Trend * 0.2 ;
> > > >
> > > >     Cycle5 = cos((BI / rCyc5Len + rCyc5Phase / 360 ) * 2 * pi) *
> > (rCyc5Amp
> > > > * dFactor) + Trend * 0.2 ;
> > > >
> > > >
> > > >
> > > >     CycleX = Cycle1 + Cycle2 + Cycle3 + Cycle4 + Cycle5 + Noise;
> > > >
> > > >
> > > >
> > > >     * if* (PlotIt == "IP Cycles")
> > > >
> > > >     {
> > > >
> > > >         Plot (Cycle1, "C1", *colorRed*);
> > > >
> > > >         Plot (Cycle2, "C2", *colorOrange*);
> > > >
> > > >         Plot (Cycle3, "C3", *colorYellow*);
> > > >
> > > >         Plot (Cycle4, "C4", *colorBrightGreen*);
> > > >
> > > >         Plot (Cycle5, "C5", *colorBlue*);
> > > >
> > > >         Plot (CycleX, "Cx", *colorWhite*, *styleThick *);
> > > >
> > > >         Plot (Noise,  "n",  *colorLightGrey*, *styleThick* | *
> > > > styleHistogram*);
> > > >
> > > >     }
> > > >
> > > >
> > > >
> > > >     Data   = StartX + CycleX;
> > > >
> > > > }
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > ------------------------------
> > > > I am using the free version of SPAMfighter for private users.
> > > > It has removed 8605 spam emails to date.
> > > > Paying users do not have this message in their emails.
> > > > Try SPAMfighter <http://www.spamfighter.com/go.asp?t=249> for free
> > now!
> > > >
> > > >
> > > >
> > >
> >
> >
> >
> >
> >
> >
> >
> > 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
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>