PureBytes Links
Trading Reference Links
|
Andy,
I would agree with all you said ... except for the comments about my
level of knowledge about cycles ... I'm hardly "Mr. Cycle" ... I
know somthing about how to search for cycle oriented info in a
sample and to some degree what to do with that information after I
found it ... nothing more ... nothing less ...
I suspect the reason that my level of knowledge in this area isn't
higher is by nature I tend to be a system trader as opposed to a
discretionary trader. Neither discipline is right or wrong but one
needs to understand where they themselves fit.
I have always used longer term cyclic information as a backdrop to
describe what is likely to happen but IMHO use of cycles beyond that
typically falls more into the discretionary area then the system
area. However, given the types of things we can do within AB and
the increase in my level of knowledge with regards to DSP in general
my attitude may change.
--- In amibroker@xxxxxxxxxxxxxxx, "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
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
>
|