Hi Mike, that was exactly what I was after, thanks very much! cheers
Ramon --- In amibroker@yahoogroups.com, "sfclimbers" <sfclimb...@...> 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@yahoogroups.com, "sfclimbers" <sfclimbers@> wrote: > > > > > > --- In amibroker@yahoogroups.com, "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@yahoogroups.com, 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 ramoncumm...@wrote: > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >