Skip to content

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

Description

@sitmo

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]:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions