PureBytes Links
Trading Reference Links
|
The anomaly of randomness:
- a random event is independent of anything that precedes or follows it;
- however, if we fire off a number of random events, and record the outcomes over time, collectively they conform to at least two Univeral Laws (mathematically universal?) ... the Law Of Averages and Sample Error;
- looked at from one perspective (over time) the independent events form a pattern i.e. they draw a straight line (a two dimensional pattern);
How can an independent event conform to a generalized Law?
Somehow this seems congruent with my observations that the constituents of the S&P are random, from one perspective, and non-random from another (Yahoo EOD - 10 years, eSignal RT 6 months various timeframes).
--- In amibroker@xxxxxxxxxxxxxxx, "brian_z111" <brian_z111@xxx> wrote:
>
> Mandelbrot is a math prof from NY ... his progressive ideas are opposed by some in the scientific community.
>
> I read him for the first time when I stumbled over his Scientific American article recently (decided immediately that I liked him).
>
> I had already decided that the RandomModel, as the NullHypothesis, was, or would be, the source of a lot of trouble for financial modelers because I tentatively thought that many are taking it (randomness) as absolute when it is only a relative construct ... models based on it are approximations, which is OK if the applications aren't critical (or highly leveraged, in which case small +- errors are magnified).
>
> So, Mandelbrot is confirmation for me that the random model needs to be rejected for some analysis (he had to reject it, what else could he do?)
>
> In hindsight there seems to have been a good deal of synchronous discussion in the forum recently.
>
> --- In amibroker@xxxxxxxxxxxxxxx, "brian_z111" <brian_z111@> wrote:
> >
> > 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@xxxxxxxxxxxxxxx, 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@xxxxxxxxxxxxxxx
> > > 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
> > >
> >
>
------------------------------------
**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.
TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com
TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:amibroker-digest@xxxxxxxxxxxxxxx
mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|