Skip to content

[API] scikit-learn-like API using scikit-base scaffolding #711

@fkiraly

Description

@fkiraly

I think it would be best if pyportfolioopt drove closer to scikit-learn, based on scikit-base. This would also enable more natural and direct API integration with time series AI frameworks such as sktime, optimization frameworks like hyperactive, and, vice versa, use of time series covariance estimator components from pyportfolioopt or similar in sktime etc.

Key assumptions about these frameworks are dataclass-like __init__, and strategy pattern applied throughout; while data input does not happen in __init__. Currently, some of these assumptions are violated in different parts of the code base, arising most likely from ML de Prado's very erratic software design, in his famous book (good for methods but not good for API design...).

One topic to consider is also downwards compatibility - we do not want to break user code while moving closer to scikit-base.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions