bashtage / arch

ARCH models in Python
Other
1.33k stars 248 forks source link

Suggestion: Introduce parameter inverse transformation after fit to rescaled time series #748

Open Kayne88 opened 6 days ago

Kayne88 commented 6 days ago

Hello,

Excellent work with the library. Has been of great use so far. One thing which required some time to pin down is that parameter estimates are for the rescaled timeseries and not for the original one.

If one wants to calculate analytical quantities based on the parameters or simulate trajectories, they won't resemble the original ones.

It could be an improvement to return the inverse scaled parameter estimates.

For example for a AR(1)+GARCH(1,1) process: c = c_tilde/C phi = phi_tilde omega = omega_tilde/C*2 alpha = alpha_tilde beta = beta_tilde where _tilde denotes the estimates for the scaled process

Cheers

bashtage commented 5 days ago

This is a good idea. I think a slightly better one would be to pass in a scale parameter to the LL which would the rescale the intercept only, which is easy to undo.

bashtage commented 5 days ago

The challenge with descaling is that the effect on the intercept depends on the model, and is non trivial when the model is not linear in the squares, e.g., EGARCH).