You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The reason it that the optimiser sometimes give solution where the constraint is equal to zero, or very close like 1E-10, and that will give a crazy large long-term variance. This seems to sometimes happen when the return data covers a period of ever increasing variance.
By adding an EPSILON to the constraint we can force the variance process to have a minimal amount of mean reversion, e.g. EPSILON=1E-3 would give a variance half life of at most 1000 days, which is reasonable to impose?
Alternatively, we could also set an upper-bound on the long-term variance?
Would it be possible to have a feature to set an EPSILON in the stationarity constraint?
Like:
1 - sum(alpha) - sum(beta) -0.5*sum(gamma) - EPSILON >= 0
The reason it that the optimiser sometimes give solution where the constraint is equal to zero, or very close like 1E-10, and that will give a crazy large long-term variance. This seems to sometimes happen when the return data covers a period of ever increasing variance.
By adding an EPSILON to the constraint we can force the variance process to have a minimal amount of mean reversion, e.g. EPSILON=1E-3 would give a variance half life of at most 1000 days, which is reasonable to impose?
Alternatively, we could also set an upper-bound on the long-term variance?
omega / [ 1 - sum(alpha) - sum(beta) - 0.5*sum(gamma) ] < max_LTV
edit: somewhere around here in the code
arch/arch/univariate/volatility.py
Line 1078 in a61dc7d
The text was updated successfully, but these errors were encountered: