Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can we introduce an user-defined optional lower-bound in the stationary constraint of the variance process? #724

Open
sitmo opened this issue May 11, 2024 · 0 comments

Comments

@sitmo
Copy link

sitmo commented May 11, 2024

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

def constraints(self) -> tuple[Float64Array, Float64Array]:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant