SV-AR(1) model
Re: SV-AR(1) model
I've changed Estimation Options using my data in SV.RPF and get much better forecast lines. Performance measures are comparable with other risk algo's. I see no reason why the methodology cannot be applied to forecast VaR and ES. I'll try on more financial returns.
I'm aiming for multistep ahead: h=2, h=3, ... , h=T, saving the hth forecast, as with SKIPSAVE in FORECAST instruction. How with SV.RPF?
I'm aiming for multistep ahead: h=2, h=3, ... , h=T, saving the hth forecast, as with SKIPSAVE in FORECAST instruction. How with SV.RPF?
Re: SV-AR(1) model
You've already asked that on more than one occasion. SKIPSAVE is just a short cut (available only for FORECAST):
https://estima.com/webhelp/topics/forec ... egressions
https://estima.com/webhelp/topics/forec ... egressions
Re: SV-AR(1) model
I have no problem generating nn steps ahead forecast with nn=1
set(first=states(t)(1)) loghfore tend+1+jj tend+nn+jj = phi*loghfore{1}+gammax*(1-phi)
I'm not certain this is the correct way to multi-step ahead forward in SV modelling (it's fine within the regressions context of the link).
comp nn=3
compute rhat1(tend+nn+jj-2)=loghfore(tend+nn+jj-2)
compute rhat2(tend+nn+jj-1)=loghfore(tend+nn+jj-1)
compute rhat3(tend+nn+jj)=loghfore(tend+nn+jj)
I have no problem with exp'ing up (and adjusting for SCALE) for Day 1
set efy_1 WE+1+1 %allocend()+1 = exp(rhat1) * SCALE * SCALE
Can I do these using SV modelling w.r.t. forecasting VaR and ES ?
set sVaR_1 WE+1+1 %allocend()+1 = -%invnormal(.01) * sqrt(efy_1)
set sES_1 WE+1+1 %allocend()+1 = %density(%invnormal(.01))/(.01) * sqrt(efy_1)
The reason why is because whilst the VR is close-ish to 1 for 1 Day 1 forecasts, the VR's get much larger for Day 2 and Day 3. That I don't think is correct, the VR's should get smaller.
If I can compute VaR and ES from the rhat's, then an easy way to generate the multi-steps would be sqrt-of-time rule which assumes IID, finite variance. But I'm now thinking some kind of simulation instead using (based on) the 1-step's ahead. Or maybe the simulation approach as in Todd's paper.
set(first=states(t)(1)) loghfore tend+1+jj tend+nn+jj = phi*loghfore{1}+gammax*(1-phi)
I'm not certain this is the correct way to multi-step ahead forward in SV modelling (it's fine within the regressions context of the link).
comp nn=3
compute rhat1(tend+nn+jj-2)=loghfore(tend+nn+jj-2)
compute rhat2(tend+nn+jj-1)=loghfore(tend+nn+jj-1)
compute rhat3(tend+nn+jj)=loghfore(tend+nn+jj)
I have no problem with exp'ing up (and adjusting for SCALE) for Day 1
set efy_1 WE+1+1 %allocend()+1 = exp(rhat1) * SCALE * SCALE
Can I do these using SV modelling w.r.t. forecasting VaR and ES ?
set sVaR_1 WE+1+1 %allocend()+1 = -%invnormal(.01) * sqrt(efy_1)
set sES_1 WE+1+1 %allocend()+1 = %density(%invnormal(.01))/(.01) * sqrt(efy_1)
The reason why is because whilst the VR is close-ish to 1 for 1 Day 1 forecasts, the VR's get much larger for Day 2 and Day 3. That I don't think is correct, the VR's should get smaller.
If I can compute VaR and ES from the rhat's, then an easy way to generate the multi-steps would be sqrt-of-time rule which assumes IID, finite variance. But I'm now thinking some kind of simulation instead using (based on) the 1-step's ahead. Or maybe the simulation approach as in Todd's paper.
Re: SV-AR(1) model
Are these correct?
LONG
set(first=states(t)(1)) loghfore tend+1+jj tend+nn+jj = phi*loghfore{1}+gammax*(1-phi)
SHORT
set(first=states(t)(1)) loghfore tend+1+jj tend+nn+jj = phi*loghfore{1}-gammax*(1-phi)
And then:
LONG
set sVaR_1 WE+1+1 %allocend()+1 = -%invnormal(.01) * sqrt(efy_1)
set sES_1 WE+1+1 %allocend()+1 = + %density(%invnormal(.01))/(.01) * sqrt(efy_1)
SHORT
set sVaR_1 WE+1+1 %allocend()+1 = +%invnormal(.99) * sqrt(efy_1); * SHORT[right-tail]
set sES_1 WE+1+1 %allocend()+1 = + %density(%invnormal(.99))/(.01) * sqrt(efy_1); * SHORT[right-tail]
LONG
set(first=states(t)(1)) loghfore tend+1+jj tend+nn+jj = phi*loghfore{1}+gammax*(1-phi)
SHORT
set(first=states(t)(1)) loghfore tend+1+jj tend+nn+jj = phi*loghfore{1}-gammax*(1-phi)
And then:
LONG
set sVaR_1 WE+1+1 %allocend()+1 = -%invnormal(.01) * sqrt(efy_1)
set sES_1 WE+1+1 %allocend()+1 = + %density(%invnormal(.01))/(.01) * sqrt(efy_1)
SHORT
set sVaR_1 WE+1+1 %allocend()+1 = +%invnormal(.99) * sqrt(efy_1); * SHORT[right-tail]
set sES_1 WE+1+1 %allocend()+1 = + %density(%invnormal(.99))/(.01) * sqrt(efy_1); * SHORT[right-tail]
Re: SV-AR(1) model
A standard GARCH model will only be "asymmetrical" because of the non-zero mean. (Normal, t and GED are all symmetrical about their means). In the SV model, the mean is typically pulled before estimation so you would have to take that into account. (And again, this is not a model which is designed to do what you want).