Page 1 of 1

Help with final adjustment of program

Posted: Wed Aug 08, 2012 4:53 am
by RouzbehR
Dear All,

I have this program and I need help with a little adjustment.

This program is suppose to first run a combination of dependent variable and independent variables and then it do a recursive regression. So when it runs the combination it saves all the rbar-squared, BIC and AIC values. it is suppose to do the same procedure again but recursively for next month and so on. And then save all the rbar-squared, BIC and AIC values. I know it should not be difficult to do it, but I have been trying to fix this program for a week now and I have not been able to fix it.

Please, can anyone who knows eviews well just adjust this for me.

Thank you so much.

Regards

Re: Help with final adjustment of program

Posted: Wed Aug 08, 2012 9:49 am
by EViews Esther
The given program seems to be a sketch of your project. Without knowing exactly what you are trying to do with your data, it is uneasy to help you.

I think that I can give you one hint at this moment. As far as I understood your question correctly, you need to make the recursive procedure to be a subroutine.

Re: Help with final adjustment of program

Posted: Sun Aug 12, 2012 12:32 pm
by RouzbehR
Dear All,

Can please someone approve that the program below does what I need it to do? I need it to do a 1 period recursive regression and save all the forecasted values. My window is correct, it is just the parts with otod I need to make sure are correct.

Code: Select all

'run rolling regression ' set window size !window = 119 ' set step size !step = 1 ' get size of workfile !length = @obsrange ' declare equation for estimation equation eq1 'calculate number of rolls !nrls = @floor((!length-!window)/!step) 'matrix to store coefficient estimates matrix(9,!nrls) coefmat ' where 2 is the number of coefficients 'series to store forecast estimates series fcast 'redundant series for catching start and end points %start = "@first" '@otod(@ifirst(ser)) %end = "@last" '@otod(@ilast(ser)) 'variable keeping track of how many rolls we've done !j=0 ' move sample !step obs at a time for !i = 1 to !length-!window+1-!step step !step !j=!j+1 ' set sample for estimation period %first = @otod(@dtoo(%start)) %last = @otod(@dtoo(%start)+!i+!window) smpl {%first} {%last} ' estimate equation - where the equation is y=c(1) + c(2)*x1 eq1.ls excess_return c ep_l1 i1_l1 ' 1-period-ahead forecast %1pers = @otod(@dtoo(%start)+!window) 'start point %1pere = @otod(@dtoo(%start)+!i+!window) 'end point if @dtoo(%end) < @dtoo(%1pere) then 'check whether the forecast end point is greater than the workfile end point exitloop endif ' set smpl for forecasting period smpl {%1pers} {%1pere} ' forecast with command *forecast* (see also *fit*) eq1.forecast(f=na) yf ' set sampl to obtain the 4th period observation smpl {%1pere} {%1pere} ' store forecasts fcast = yf next smpl @all show fcast.line d(noerr) yf
Appreciate any help.

Best