> In terms of RNG data, Mandelbrot argues that prices have a
"memory"
> and I don't believe that most RNG synthetic series take this
into account.
Yes, that is where I got up to in my thinking, except I
was doing it at a more abstract level.
I looked up Random, on
Wikipedia, and something in that article triggered my thinking .... at the
Universal level (I argued to myself) 'memory' is a fundamental principle and
it is shaping absolute randomness (chaos) .... a truly random event would not
produce any patterns at all that could be modelled i.e. probability would not
exist and no event would follow any other event in any predictable way.....
absolute randomness only 'exists' before existence (over to Physics and
Cosmologists!)
the existence of probability == approximate or
conditioned absolute randomness;
I couldn't decide if the
mathematicians called it PseudoRandomness because the maths algorithms only
approximated what they were trying to do OR if they were smart enough back
then to realize that their randomness was only pseudo absolute
randomness.
--- In amibroker@xxxxxxxxxps.com, i cs
<ics4mer@xxx> wrote:
>
> Hi,
>
> Mandelbot
is a light read! Purposely written as such.
>
> There is already
some M. inspired code in the AB libraries/user base,
> in particular
what mandelbrot calls "H", and what others call the
> "Hurst Exponent".
I haven't seen any code for synthetic price series
> though.
>
> In terms of RNG data, Mandelbrot argues that prices have a
"memory"
> and I don't believe that most RNG synthetic series take this
into account.
>
> Is randomness real? I don't think so. I think
it's just stuff that we don't
> understand the flow of.
>
>
Z
>
>
>
>
>
________________________________
> From: brian_z111
<brian_z111@...>
> To: amibroker@xxxxxxxxxps.com
> Sent: Thursday, 18
June, 2009 4:25:47 PM
> Subject: [amibroker] Re: Benchmarking
>
>
>
>
>
> Very interesting topic.
>
> Mandelbrot is on my short list of fun reading.... obviously at some
point I might have a look at the real code used by others to produce random
data etc, including Mandelbrot's, and bring it into AB if it has not already
been done (at the moment it is more of a trading hobby than a pursuit of
applications) ... Howard is busy on his third book (advanced stuff) and other
things so he might publish something interesting to stimulate us further on
this subject ... perhaps some tools will appear (I am always confident that
the AB community can surpass what is already out there, at least for
non-academics) .
>
> I also got fascinated by the idea of
absolute randomness and started to question if it really exists or is it just
a useful model?
>
> --- In amibroker@xxxxxxxxx ps.com, i cs
<ics4mer@ > wrote:
> >
> > Hi Brian,
> >
> > Interesting topic.
> >
> > Mandelbrot (seen
one fractal, seen em all) has some excellent discussion
> > on
synthetic data in his book "The (Mis)Behaviour of markets". He uses
>
> a multifractal approach to producing simulated markets. The price
>
> behaviour produced by his approach looks identical to real price data
and
> > is not "psuedo random" in the ordinary sense.
> >
> > I think you'd like the book, it's very approachable, and all the
maths
> > is hidden away in the back.
> >
> >
Z
> >
> >
> >
> >
> >
____________ _________ _________ __
> > From: brian_z111
<brian_z111@ ...>
> > To: amibroker@xxxxxxxxx ps.com
>
> Sent: Thursday, 18 June, 2009 3:46:20 PM
> > Subject:
[amibroker] Re: Benchmarking
> >
> >
> >
>
>
> >
> > Fixup
> >
> >
/*P_RandomPriceSeri es*/
> >
> > //Use as a Scan to create
PseudoRandomPriceSe ries
> > //Select Current symbol and All
quotations in AA, select basetimeframe in AA Settings
> > //It will
also create the series if used as an indicator (add the appropriate flag to
ATC)
> > // but this is NOT recommended as it will recalculate them
on every refresh.
> > //Indicator mode is good for viewing
recalculated curves (click in whitespace)
> > //Do not have the
indicator code uncommented while running the scan
> > //CommentOut
the Scan code before using the indicator code.
> >
> > N =
100;//manually input desired Number - used in Scan AND Indicator mode
>
>
> > ///SCAN///// ///////// ///////// ///////// /////////
///////// ///////// ////////
> >
> > Buy=Sell=0;
>
>
> > for( i = 1; i < N; i++ )
> >
> > {
> >
> > VarSet( "D"+i, 100 * exp( Cum(log(1 + (Random() -
0.5)/100)) ) );
> > AddToComposite( VarGet( "D"+i ),"~Random" +
i,"X",1|2|128) ;
> > //Plot( VarGet( "D"+i ), "D"+i, 1,1 );
>
> //PlotForeign( "~Random" + i,"Random" + 1,1,1);
> > }
>
>
> > /*
> > ////PLOT//// ///////// ///////// /////////
///////// ///////// ////
> >
> > //use the same period
setting as for the Scan
> >
> > for( i = 1; i < N; i++ )
> >
> > {
> >
> > PlotForeign(
"~Random" + i,"Random" + i,1,1);
> >
> > }
> >
> > */
> >
> > ////OPTIMIZE/ ///////// /////////
///////// ///////// ///////// ///////// ////
> >
> > //use
the filter to run on Group253 OR add ~Random + i PseudoTickers to a Watchlist
and define by AA filter
> >
> > //fast = Optimize( "MA
Fast", 1, 1, 10, 1 );
> > //slow = Optimize("MA Slow", 4, 4, 20, 1
);
> >
> > //PositionSize = -100/P;
> > //Buy =
Cross(MA(C,fast) ,MA(C,slow) );
> > //Sell = Cross(MA(C,slow)
,MA(C,fast) );
> >
> > //Short = Sell;
> > //Cover
= Buy;
> >
> > --- In amibroker@xxxxxxxxx ps.com,
"brian_z111" <brian_z111@ ...> wrote:
> > >
> >
> Following recent discussions on benchmarking and using rule based systems
to engineer returns to meet 'clients' profiles i.e.Samantha' s MA(C,10)
example, I did some follow up R&D with the intent of expanding the
examination a little further via a zboard post.
> > >
>
> > I may, or may not, get around to that so in the meantime I decided I
would share a couple of things while they are still topical.
> > >
> > > I made up some quick and dirty randomly generated eq curves
so that I could optimise MA(C,10) on them (out of curiosity).
> >
>
> > > Also, out of curiosity, I decided to see how the
example signal/filter code that I made up, as the study piece for Yofas topic
on benchmarking, would actually perform.
> > >
> > >
Buy = Ref(ROC(MA(C, 1),1),-1) < 0 AND ROC(MA(C,1), 1) > 0 AND
ROC(MA(C,10) ,1) > 0;
> > > Sell = Cross(MA(C,10) ,C);//no
thought went into this exit and I haven't tried any optimization of the entry
or the exit
> > >
> > > By chance I noticed that it
outperformed on one or two of the constituents of the ^DJI (Yahoo data ...
2005 to 2009) and to the naked eye the constituents all seem to be correlated
to a fair extent over that time range.
> > >
> > >
Also, to the naked eye, it outperforms on randomly generated stock prices
around 50% of the time and the outperformnce doesn't appear to be correlated
to the underlying(I haven't attempted to find an explanation for
this).
> > >
> > > Here is the code I used to make up
some randomly generated 'stocks'.
> > >
> > > As we
would expect it produces, say, 100 price series with a concatenated mean of
around zero (W/L = 1 and PayoffRatio == 1) etc.
> > > When plotted
at the same time ... individual price series are dispersed around the mean in
a 'probability cone' ... in this case it is a relatively tight cone because
the method doesn't introduce a lot of volatility to the series.
> >
>
> > > /*P_RandomEquity* /
> > >
> >
> //Use as a Scan to create PseudoRandom Equity curves
> > >
//Current symbol, All quotations in AA, select basetimeframe in AA
Settings
> > > //It will also create the curves if used as an
indicator (add the appropriate flag to ATC)
> > > // but this is
NOT recommended as it will recalculate them on every refresh.
> >
> //Indicator mode is good for viewing recalculated curves (click in
whitespace)
> > > //CommentOut the Scan code before using the
indicator code.
> > > //Don't use a very large N or it will freeze
up indicator scrolling etc
> > >
> > > n =
100;//manually input desired number - used in Scan AND Indicator mode
>
> >
> > > ///SCAN///// ///////// ///////// /////////
///////// ///////// ///////// ////////
> > >
> > >
> > > Buy=Sell=0;
> > >
> > > for( i =
1; i < n; i++ )
> > >
> > > {
> > >
> > > VarSet( "D"+i, 100 * exp( Cum(log(1 + (Random() -
0.5)/100)) ) );
> > > AddToComposite( VarGet( "D"+i ),"~Random" +
i,"X",1|2|128) ;
> > > //Plot( VarGet( "D"+i ), "D"+i, 1,1 );
> > > //PlotForeign( "~Random" + i,"Random" + 1,1,1);
>
> > }
> > >
> > > /*
> > >
////PLOT//// ///////// ///////// ///////// ///////// ///////// ////
>
> >
> > > //use the same number setting as for the
Scan
> > >
> > >
> > > for( i = 1; i
< n; i++ )
> > >
> > > {
> > >
> > > PlotForeign( "~Random" + i,"Random" + i,1,1);
> >
>
> > > }
> > >
> > >
> >
> ////OPTIMIZE/ ///////// ///////// ///////// ///////// ///////// /////////
////
> > >
> > > //use the filter to run on Group253
OR add ~Random + i PseudoTickers to a Watchlist and define by AA
filter
> > >
> > >
> > > //fast =
Optimize( "MA Fast", 1, 1, 10, 1 );
> > > //slow = Optimize("MA
Slow", 4, 4, 20, 1 );
> > >
> > > //PositionSize =
-100/P;
> > > //Buy = Cross(MA(C,fast) ,MA(C,slow) );
> >
> //Sell = Cross(MA(C,slow) ,MA(C,fast) );
> > >
> >
> //Short = Sell;
> > > //Cover = Buy;
> > >
> > > I also stumbled on this, which seems to have some
relevance:
> > >
> > > http://www.scribd.
com/doc/6737301/ Trading-eBookCan -Technical- Analysis- Still-Beat-
Random-Systems
> > >
> > >
> > > It
contains a link to a site that has a free download of some RNG produced
datasets.
> > >
> > > There hasn't been much
discussion on using synthetic data in the forum ... Patrick recommended it for
testing? OR benchmarking? ... Fred is against using it ("If we knew enough
about the characteristics of the data, in the first place, to be able to
create synthetic data then we would know enough to design trading systems to
exploit the data's profile anyway", OR something like that).
> > >
> > > I was titillated enough by my first excursion into
benchmarking with synthetic data to bring me back for some more.
> >
>
> >
> >
> >
> >
> >
> > Access Yahoo!7 Mail on your mobile. Anytime. Anywhere.
>
> Show me how: http://au.mobile. yahoo.com/ mail
> >
>
>
>
>
>
> Access Yahoo!7 Mail on your
mobile. Anytime. Anywhere.
> Show me how: http://au.mobile.yahoo.com/mail
>