API Reference¶
The public interface of fast_minimum_variance:
fast_minimum_variance
¶
fast_minimum_variance — fast solvers for the minimum-variance portfolio.
Problem(X, target=None, A=None, b=None, C=None, d=None, alpha=0.0, rho=0.0, mu=None)
¶
Create a portfolio optimisation problem.
Returns a :class:_MinVarProblem (shrinking active-set) when no custom
constraints are supplied, or a :class:_Problem (growing active-set) when
any of A, b, C, d are provided.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
X
|
ndarray
|
Returns matrix of shape |
required |
target
|
ndarray | None
|
Optional |
None
|
A
|
ndarray | None
|
Equality constraint matrix |
None
|
b
|
ndarray | None
|
Equality RHS |
None
|
C
|
ndarray | None
|
Inequality constraint matrix |
None
|
d
|
ndarray | None
|
Inequality RHS |
None
|
alpha
|
float
|
Shrinkage intensity; only active when |
0.0
|
rho
|
float
|
Return tilt strength (Markowitz mean-variance). |
0.0
|
mu
|
ndarray | None
|
Expected returns vector |
None
|
Returns:
| Type | Description |
|---|---|
|
A solver instance with |
|
|
|
|
|
|
Examples:
>>> import numpy as np
>>> X = np.random.default_rng(42).standard_normal((500, 20))
>>> w, _ = Problem(X).solve_kkt()
>>> float(round(w.sum(), 8))
1.0
>>> bool((w >= 0).all())
True