Skip to content

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

Open
@sitmo

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

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