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

Re: [amibroker] Re: Hurst Channels



PureBytes Links

Trading Reference Links

Fred

At this point I dont have the depth of knowledge to refute what you say with
facts. However there are some who contend that cycle inversion is a fact of
life in cycle analysis. Guess I will learn either way as I get more familiar
with the concept.


Rakesh

On 10/11/06, Fred <ftonetti@xxxxxxxxxxxxx> wrote:
>
> IMHO ... Cycles NEVER invert ...
>
> --- In amibroker@xxxxxxxxxxxxxxx, "Rakesh Sahgal" <rakeshsahgal@xxx>
> wrote:
> >
> > Andy
> >
> > Without a doubt there is no holy grail. Cycle work has it's place
> and it's
> > limitations. For all those who want to include this component in
> their
> > anaylsis/decision making one thing they need to remember is cycles
> do invert
> > and non-cyclic events are a part of the game.
> >
> > Rakesh
> >
> > On 10/11/06, andy_davidson_uk1 <AndyDavidson@xxx> wrote:
> > >
> > > 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@>
> > > 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@> 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
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > 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
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
>
>
>
>
>
>
>
> 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
>
>
>
>
>
>
>
>
>
>