Hi Tom,
My aim is to estimate a VAR in DIFFERENCES and back out LEVELS forecasts and LEVELS standard errors, hence plot PI's for the forecasts of the ORIGINAL series.
From the above, which appears reasonable:
Code: Select all
seed 13939
cal(q) 2000:1
all 2012:4
* generate ORIGINAL series in LEVELS
set VCREDITSEns = %ran(1.0)
set TxImmo = %ran(1.0)
set IndPrixAncien = %ran(1.0)
set RDB = %ran(1.0)
prin / VCREDITSEns TxImmo IndPrixAncien RDB
* calculate DIFFERENCE series
dofor i = VCREDITSEns TxImmo IndPrixAncien RDB
set %s("d"+%l(i)) = i{0}-i{1}
end dofor s
prin / dVCREDITSEns dTxImmo dIndPrixAncien dRDB
* estimate VAR for DIFFERENCE series
system(model=dvar)
variables dVCREDITSEns dTxImmo dIndPrixAncien dRDB
lags 1 to 2
det constant
end(system)
estimate
errors(model=dvar,steps=8); * decomposition of variance for VAR
FORECAST(MODEL=dvar,FROM=2013:01,TO=2018:04,result=dforecast,stderrs=s,PRINT)
prin / dforecast(1) dforecast(2) dforecast(3) dforecast(4)
prin / s(1) s(2) s(3) s(4)
* Back-out forecasts in LEVELS for ORIGINAL series in LEVELS, having estimated VAR for DIFFERENCE series
dec vect[series] forecast(4)
set(first=dforecast(1)+vcreditsens{1}) forecast(1) 2013:1 2018:4 = dforecast(1)+forecast(1){1}
set(first=dforecast(2)+tximmo{1}) forecast(2) 2013:1 2018:4 = dforecast(2)+forecast(2){1}
set(first=dforecast(3)+indprixancien{1}) forecast(3) 2013:1 2018:4 = dforecast(3)+forecast(3){1}
set(first=dforecast(4)+rdb{1}) forecast(4) 2013:1 2018:4 = dforecast(4)+forecast(4){1}
prin / forecast(1) forecast(2) forecast(3) forecast(4)
I want to back-out forecast SE's in LEVELS for ORIGINAL series in LEVELS, having estimated VAR for DIFFERENCE series, as follows
Code: Select all
equation(identity,coeffs=||1.0,1.0||) idVCREDITSEnseq idVCREDITSEns
# idVCREDITSEns{1} dVCREDITSEns
equation(identity,coeffs=||1.0,1.0||) idTxImmoeq idTxImmo
# idTxImmo{1} dTxImmo
equation(identity,coeffs=||1.0,1.0||) idIndPrixAncieneq idIndPrixAncien
# idIndPrixAncien{1} dIndPrixAncien
equation(identity,coeffs=||1.0,1.0||) idRDBeq idRDB
# idRDB{1} dRDB
FORECAST(MODEL=dvar+idVCREDITSEnseq+idTxImmoeq+idIndPrixAncieneq+idRDBeq,NOSTATIC,RESULTS=COREFOR,STDERRS=COREERRORS,FROM=2013:1,TO=2018:04)
Equivalence's:
Code: Select all
* forecast's of DIFFERENCE series, same as dforecast(1), dforecast(2), dforecast(3), dforecast(4)
prin / COREFOR(1) COREFOR(2) COREFOR(3) COREFOR(4)
There is nothing in. Why?
Code: Select all
prin / COREFOR(5) COREFOR(6) COREFOR(7) COREFOR(8)
Are these the forecast SE's for the ORIGINAL series in LEVELS?
Code: Select all
prin / COREERRORS(5) COREERRORS(6) COREERRORS(7) COREERRORS(8)
Or these?
Code: Select all
prin / COREERRORS(1) COREERRORS(2) COREERRORS(3) COREERRORS(4)
However neither of these are equivalent to the forecast SE's for the DIFFERENCE series
thanks,
Amarjit