Code: Select all

`'create some data`

create u 100

series y=nrnd

series x1=nrnd

series x2=nrnd

series z=nrnd

'-------------------------------------------------------------------------------------

'run rolling regression

' set window size

!window = 20

' set step size

!step = 1

' get size of workfile

!length = @obsrange

' declare equation for estimation

equation eq1

'calculate number of rolls

!nrolls = @floor((!length-!window)/!step)

'matrix to store coefficient estimates

matrix(3,!nrolls) coefmat ' where 3 is the number of coefficients

'series to store forecast estimates

series fcast

'redundant series for catching start and end points

series ser = 1

%start = @otod(@ifirst(ser))

%end = @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)+!i-1)

%last = @otod(@dtoo(%start)+!i+!window-2)

smpl {%first} {%last}

' estimate equation - where the equation is y=c(1) + c(2)*x1 + c(3)*x2

eq1.ls y c x1 x2

' store coefficients

colplace(coefmat,eq1.@coefs,!j)

' 4-period-ahead forecast

%4pers = @otod(@dtoo(%start)+!i+!window-1) 'start point

%4pere = @otod(@dtoo(%start)+!i+!window+2) 'end point: %4pere - %4pers +1 = 4

if {%end} < {%4pere} then 'check whether the forecast end point is greater than the workfile end point

return

endif

' set smpl for forecasting period

smpl {%4pers} {%4pere}

' forecast with command *forecast* (see also *fit*)

eq1.forecast(f=na) yf

' set sampl to obtain the 4th period observation

smpl {%4pere} {%4pere}

' store forecasts

fcast = yf

next

smpl @all

show coefmat

show fcast.line

d(noerr) ser

EViews Esther

EViews Developer

Posts: 39

Joined: Fri Sep 03, 2010 7:57 amTop

hi im getting invalis reurn on "REturn". is there something worng with my eviews7?