PureBytes Links
Trading Reference Links
|
Hi Mike, that was exactly what I was after, thanks very much!
cheers
Ramon
--- In amibroker@xxxxxxxxxxxxxxx, "sfclimbers" <sfclimbers@xxx> wrote:
>
>
> Sorry,
>
> Forgot that the rich text editor fails when using Google Chrome.
>
> What I tried to say was that you can push Howard's code inside the
> custom backtester to get your value. When working with a single symbol
> it should be the same thing (though I note that it is not for some
> unknown reason). When working with a portfolio it will be for the entire
> portfolio.
>
>
> Buy = Month() != Ref( Month(), -1 );
> Sell = BarsSince( Buy ) >= 10;
> Buy = ExRem( Buy, Sell );
> Sell = ExRem( Sell, Buy );
>
> e = Equity(1);
> Refline = Cum( 1 );
> rsquared = Correlation( e, Refline, 21 ) ^ 2;
>
> Plot( C, "C", colorBlack, styleCandle );
>
> shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
> shapecolor = IIf( Buy, colorGreen, colorRed );
>
> PlotShapes( shape, shapecolor );
> Plot( e, "e", colorGreen, styleLine | styleLeftAxisScale );
> Plot( Refline, "refline", colorBlue, styleLine | styleOwnScale );
> Plot( rsquared, "rSqr", colorRed, styleLine | styleOwnScale );
>
> // Added these lines
> Plot( Foreign( "~RSQ", "X" ), "RSQ", colorDarkRed, styleDashed |
> styleOwnScale );
>
> SetCustomBacktestProc( "" );
>
> if ( Status( "action" ) == actionPortfolio )
> {
> bo = GetBacktesterObject();
> bo.Backtest();
>
> e = Foreign( "~~~Equity", "C" );
> refline = Cum( 1 );
> rsquared = Correlation( e, refline, 21 ) ^ 2;
> bo.AddCustomMetric( "R-Squared", LastValue( rsquared ) );
>
> AddToComposite( rsquared, "~RSQ", "X", atcFlagDefaults |
> atcFlagEnableInPortfolio | atcFlagEnableInBacktest);
> }
>
> Mike
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "sfclimbers" <sfclimbers@> wrote:
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "ramoncummins" ramoncummins@
> > wrote:
> > >
> > > Hi Howard, thanks for your reply.
> > >
> > > However, the reason I want to use the custom backtester is so that
> the
> > r-squared metric appears as a column in the system statistics when I
> > analysis a portfolio of individual stocks (say the S&P 500 for
> example)
> > - this would allow me to find the best equity curves quickly.
> > >
> > > Any further input would be greatly appreciated!
> > >
> > > Ramon
> > >
> > >
> > > --- In amibroker@xxxxxxxxxxxxxxx, Howard B howardbandy@ wrote:
> > > >
> > > > Hi Ramon --
> > > >
> > > > You do not need custom backtester to get the statistic you want.
> > Try this
> > > > code:
> > > >
> > > > ///////////////////////
> > > >
> > > > // EquityRsqr.afl
> > > > //
> > > > Buy = Month() != Ref( Month(), -1 );
> > > > Sell = BarsSince( Buy ) >= 10;
> > > >
> > > > Buy = ExRem( Buy, Sell );
> > > > Sell = ExRem( Sell, Buy );
> > > >
> > > > e = Equity();
> > > >
> > > > Refline = Cum( 1 );
> > > >
> > > > rsquared = Correlation( e, Refline, 21 ) ^ 2;
> > > >
> > > > Plot( C, "C", colorBlack, styleCandle );
> > > > shape = Buy * shapeUpArrow + Sell * shapeDownArrow;
> > > > shapecolor = IIf( Buy, colorGreen, colorRed );
> > > > PlotShapes( shape, shapecolor );
> > > >
> > > > Plot( e, "e", colorGreen, styleLine | styleLeftAxisScale );
> > > > Plot( Refline, "refline", colorBlue, styleLine | styleOwnScale );
> > > >
> > > > Plot( rsquared, "rSqr", colorRed, styleLine | styleOwnScale );
> > > >
> > > > /////////////////////
> > > >
> > > > Thanks,
> > > > Howard
> > > >
> > > > On Mon, Aug 31, 2009 at 3:12 PM, ramoncummins ramoncummins@xxxxx:
> > > >
> > > > >
> > > > >
> > > > > Hi there
> > > > >
> > > > > I am trying to calculate the r-squared value of my equity curve
> > using the
> > > > > custom backtester (this is a measure of goodness of 'fit' -
> > basically so I
> > > > > can test for a nice smooth equity curve).
> > > > >
> > > > > The generic r-squared formula is :
> > > > >
> > > > > r-squared = Correlation(array1, array2, periods) ^ 2
> > > > >
> > > > > However I don't know what arrays to pass this equation. One of
> the
> > arrays
> > > > > will need to be the equity curve and the other just a counter
> type
> > array -
> > > > > like barindex(). Any help very much appreciated, my experience
> > using the
> > > > > custom backtester is very limited!
> > > > >
> > > > > cheers
> > > > >
> > > > > Ramon
> > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
>
------------------------------------
**** 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/
|