You need to be careful how you index. In the example code, y is a 'zoo series' and y[i] is gives the ith row, as in y[i, ]. This means t(y[i]) %*% y[i] is actually a 2X2 matrix. Also, the code c(S)[c(1,4,2)] picks off the diagonal and lower triangular elements. The example involves two stocks, so there are 3 elements. When you expand the example to 5 stocks, there will be 15 elements (5 variances and 10 covariances). Rather than manually selecting the elements you can use something like this:
EWMA[i,] <- S [lower.tri(S,diag=TRUE)] Note, however, that you'll have to change the indexing in the final step if you use this code. Lastly, if you are expanding the code for five stocks, the returns matrix should have 5 columns --- one for each stock. Then, t(returns[i, ]) %*% returns[i, ] will be 5X5 just as lambda * S is. On Tue, Jul 23, 2013 at 5:29 AM, G Girija <girija...@gmail.com> wrote: > Hi, > I have 5 stock values and i am calculating EWMA > followed the logic as given ind following link.[ > http://www.orecastingfinancialrisk.com/3.html< > http://www.forecastingfinancialrisk.com/3.html> > ] > > [EWMA = matrix(nrow=T,ncol=3) # create a matrix to hold the covariance > matrix for each t > > > lambda = 0.94 > S = cov(y) # initial (t=1) covariance matrix > EWMA[1,] = c(S)[c(1,4,2)]# extract the variances and covariancefor (i > in 2:T){ # loop though the sample > S = lambda * S + (1-lambda) * t(y[i]) %*% y[i] > EWMA[i,] = c(S)[c(1,4,2)] # convert matrix to vector } > EWMArho = EWMA[,3]/sqrt(EWMA[,1]*EWMA[,2]) # calculate correlations > ] > > > > EWMA[1,]<-c(S)[c(1,7,13,19,25,5)] --I am taking all diagonal values and one > more value. ---Is it correct???? > > my returns matrix dim is 1x2496 and its transpose is 2496x1. > so the resultant matrix will be 1x1. > but we are adding it to lambda*S which is 5x5 matrix.----may be I am > getting error because of this. How to overcome this error? Pl help > > Error in lambda * S + (1 - lambda) * t(as.matrix(returns[i])) %*% > (as.matrix(returns[i])) : > non-conformable arrays > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.