Page 1 of 1

Weighted average of group of time series

Posted: Tue Nov 16, 2010 7:22 am
by nupogodi
Could you point me the optimal way of calculating weighted average of time series without using loops?
There is a group (A) of indices available and another group (B) containing some absolute values i.e weights. The group of weights (B) should be normalized first. The number of time series to be weighted is not known a priori...

=(A.1*B.1 + A.2*B.2 + A.3*B.3 + ...)/sum(B)

Weighted average of group of time series

Posted: Tue Nov 16, 2010 7:57 am
by EViews Gareth
I don't think you can do it without loops.

Re: Weighted average of group of time series

Posted: Tue Nov 16, 2010 8:47 am
by nupogodi
yes it can be done, I figured it out myself...

Code: Select all

series a1 = rnd series a2 = rnd series a3 =rnd series b1 = rnd series b2 = rnd series b3 =rnd group a a* group b b* %c = "("+ @wdelim(@replace(@winterleave(@wcross(A.@members, "* "),b.@members),"* ","*")," ","+") +")/@rsum(B)" series w_avg = {%c}

Re: Weighted average of group of time series

Posted: Tue Nov 16, 2010 9:06 am
by EViews Gareth
Ha, fair enough.