From 6506d90703e561a61bebfcc1630b7edd7bfa5332 Mon Sep 17 00:00:00 2001
From: tschm Cholesky decomposition with numpy Compute the cholesky decomposition of a covariance matrix Extract valid submatrix of a matrix Construct the valid subset of matrix (correlation) matrix Compute the cholesky decomposition of a covariance matrix Construct the valid subset of matrix (correlation) matrix
:param matrix: n x n matrixReset a large matrix
68.3 ms ± 66.2 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
+
100 ms ± 980 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
Reset a large matrix
54.4 ms ± 100 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
+
72 ms ± 1.09 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
Reset a large matrix
15.5 µs ± 92.4 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)
+
20 µs ± 742 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
Long only 1/n portfolio
-
API Reference[1].
-
linalg
-markowitz
markowitz.models
markowitz.models.bounds
API Reference
markowitz.types
linalg
+
diff --git a/sphinx/autoapi/linalg/cholesky/index.html b/sphinx/autoapi/linalg/cholesky/index.html
index eaf8d0e7..91b8f884 100644
--- a/sphinx/autoapi/linalg/cholesky/index.html
+++ b/sphinx/autoapi/linalg/cholesky/index.html
@@ -51,6 +51,7 @@
+
diff --git a/sphinx/autoapi/linalg/index.html b/sphinx/autoapi/linalg/index.html
index 89da68a5..b5524fcc 100644
--- a/sphinx/autoapi/linalg/index.html
+++ b/sphinx/autoapi/linalg/index.html
@@ -23,7 +23,7 @@
-
+
@@ -51,6 +51,7 @@
markowitz
linalg
linalg.cholesky
markowitz
@@ -128,17 +128,17 @@
+
markowitz
linalg
linalg.cholesky
markowitz
Classes
Functions
-
-
+
-
+cholesky
(→ cvx.linalg.types.Matrix)
-
+
+valid
(→ tuple[cvx.linalg.types.Matrix, ...)
@@ -189,7 +189,7 @@ Functions
+
diff --git a/sphinx/autoapi/linalg/random/index.html b/sphinx/autoapi/linalg/random/index.html
index 54068e65..dd511a4b 100644
--- a/sphinx/autoapi/linalg/random/index.html
+++ b/sphinx/autoapi/linalg/random/index.html
@@ -51,6 +51,7 @@
markowitz
linalg
linalg.cholesky
markowitz
+
diff --git a/sphinx/autoapi/linalg/types/index.html b/sphinx/autoapi/linalg/types/index.html
index ad2014e7..7ba9a1b4 100644
--- a/sphinx/autoapi/linalg/types/index.html
+++ b/sphinx/autoapi/linalg/types/index.html
@@ -51,6 +51,7 @@
markowitz
linalg
linalg.cholesky
markowitz
+
diff --git a/sphinx/autoapi/linalg/valid/index.html b/sphinx/autoapi/linalg/valid/index.html
index 5bbe6f87..edede6a5 100644
--- a/sphinx/autoapi/linalg/valid/index.html
+++ b/sphinx/autoapi/linalg/valid/index.html
@@ -22,7 +22,6 @@
-
@@ -51,6 +50,7 @@
markowitz
linalg
linalg.cholesky
markowitz
+
@@ -130,7 +129,6 @@ markowitz
linalg
linalg.cholesky
markowitz
Functions
Previous
- Next
diff --git a/sphinx/autoapi/markowitz/builder/index.html b/sphinx/autoapi/markowitz/builder/index.html
index c86c291a..d679b687 100644
--- a/sphinx/autoapi/markowitz/builder/index.html
+++ b/sphinx/autoapi/markowitz/builder/index.html
@@ -51,7 +51,6 @@
diff --git a/sphinx/autoapi/markowitz/cvxerror/index.html b/sphinx/autoapi/markowitz/cvxerror/index.html
index f168c795..6afe9208 100644
--- a/sphinx/autoapi/markowitz/cvxerror/index.html
+++ b/sphinx/autoapi/markowitz/cvxerror/index.html
@@ -51,7 +51,6 @@
-
linalg
markowitz
@@ -64,6 +63,7 @@
linalg
diff --git a/sphinx/autoapi/markowitz/index.html b/sphinx/autoapi/markowitz/index.html
index 90db32f8..ed058c43 100644
--- a/sphinx/autoapi/markowitz/index.html
+++ b/sphinx/autoapi/markowitz/index.html
@@ -23,7 +23,7 @@
-
+
@@ -51,7 +51,6 @@
-
linalg
markowitz
@@ -64,6 +63,7 @@
linalg
@@ -159,7 +159,7 @@
-
linalg
markowitz
markowitz.models
linalg
Submodules
- Previous
+ Previous
Next
diff --git a/sphinx/autoapi/markowitz/models/bounds/index.html b/sphinx/autoapi/markowitz/models/bounds/index.html
index ef794bf4..b425c543 100644
--- a/sphinx/autoapi/markowitz/models/bounds/index.html
+++ b/sphinx/autoapi/markowitz/models/bounds/index.html
@@ -51,7 +51,6 @@
-
linalg
markowitz
@@ -64,6 +63,7 @@
linalg
-
diff --git a/sphinx/autoapi/markowitz/models/expected_returns/index.html b/sphinx/autoapi/markowitz/models/expected_returns/index.html
index a694d986..f28b0e56 100644
--- a/sphinx/autoapi/markowitz/models/expected_returns/index.html
+++ b/sphinx/autoapi/markowitz/models/expected_returns/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/models/holding_costs/index.html b/sphinx/autoapi/markowitz/models/holding_costs/index.html
index 1cb8de51..2a497e2b 100644
--- a/sphinx/autoapi/markowitz/models/holding_costs/index.html
+++ b/sphinx/autoapi/markowitz/models/holding_costs/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/models/index.html b/sphinx/autoapi/markowitz/models/index.html
index 0b11afa8..a802b459 100644
--- a/sphinx/autoapi/markowitz/models/index.html
+++ b/sphinx/autoapi/markowitz/models/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/models/trading_costs/index.html b/sphinx/autoapi/markowitz/models/trading_costs/index.html
index dbe3dad7..8ea495b7 100644
--- a/sphinx/autoapi/markowitz/models/trading_costs/index.html
+++ b/sphinx/autoapi/markowitz/models/trading_costs/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/names/index.html b/sphinx/autoapi/markowitz/names/index.html
index 0d359fb9..1cabe469 100644
--- a/sphinx/autoapi/markowitz/names/index.html
+++ b/sphinx/autoapi/markowitz/names/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
diff --git a/sphinx/autoapi/markowitz/portfolios/index.html b/sphinx/autoapi/markowitz/portfolios/index.html
index bd0d15ee..5237828c 100644
--- a/sphinx/autoapi/markowitz/portfolios/index.html
+++ b/sphinx/autoapi/markowitz/portfolios/index.html
@@ -51,7 +51,6 @@
-
linalg
markowitz
@@ -64,6 +63,7 @@
linalg
-
diff --git a/sphinx/autoapi/markowitz/portfolios/max_sharpe/index.html b/sphinx/autoapi/markowitz/portfolios/max_sharpe/index.html
index 547eba55..2ddfd3c7 100644
--- a/sphinx/autoapi/markowitz/portfolios/max_sharpe/index.html
+++ b/sphinx/autoapi/markowitz/portfolios/max_sharpe/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/portfolios/min_var/index.html b/sphinx/autoapi/markowitz/portfolios/min_var/index.html
index 406c1352..351058a6 100644
--- a/sphinx/autoapi/markowitz/portfolios/min_var/index.html
+++ b/sphinx/autoapi/markowitz/portfolios/min_var/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/portfolios/soft_risk/index.html b/sphinx/autoapi/markowitz/portfolios/soft_risk/index.html
index c60cd822..8d1fa497 100644
--- a/sphinx/autoapi/markowitz/portfolios/soft_risk/index.html
+++ b/sphinx/autoapi/markowitz/portfolios/soft_risk/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/portfolios/utils/index.html b/sphinx/autoapi/markowitz/portfolios/utils/index.html
index 3f44ce0c..8360b888 100644
--- a/sphinx/autoapi/markowitz/portfolios/utils/index.html
+++ b/sphinx/autoapi/markowitz/portfolios/utils/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/risk/cvar/cvar/index.html b/sphinx/autoapi/markowitz/risk/cvar/cvar/index.html
index 8bdba25a..305ad882 100644
--- a/sphinx/autoapi/markowitz/risk/cvar/cvar/index.html
+++ b/sphinx/autoapi/markowitz/risk/cvar/cvar/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/risk/cvar/index.html b/sphinx/autoapi/markowitz/risk/cvar/index.html
index 54fafc02..59072e0d 100644
--- a/sphinx/autoapi/markowitz/risk/cvar/index.html
+++ b/sphinx/autoapi/markowitz/risk/cvar/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/risk/factor/factor/index.html b/sphinx/autoapi/markowitz/risk/factor/factor/index.html
index 54d05439..83c98a5f 100644
--- a/sphinx/autoapi/markowitz/risk/factor/factor/index.html
+++ b/sphinx/autoapi/markowitz/risk/factor/factor/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/risk/factor/index.html b/sphinx/autoapi/markowitz/risk/factor/index.html
index 1252fb69..5f9dcafa 100644
--- a/sphinx/autoapi/markowitz/risk/factor/index.html
+++ b/sphinx/autoapi/markowitz/risk/factor/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/risk/index.html b/sphinx/autoapi/markowitz/risk/index.html
index 003ffa2f..f8646db7 100644
--- a/sphinx/autoapi/markowitz/risk/index.html
+++ b/sphinx/autoapi/markowitz/risk/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/risk/sample/index.html b/sphinx/autoapi/markowitz/risk/sample/index.html
index 64fbf69f..392a1ed2 100644
--- a/sphinx/autoapi/markowitz/risk/sample/index.html
+++ b/sphinx/autoapi/markowitz/risk/sample/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/risk/sample/sample/index.html b/sphinx/autoapi/markowitz/risk/sample/sample/index.html
index 0466d40a..4fb37bc4 100644
--- a/sphinx/autoapi/markowitz/risk/sample/sample/index.html
+++ b/sphinx/autoapi/markowitz/risk/sample/sample/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/autoapi/markowitz/types/index.html b/sphinx/autoapi/markowitz/types/index.html
index a3bbfcee..0e5fc643 100644
--- a/sphinx/autoapi/markowitz/types/index.html
+++ b/sphinx/autoapi/markowitz/types/index.html
@@ -22,6 +22,7 @@
+
@@ -50,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
@@ -135,6 +136,7 @@
-
linalg
markowitz
@@ -63,6 +63,7 @@
linalg
Module Contents
Previous
+ Next
diff --git a/sphinx/autoapi/markowitz/utils/fill/index.html b/sphinx/autoapi/markowitz/utils/fill/index.html
index 49524ce8..3987584f 100644
--- a/sphinx/autoapi/markowitz/utils/fill/index.html
+++ b/sphinx/autoapi/markowitz/utils/fill/index.html
@@ -51,7 +51,6 @@
-
diff --git a/sphinx/autoapi/markowitz/utils/index.html b/sphinx/autoapi/markowitz/utils/index.html
index 0994980b..7a6509c4 100644
--- a/sphinx/autoapi/markowitz/utils/index.html
+++ b/sphinx/autoapi/markowitz/utils/index.html
@@ -51,7 +51,6 @@
linalg
markowitz
markowitz.models
linalg
-
diff --git a/sphinx/index.html b/sphinx/index.html
index 539b7d5a..4f30e384 100644
--- a/sphinx/index.html
+++ b/sphinx/index.html
@@ -87,16 +87,16 @@ linalg
markowitz
markowitz.models
linalg
API Documentation
diff --git a/sphinx/searchindex.js b/sphinx/searchindex.js
index 4f503439..b85f093f 100644
--- a/sphinx/searchindex.js
+++ b/sphinx/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["autoapi/index", "autoapi/linalg/cholesky/index", "autoapi/linalg/index", "autoapi/linalg/pca/index", "autoapi/linalg/random/index", "autoapi/linalg/types/index", "autoapi/linalg/valid/index", "autoapi/markowitz/builder/index", "autoapi/markowitz/cvxerror/index", "autoapi/markowitz/index", "autoapi/markowitz/model/index", "autoapi/markowitz/models/bounds/index", "autoapi/markowitz/models/expected_returns/index", "autoapi/markowitz/models/holding_costs/index", "autoapi/markowitz/models/index", "autoapi/markowitz/models/trading_costs/index", "autoapi/markowitz/names/index", "autoapi/markowitz/portfolios/index", "autoapi/markowitz/portfolios/max_sharpe/index", "autoapi/markowitz/portfolios/min_var/index", "autoapi/markowitz/portfolios/soft_risk/index", "autoapi/markowitz/portfolios/utils/index", "autoapi/markowitz/risk/cvar/cvar/index", "autoapi/markowitz/risk/cvar/index", "autoapi/markowitz/risk/factor/factor/index", "autoapi/markowitz/risk/factor/index", "autoapi/markowitz/risk/index", "autoapi/markowitz/risk/sample/index", "autoapi/markowitz/risk/sample/sample/index", "autoapi/markowitz/types/index", "autoapi/markowitz/utils/fill/index", "autoapi/markowitz/utils/index", "index", "license"], "filenames": ["autoapi/index.rst", "autoapi/linalg/cholesky/index.rst", "autoapi/linalg/index.rst", "autoapi/linalg/pca/index.rst", "autoapi/linalg/random/index.rst", "autoapi/linalg/types/index.rst", "autoapi/linalg/valid/index.rst", "autoapi/markowitz/builder/index.rst", "autoapi/markowitz/cvxerror/index.rst", "autoapi/markowitz/index.rst", "autoapi/markowitz/model/index.rst", "autoapi/markowitz/models/bounds/index.rst", "autoapi/markowitz/models/expected_returns/index.rst", "autoapi/markowitz/models/holding_costs/index.rst", "autoapi/markowitz/models/index.rst", "autoapi/markowitz/models/trading_costs/index.rst", "autoapi/markowitz/names/index.rst", "autoapi/markowitz/portfolios/index.rst", "autoapi/markowitz/portfolios/max_sharpe/index.rst", "autoapi/markowitz/portfolios/min_var/index.rst", "autoapi/markowitz/portfolios/soft_risk/index.rst", "autoapi/markowitz/portfolios/utils/index.rst", "autoapi/markowitz/risk/cvar/cvar/index.rst", "autoapi/markowitz/risk/cvar/index.rst", "autoapi/markowitz/risk/factor/factor/index.rst", "autoapi/markowitz/risk/factor/index.rst", "autoapi/markowitz/risk/index.rst", "autoapi/markowitz/risk/sample/index.rst", "autoapi/markowitz/risk/sample/sample/index.rst", "autoapi/markowitz/types/index.rst", "autoapi/markowitz/utils/fill/index.rst", "autoapi/markowitz/utils/index.rst", "index.rst", "license.rst"], "titles": ["API Reference", "
linalg.cholesky
", "linalg
", "linalg.pca
", "linalg.random
", "linalg.types
", "linalg.valid
", "markowitz.builder
", "markowitz.cvxerror
", "markowitz
", "markowitz.model
", "markowitz.models.bounds
", "markowitz.models.expected_returns
", "markowitz.models.holding_costs
", "markowitz.models
", "markowitz.models.trading_costs
", "markowitz.names
", "markowitz.portfolios
", "markowitz.portfolios.max_sharpe
", "markowitz.portfolios.min_var
", "markowitz.portfolios.soft_risk
", "markowitz.portfolios.utils
", "markowitz.risk.cvar.cvar
", "markowitz.risk.cvar
", "markowitz.risk.factor.factor
", "markowitz.risk.factor
", "markowitz.risk
", "markowitz.risk.sample
", "markowitz.risk.sample.sample
", "markowitz.types
", "markowitz.utils.fill
", "markowitz.utils
", "API Documentation", "License"], "terms": {"thi": 0, "page": 0, "contain": 0, "auto": 0, "gener": [0, 7, 21], "document": 0, "1": [0, 18, 19, 20], "linalg": [0, 32], "choleski": [0, 2, 16, 22, 23, 26, 27, 28], "pca": [0, 2], "random": [0, 2], "type": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 15, 22, 23, 24, 25, 26, 27, 28, 30], "valid": [0, 2], "markowitz": [0, 32], "model": [0, 7, 9, 22, 23, 24, 25, 26, 27, 28], "bound": [0, 9, 14], "expected_return": [0, 9, 14], "holding_cost": [0, 9, 14, 16], "trading_cost": [0, 9, 14], "portfolio": [0, 9, 10, 12, 13, 15], "max_sharp": [0, 9, 17], "min_var": [0, 9, 17], "soft_risk": [0, 9, 17], "util": [0, 9, 17], "risk": [0, 7, 9, 10, 11, 12, 13, 15, 16], "cvar": [0, 9, 26], "factor": [0, 7, 9, 26], "sampl": [0, 9, 26], "fill": [0, 9, 31], "builder": [0, 9, 18, 19, 20], "cvxerror": [0, 9], "name": [0, 9, 11, 21], "creat": 0, "sphinx": 0, "autoapi": 0, "decomposit": [1, 2, 22, 23, 26, 27, 28], "numpi": [1, 3], "cov": [1, 2, 3, 22, 23, 26, 27, 28], "cvx": [1, 2, 3, 4, 6, 7, 10, 11, 12, 13, 15, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 30], "matrix": [1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 15, 22, 23, 24, 25, 26, 27, 28, 29, 30], "sourc": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "comput": [1, 2, 22, 23, 24, 25, 26, 27, 28], "covari": [1, 2, 28], "modul": 2, "properti": [2, 3, 7, 18, 19, 20], "explained_vari": [2, 3], "systematic_return": [2, 3], "idiosyncratic_return": [2, 3], "idiosyncratic_vola": [2, 3, 16], "return": [2, 3, 6, 7, 10, 11, 12, 16, 18, 19, 20, 24, 25, 26, 27, 28], "n_compon": [2, 3], "int": [2, 3, 4, 7, 10, 22, 23, 24, 25, 26, 30], "0": [2, 3, 7, 18, 19, 20, 22, 23, 24, 25, 26], "__post_init__": [2, 3, 7, 11, 12, 13, 15, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28], "none": [2, 3, 7, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "tupl": [2, 6, 7, 21], "construct": [2, 6], "subset": [2, 6], "correl": [2, 6], "param": [2, 6], "n": [2, 4, 6], "x": [2, 6, 21, 30], "boolean": [2, 6], "vector": [2, 6, 30], "indic": [2, 6], "row": [2, 6, 22, 23, 26, 30], "column": [2, 6], "i": [2, 6], "analysi": 3, "rand_cov": 4, "typing_extens": [5, 29], "typealia": [5, 29], "extract": 6, "submatrix": 6, "deseri": 7, "problem_fil": 7, "str": [7, 11, 21], "byte": 7, "o": 7, "pathlik": 7, "ani": [7, 21], "_problem": 7, "valu": [7, 22, 23, 26], "float": [7, 22, 23, 26], "data": [7, 10, 11, 12, 13, 15, 22, 23, 24, 25, 26, 27, 28], "paramet": [7, 10, 29], "variabl": [7, 10, 11, 12, 13, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "weight": [7, 10, 11, 12, 13, 15, 16], "factor_weight": [7, 16], "problem": 7, "cvxpy": [7, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "dict": 7, "updat": [7, 10, 11, 12, 13, 15, 22, 23, 24, 25, 26, 27, 28], "kwarg": [7, 10, 11, 12, 13, 15, 22, 23, 24, 25, 26, 27, 28], "solv": 7, "solver": 7, "cp": [7, 10], "eco": 7, "is_dpp": 7, "bool": 7, "serial": 7, "file": [7, 29], "abstract": [7, 10, 11], "object": [7, 18, 19, 20], "express": [7, 10, 11, 12, 13, 15, 21, 22, 23, 24, 25, 26, 27, 28, 29], "asset": [7, 10], "constraint": [7, 10, 11, 18, 19, 24, 25, 26, 27, 28, 29], "build": 7, "except": 8, "base": [8, 10, 11, 12, 13, 15, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28], "common": 8, "class": 8, "all": 8, "non": 8, "exit": 8, "abc": 10, "estim": [10, 11, 12, 13, 15, 22, 23, 24, 25, 26, 27, 28], "varianc": [10, 12, 13, 15, 24, 25, 26], "given": [10, 12, 13, 15], "acting_on": 11, "No": 11, "_f": 11, "string": 11, "expect": 12, "expectedreturn": 12, "hold": 13, "cost": [13, 15], "holdingcost": 13, "trade": 15, "tradingcost": 15, "datanam": 16, "mu": [16, 20], "mu_uncertainti": 16, "chol": 16, "vola_uncertainti": 16, "lower_bound_asset": 16, "lower_asset": 16, "lower_bound_factor": 16, "lower_factor": 16, "upper_bound_asset": 16, "upper_asset": 16, "upper_bound_factor": 16, "upper_factor": 16, "exposur": 16, "idiosyncratic_vola_uncertainti": 16, "systematic_vola_uncertainti": 16, "_ab": 16, "modelnam": 16, "bound_asset": 16, "bound_factor": 16, "constraintnam": 16, "budget": 16, "concentr": 16, "long_onli": 16, "leverag": 16, "parameternam": 16, "sigma_max": [16, 20], "omega": [16, 20], "sigma_target": [16, 20], "maxsharp": 18, "minim": [18, 19], "standard": [18, 19], "deviat": [18, 19], "subject": [18, 19, 20], "set": [18, 19], "min": [18, 19], "stddev": [18, 19], "r_p": [18, 19], "": [18, 19], "t": [18, 19, 20], "w_p": [18, 19], "sum": [18, 19], "function": [18, 19, 20], "minvar": 19, "softrisk": 20, "maxim": 20, "w": 20, "sigma": 20, "_": 20, "_sigma": 20, "_sigma_target_times_omega": 20, "callbackparam": 20, "approx": 21, "target": 21, "pm": 21, "condit": [22, 23, 26], "alpha": [22, 23, 26], "95": [22, 23, 26], "self": [22, 23, 26, 27, 28], "factormodel": [24, 25, 26], "total": [24, 25, 26], "_residual_risk": [24, 25, 26], "_systematic_risk": [24, 25, 26], "samplecovari": [26, 27, 28], "fill_vector": 30, "num": 30, "length": 30, "fill_matrix": 30, "col": 30, "size": 30, "licens": 32, "refer": 32, "submodul": 32, "packag": 32, "content": 32, "subpackag": 32, "copyright": 33, "c": 33, "2023": 33, "stanford": 33, "univers": 33, "convex": 33, "optim": 33, "group": 33}, "objects": {"": [[2, 0, 0, "-", "linalg"], [9, 0, 0, "-", "markowitz"]], "linalg": [[2, 1, 1, "", "PCA"], [2, 5, 1, "", "cholesky"], [1, 0, 0, "-", "cholesky"], [3, 0, 0, "-", "pca"], [4, 0, 0, "-", "random"], [5, 0, 0, "-", "types"], [6, 0, 0, "-", "valid"]], "linalg.PCA": [[2, 2, 1, "", "__post_init__"], [2, 3, 1, "", "cov"], [2, 3, 1, "", "explained_variance"], [2, 3, 1, "", "idiosyncratic_returns"], [2, 3, 1, "", "idiosyncratic_vola"], [2, 4, 1, "", "n_components"], [2, 4, 1, "", "returns"], [2, 3, 1, "", "systematic_returns"]], "linalg.cholesky": [[1, 5, 1, "", "cholesky"]], "linalg.pca": [[3, 1, 1, "", "PCA"]], "linalg.pca.PCA": [[3, 2, 1, "", "__post_init__"], [3, 3, 1, "", "cov"], [3, 3, 1, "", "explained_variance"], [3, 3, 1, "", "idiosyncratic_returns"], [3, 3, 1, "", "idiosyncratic_vola"], [3, 4, 1, "", "n_components"], [3, 4, 1, "", "returns"], [3, 3, 1, "", "systematic_returns"]], "linalg.random": [[4, 5, 1, "", "rand_cov"]], "linalg.types": [[5, 6, 1, "", "Matrix"]], "linalg.valid": [[6, 5, 1, "", "valid"]], "markowitz": [[7, 0, 0, "-", "builder"], [8, 0, 0, "-", "cvxerror"], [10, 0, 0, "-", "model"], [14, 0, 0, "-", "models"], [16, 0, 0, "-", "names"], [17, 0, 0, "-", "portfolios"], [26, 0, 0, "-", "risk"], [29, 0, 0, "-", "types"], [31, 0, 0, "-", "utils"]], "markowitz.builder": [[7, 1, 1, "", "Builder"], [7, 1, 1, "", "_Problem"], [7, 5, 1, "", "deserialize"]], "markowitz.builder.Builder": [[7, 2, 1, "", "__post_init__"], [7, 4, 1, "", "assets"], [7, 2, 1, "", "build"], [7, 4, 1, "", "constraints"], [7, 3, 1, "", "factor_weights"], [7, 4, 1, "", "factors"], [7, 4, 1, "", "model"], [7, 3, 1, "", "objective"], [7, 4, 1, "", "parameter"], [7, 3, 1, "", "risk"], [7, 4, 1, "", "variables"], [7, 3, 1, "", "weights"]], "markowitz.builder._Problem": [[7, 3, 1, "", "data"], [7, 3, 1, "", "factor_weights"], [7, 2, 1, "", "is_dpp"], [7, 4, 1, "", "model"], [7, 3, 1, "", "parameter"], [7, 4, 1, "", "problem"], [7, 2, 1, "", "serialize"], [7, 2, 1, "", "solve"], [7, 2, 1, "", "update"], [7, 3, 1, "", "value"], [7, 3, 1, "", "variables"], [7, 3, 1, "", "weights"]], "markowitz.cvxerror": [[8, 7, 1, "", "CvxError"]], "markowitz.model": [[10, 1, 1, "", "Model"]], "markowitz.model.Model": [[10, 4, 1, "", "assets"], [10, 2, 1, "", "constraints"], [10, 4, 1, "", "data"], [10, 2, 1, "", "estimate"], [10, 4, 1, "", "parameter"], [10, 2, 1, "", "update"]], "markowitz.models": [[11, 0, 0, "-", "bounds"], [12, 0, 0, "-", "expected_returns"], [13, 0, 0, "-", "holding_costs"], [15, 0, 0, "-", "trading_costs"]], "markowitz.models.bounds": [[11, 1, 1, "", "Bounds"]], "markowitz.models.bounds.Bounds": [[11, 2, 1, "", "__post_init__"], [11, 2, 1, "", "_f"], [11, 4, 1, "", "acting_on"], [11, 2, 1, "", "constraints"], [11, 2, 1, "", "estimate"], [11, 4, 1, "", "name"], [11, 2, 1, "", "update"]], "markowitz.models.expected_returns": [[12, 1, 1, "", "ExpectedReturns"]], "markowitz.models.expected_returns.ExpectedReturns": [[12, 2, 1, "", "__post_init__"], [12, 2, 1, "", "estimate"], [12, 2, 1, "", "update"]], "markowitz.models.holding_costs": [[13, 1, 1, "", "HoldingCosts"]], "markowitz.models.holding_costs.HoldingCosts": [[13, 2, 1, "", "__post_init__"], [13, 2, 1, "", "estimate"], [13, 2, 1, "", "update"]], "markowitz.models.trading_costs": [[15, 1, 1, "", "TradingCosts"]], "markowitz.models.trading_costs.TradingCosts": [[15, 2, 1, "", "__post_init__"], [15, 2, 1, "", "estimate"], [15, 2, 1, "", "update"]], "markowitz.names": [[16, 1, 1, "", "ConstraintName"], [16, 1, 1, "", "DataNames"], [16, 1, 1, "", "ModelName"], [16, 1, 1, "", "ParameterName"]], "markowitz.names.ConstraintName": [[16, 4, 1, "", "BUDGET"], [16, 4, 1, "", "CONCENTRATION"], [16, 4, 1, "", "LEVERAGE"], [16, 4, 1, "", "LONG_ONLY"], [16, 4, 1, "", "RISK"]], "markowitz.names.DataNames": [[16, 4, 1, "", "CHOLESKY"], [16, 4, 1, "", "EXPOSURE"], [16, 4, 1, "", "FACTOR_WEIGHTS"], [16, 4, 1, "", "HOLDING_COSTS"], [16, 4, 1, "", "IDIOSYNCRATIC_VOLA"], [16, 4, 1, "", "IDIOSYNCRATIC_VOLA_UNCERTAINTY"], [16, 4, 1, "", "LOWER_BOUND_ASSETS"], [16, 4, 1, "", "LOWER_BOUND_FACTORS"], [16, 4, 1, "", "MU"], [16, 4, 1, "", "MU_UNCERTAINTY"], [16, 4, 1, "", "RETURNS"], [16, 4, 1, "", "SYSTEMATIC_VOLA_UNCERTAINTY"], [16, 4, 1, "", "UPPER_BOUND_ASSETS"], [16, 4, 1, "", "UPPER_BOUND_FACTORS"], [16, 4, 1, "", "VOLA_UNCERTAINTY"], [16, 4, 1, "", "WEIGHTS"], [16, 4, 1, "", "_ABS"]], "markowitz.names.ModelName": [[16, 4, 1, "", "BOUND_ASSETS"], [16, 4, 1, "", "BOUND_FACTORS"], [16, 4, 1, "", "RETURN"], [16, 4, 1, "", "RISK"]], "markowitz.names.ParameterName": [[16, 4, 1, "", "OMEGA"], [16, 4, 1, "", "SIGMA_MAX"], [16, 4, 1, "", "SIGMA_TARGET"]], "markowitz.portfolios": [[18, 0, 0, "-", "max_sharpe"], [19, 0, 0, "-", "min_var"], [20, 0, 0, "-", "soft_risk"], [21, 0, 0, "-", "utils"]], "markowitz.portfolios.max_sharpe": [[18, 1, 1, "", "MaxSharpe"]], "markowitz.portfolios.max_sharpe.MaxSharpe": [[18, 2, 1, "", "__post_init__"], [18, 3, 1, "", "objective"]], "markowitz.portfolios.min_var": [[19, 1, 1, "", "MinVar"]], "markowitz.portfolios.min_var.MinVar": [[19, 2, 1, "", "__post_init__"], [19, 3, 1, "", "objective"]], "markowitz.portfolios.soft_risk": [[20, 1, 1, "", "SoftRisk"]], "markowitz.portfolios.soft_risk.SoftRisk": [[20, 2, 1, "", "__post_init__"], [20, 4, 1, "", "_sigma"], [20, 4, 1, "", "_sigma_target_times_omega"], [20, 3, 1, "", "objective"]], "markowitz.portfolios.utils": [[21, 5, 1, "", "approx"]], "markowitz.risk": [[26, 1, 1, "", "CVar"], [26, 1, 1, "", "FactorModel"], [26, 1, 1, "", "SampleCovariance"], [23, 0, 0, "-", "cvar"], [25, 0, 0, "-", "factor"], [27, 0, 0, "-", "sample"]], "markowitz.risk.CVar": [[26, 2, 1, "", "__post_init__"], [26, 4, 1, "", "alpha"], [26, 2, 1, "", "estimate"], [26, 4, 1, "", "rows"], [26, 2, 1, "", "update"]], "markowitz.risk.FactorModel": [[26, 2, 1, "", "__post_init__"], [26, 2, 1, "", "_residual_risk"], [26, 2, 1, "", "_systematic_risk"], [26, 2, 1, "", "constraints"], [26, 2, 1, "", "estimate"], [26, 4, 1, "", "factors"], [26, 2, 1, "", "update"]], "markowitz.risk.SampleCovariance": [[26, 2, 1, "", "__post_init__"], [26, 2, 1, "", "constraints"], [26, 2, 1, "", "estimate"], [26, 2, 1, "", "update"]], "markowitz.risk.cvar": [[23, 1, 1, "", "CVar"], [22, 0, 0, "-", "cvar"]], "markowitz.risk.cvar.CVar": [[23, 2, 1, "", "__post_init__"], [23, 4, 1, "", "alpha"], [23, 2, 1, "", "estimate"], [23, 4, 1, "", "rows"], [23, 2, 1, "", "update"]], "markowitz.risk.cvar.cvar": [[22, 1, 1, "", "CVar"]], "markowitz.risk.cvar.cvar.CVar": [[22, 2, 1, "", "__post_init__"], [22, 4, 1, "", "alpha"], [22, 2, 1, "", "estimate"], [22, 4, 1, "", "rows"], [22, 2, 1, "", "update"]], "markowitz.risk.factor": [[25, 1, 1, "", "FactorModel"], [24, 0, 0, "-", "factor"]], "markowitz.risk.factor.FactorModel": [[25, 2, 1, "", "__post_init__"], [25, 2, 1, "", "_residual_risk"], [25, 2, 1, "", "_systematic_risk"], [25, 2, 1, "", "constraints"], [25, 2, 1, "", "estimate"], [25, 4, 1, "", "factors"], [25, 2, 1, "", "update"]], "markowitz.risk.factor.factor": [[24, 1, 1, "", "FactorModel"]], "markowitz.risk.factor.factor.FactorModel": [[24, 2, 1, "", "__post_init__"], [24, 2, 1, "", "_residual_risk"], [24, 2, 1, "", "_systematic_risk"], [24, 2, 1, "", "constraints"], [24, 2, 1, "", "estimate"], [24, 4, 1, "", "factors"], [24, 2, 1, "", "update"]], "markowitz.risk.sample": [[27, 1, 1, "", "SampleCovariance"], [28, 0, 0, "-", "sample"]], "markowitz.risk.sample.SampleCovariance": [[27, 2, 1, "", "__post_init__"], [27, 2, 1, "", "constraints"], [27, 2, 1, "", "estimate"], [27, 2, 1, "", "update"]], "markowitz.risk.sample.sample": [[28, 1, 1, "", "SampleCovariance"]], "markowitz.risk.sample.sample.SampleCovariance": [[28, 2, 1, "", "__post_init__"], [28, 2, 1, "", "constraints"], [28, 2, 1, "", "estimate"], [28, 2, 1, "", "update"]], "markowitz.types": [[29, 6, 1, "", "Constraints"], [29, 6, 1, "", "Expressions"], [29, 6, 1, "", "File"], [29, 6, 1, "", "Matrix"], [29, 6, 1, "", "Parameter"], [29, 6, 1, "", "Variables"]], "markowitz.utils": [[30, 0, 0, "-", "fill"]], "markowitz.utils.fill": [[30, 5, 1, "", "fill_matrix"], [30, 5, 1, "", "fill_vector"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:function", "6": "py:data", "7": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"], "7": ["py", "exception", "Python exception"]}, "titleterms": {"api": [0, 32], "refer": 0, "linalg": [1, 2, 3, 4, 5, 6], "choleski": 1, "modul": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 24, 28, 29, 30], "content": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "function": [1, 2, 4, 6, 7, 21, 30], "submodul": [2, 9, 14, 17, 23, 25, 27, 31], "packag": [2, 23, 25, 26, 27], "class": [2, 3, 7, 10, 11, 12, 13, 15, 16, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28], "pca": 3, "random": 4, "type": [5, 29], "valid": 6, "markowitz": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], "builder": 7, "cvxerror": 8, "subpackag": [9, 26], "model": [10, 11, 12, 13, 14, 15], "bound": 11, "expected_return": 12, "holding_cost": 13, "trading_cost": 15, "name": 16, "portfolio": [17, 18, 19, 20, 21], "max_sharp": 18, "min_var": 19, "soft_risk": 20, "util": [21, 30, 31], "risk": [22, 23, 24, 25, 26, 27, 28], "cvar": [22, 23], "factor": [24, 25], "sampl": [27, 28], "fill": 30, "document": 32, "licens": 33}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"API Reference": [[0, "api-reference"]], "linalg.cholesky": [[1, "module-linalg.cholesky"]], "Module Contents": [[1, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [6, "module-contents"], [7, "module-contents"], [8, "module-contents"], [10, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [15, "module-contents"], [16, "module-contents"], [18, "module-contents"], [19, "module-contents"], [20, "module-contents"], [21, "module-contents"], [22, "module-contents"], [24, "module-contents"], [28, "module-contents"], [29, "module-contents"], [30, "module-contents"]], "Functions": [[1, "functions"], [2, "functions"], [4, "functions"], [6, "functions"], [7, "functions"], [21, "functions"], [30, "functions"]], "linalg": [[2, "module-linalg"]], "Submodules": [[2, "submodules"], [9, "submodules"], [14, "submodules"], [17, "submodules"], [23, "submodules"], [25, "submodules"], [27, "submodules"], [31, "submodules"]], "Package Contents": [[2, "package-contents"], [23, "package-contents"], [25, "package-contents"], [26, "package-contents"], [27, "package-contents"]], "Classes": [[2, "classes"], [3, "classes"], [7, "classes"], [10, "classes"], [11, "classes"], [12, "classes"], [13, "classes"], [15, "classes"], [16, "classes"], [18, "classes"], [19, "classes"], [20, "classes"], [22, "classes"], [23, "classes"], [24, "classes"], [25, "classes"], [26, "classes"], [27, "classes"], [28, "classes"]], "linalg.pca": [[3, "module-linalg.pca"]], "linalg.random": [[4, "module-linalg.random"]], "linalg.types": [[5, "module-linalg.types"]], "linalg.valid": [[6, "module-linalg.valid"]], "markowitz.builder": [[7, "module-markowitz.builder"]], "markowitz.cvxerror": [[8, "module-markowitz.cvxerror"]], "markowitz": [[9, "module-markowitz"]], "Subpackages": [[9, "subpackages"], [26, "subpackages"]], "markowitz.model": [[10, "module-markowitz.model"]], "markowitz.models.bounds": [[11, "module-markowitz.models.bounds"]], "markowitz.models.expected_returns": [[12, "module-markowitz.models.expected_returns"]], "markowitz.models.holding_costs": [[13, "module-markowitz.models.holding_costs"]], "markowitz.models": [[14, "module-markowitz.models"]], "markowitz.models.trading_costs": [[15, "module-markowitz.models.trading_costs"]], "markowitz.names": [[16, "module-markowitz.names"]], "markowitz.portfolios": [[17, "module-markowitz.portfolios"]], "markowitz.portfolios.max_sharpe": [[18, "module-markowitz.portfolios.max_sharpe"]], "markowitz.portfolios.min_var": [[19, "module-markowitz.portfolios.min_var"]], "markowitz.portfolios.soft_risk": [[20, "module-markowitz.portfolios.soft_risk"]], "markowitz.portfolios.utils": [[21, "module-markowitz.portfolios.utils"]], "markowitz.risk.cvar.cvar": [[22, "module-markowitz.risk.cvar.cvar"]], "markowitz.risk.cvar": [[23, "module-markowitz.risk.cvar"]], "markowitz.risk.factor.factor": [[24, "module-markowitz.risk.factor.factor"]], "markowitz.risk.factor": [[25, "module-markowitz.risk.factor"]], "markowitz.risk": [[26, "module-markowitz.risk"]], "markowitz.risk.sample": [[27, "module-markowitz.risk.sample"]], "markowitz.risk.sample.sample": [[28, "module-markowitz.risk.sample.sample"]], "markowitz.types": [[29, "module-markowitz.types"]], "markowitz.utils.fill": [[30, "module-markowitz.utils.fill"]], "markowitz.utils": [[31, "module-markowitz.utils"]], "API Documentation": [[32, "api-documentation"]], "License": [[33, "license"]]}, "indexentries": {"cholesky() (in module linalg.cholesky)": [[1, "linalg.cholesky.cholesky"]], "linalg.cholesky": [[1, "module-linalg.cholesky"]], "module": [[1, "module-linalg.cholesky"], [2, "module-linalg"], [3, "module-linalg.pca"], [4, "module-linalg.random"], [5, "module-linalg.types"], [6, "module-linalg.valid"], [7, "module-markowitz.builder"], [8, "module-markowitz.cvxerror"], [9, "module-markowitz"], [10, "module-markowitz.model"], [11, "module-markowitz.models.bounds"], [12, "module-markowitz.models.expected_returns"], [13, "module-markowitz.models.holding_costs"], [14, "module-markowitz.models"], [15, "module-markowitz.models.trading_costs"], [16, "module-markowitz.names"], [17, "module-markowitz.portfolios"], [18, "module-markowitz.portfolios.max_sharpe"], [19, "module-markowitz.portfolios.min_var"], [20, "module-markowitz.portfolios.soft_risk"], [21, "module-markowitz.portfolios.utils"], [22, "module-markowitz.risk.cvar.cvar"], [23, "module-markowitz.risk.cvar"], [24, "module-markowitz.risk.factor.factor"], [25, "module-markowitz.risk.factor"], [26, "module-markowitz.risk"], [27, "module-markowitz.risk.sample"], [28, "module-markowitz.risk.sample.sample"], [29, "module-markowitz.types"], [30, "module-markowitz.utils.fill"], [31, "module-markowitz.utils"]], "pca (class in linalg)": [[2, "linalg.PCA"]], "__post_init__() (linalg.pca method)": [[2, "linalg.PCA.__post_init__"]], "cholesky() (in module linalg)": [[2, "linalg.cholesky"]], "cov (linalg.pca property)": [[2, "linalg.PCA.cov"]], "explained_variance (linalg.pca property)": [[2, "linalg.PCA.explained_variance"]], "idiosyncratic_returns (linalg.pca property)": [[2, "linalg.PCA.idiosyncratic_returns"]], "idiosyncratic_vola (linalg.pca property)": [[2, "linalg.PCA.idiosyncratic_vola"]], "linalg": [[2, "module-linalg"]], "n_components (linalg.pca attribute)": [[2, "linalg.PCA.n_components"]], "returns (linalg.pca attribute)": [[2, "linalg.PCA.returns"]], "systematic_returns (linalg.pca property)": [[2, "linalg.PCA.systematic_returns"]], "valid() (in module linalg)": [[2, "linalg.valid"]], "pca (class in linalg.pca)": [[3, "linalg.pca.PCA"]], "__post_init__() (linalg.pca.pca method)": [[3, "linalg.pca.PCA.__post_init__"]], "cov (linalg.pca.pca property)": [[3, "linalg.pca.PCA.cov"]], "explained_variance (linalg.pca.pca property)": [[3, "linalg.pca.PCA.explained_variance"]], "idiosyncratic_returns (linalg.pca.pca property)": [[3, "linalg.pca.PCA.idiosyncratic_returns"]], "idiosyncratic_vola (linalg.pca.pca property)": [[3, "linalg.pca.PCA.idiosyncratic_vola"]], "linalg.pca": [[3, "module-linalg.pca"]], "n_components (linalg.pca.pca attribute)": [[3, "linalg.pca.PCA.n_components"]], "returns (linalg.pca.pca attribute)": [[3, "linalg.pca.PCA.returns"]], "systematic_returns (linalg.pca.pca property)": [[3, "linalg.pca.PCA.systematic_returns"]], "linalg.random": [[4, "module-linalg.random"]], "rand_cov() (in module linalg.random)": [[4, "linalg.random.rand_cov"]], "matrix (in module linalg.types)": [[5, "linalg.types.Matrix"]], "linalg.types": [[5, "module-linalg.types"]], "linalg.valid": [[6, "module-linalg.valid"]], "valid() (in module linalg.valid)": [[6, "linalg.valid.valid"]], "builder (class in markowitz.builder)": [[7, "markowitz.builder.Builder"]], "_problem (class in markowitz.builder)": [[7, "markowitz.builder._Problem"]], "__post_init__() (markowitz.builder.builder method)": [[7, "markowitz.builder.Builder.__post_init__"]], "assets (markowitz.builder.builder attribute)": [[7, "markowitz.builder.Builder.assets"]], "build() (markowitz.builder.builder method)": [[7, "markowitz.builder.Builder.build"]], "constraints (markowitz.builder.builder attribute)": [[7, "markowitz.builder.Builder.constraints"]], "data (markowitz.builder._problem property)": [[7, "markowitz.builder._Problem.data"]], "deserialize() (in module markowitz.builder)": [[7, "markowitz.builder.deserialize"]], "factor_weights (markowitz.builder.builder property)": [[7, "markowitz.builder.Builder.factor_weights"]], "factor_weights (markowitz.builder._problem property)": [[7, "markowitz.builder._Problem.factor_weights"]], "factors (markowitz.builder.builder attribute)": [[7, "markowitz.builder.Builder.factors"]], "is_dpp() (markowitz.builder._problem method)": [[7, "markowitz.builder._Problem.is_dpp"]], "markowitz.builder": [[7, "module-markowitz.builder"]], "model (markowitz.builder.builder attribute)": [[7, "markowitz.builder.Builder.model"]], "model (markowitz.builder._problem attribute)": [[7, "markowitz.builder._Problem.model"]], "objective (markowitz.builder.builder property)": [[7, "markowitz.builder.Builder.objective"]], "parameter (markowitz.builder.builder attribute)": [[7, "markowitz.builder.Builder.parameter"]], "parameter (markowitz.builder._problem property)": [[7, "markowitz.builder._Problem.parameter"]], "problem (markowitz.builder._problem attribute)": [[7, "markowitz.builder._Problem.problem"]], "risk (markowitz.builder.builder property)": [[7, "markowitz.builder.Builder.risk"]], "serialize() (markowitz.builder._problem method)": [[7, "markowitz.builder._Problem.serialize"]], "solve() (markowitz.builder._problem method)": [[7, "markowitz.builder._Problem.solve"]], "update() (markowitz.builder._problem method)": [[7, "markowitz.builder._Problem.update"]], "value (markowitz.builder._problem property)": [[7, "markowitz.builder._Problem.value"]], "variables (markowitz.builder.builder attribute)": [[7, "markowitz.builder.Builder.variables"]], "variables (markowitz.builder._problem property)": [[7, "markowitz.builder._Problem.variables"]], "weights (markowitz.builder.builder property)": [[7, "markowitz.builder.Builder.weights"]], "weights (markowitz.builder._problem property)": [[7, "markowitz.builder._Problem.weights"]], "cvxerror": [[8, "markowitz.cvxerror.CvxError"]], "markowitz.cvxerror": [[8, "module-markowitz.cvxerror"]], "markowitz": [[9, "module-markowitz"]], "model (class in markowitz.model)": [[10, "markowitz.model.Model"]], "assets (markowitz.model.model attribute)": [[10, "markowitz.model.Model.assets"]], "constraints() (markowitz.model.model method)": [[10, "markowitz.model.Model.constraints"]], "data (markowitz.model.model attribute)": [[10, "markowitz.model.Model.data"]], "estimate() (markowitz.model.model method)": [[10, "markowitz.model.Model.estimate"]], "markowitz.model": [[10, "module-markowitz.model"]], "parameter (markowitz.model.model attribute)": [[10, "markowitz.model.Model.parameter"]], "update() (markowitz.model.model method)": [[10, "markowitz.model.Model.update"]], "bounds (class in markowitz.models.bounds)": [[11, "markowitz.models.bounds.Bounds"]], "__post_init__() (markowitz.models.bounds.bounds method)": [[11, "markowitz.models.bounds.Bounds.__post_init__"]], "_f() (markowitz.models.bounds.bounds method)": [[11, "markowitz.models.bounds.Bounds._f"]], "acting_on (markowitz.models.bounds.bounds attribute)": [[11, "markowitz.models.bounds.Bounds.acting_on"]], "constraints() (markowitz.models.bounds.bounds method)": [[11, "markowitz.models.bounds.Bounds.constraints"]], "estimate() (markowitz.models.bounds.bounds method)": [[11, "markowitz.models.bounds.Bounds.estimate"]], "markowitz.models.bounds": [[11, "module-markowitz.models.bounds"]], "name (markowitz.models.bounds.bounds attribute)": [[11, "markowitz.models.bounds.Bounds.name"]], "update() (markowitz.models.bounds.bounds method)": [[11, "markowitz.models.bounds.Bounds.update"]], "expectedreturns (class in markowitz.models.expected_returns)": [[12, "markowitz.models.expected_returns.ExpectedReturns"]], "__post_init__() (markowitz.models.expected_returns.expectedreturns method)": [[12, "markowitz.models.expected_returns.ExpectedReturns.__post_init__"]], "estimate() (markowitz.models.expected_returns.expectedreturns method)": [[12, "markowitz.models.expected_returns.ExpectedReturns.estimate"]], "markowitz.models.expected_returns": [[12, "module-markowitz.models.expected_returns"]], "update() (markowitz.models.expected_returns.expectedreturns method)": [[12, "markowitz.models.expected_returns.ExpectedReturns.update"]], "holdingcosts (class in markowitz.models.holding_costs)": [[13, "markowitz.models.holding_costs.HoldingCosts"]], "__post_init__() (markowitz.models.holding_costs.holdingcosts method)": [[13, "markowitz.models.holding_costs.HoldingCosts.__post_init__"]], "estimate() (markowitz.models.holding_costs.holdingcosts method)": [[13, "markowitz.models.holding_costs.HoldingCosts.estimate"]], "markowitz.models.holding_costs": [[13, "module-markowitz.models.holding_costs"]], "update() (markowitz.models.holding_costs.holdingcosts method)": [[13, "markowitz.models.holding_costs.HoldingCosts.update"]], "markowitz.models": [[14, "module-markowitz.models"]], "tradingcosts (class in markowitz.models.trading_costs)": [[15, "markowitz.models.trading_costs.TradingCosts"]], "__post_init__() (markowitz.models.trading_costs.tradingcosts method)": [[15, "markowitz.models.trading_costs.TradingCosts.__post_init__"]], "estimate() (markowitz.models.trading_costs.tradingcosts method)": [[15, "markowitz.models.trading_costs.TradingCosts.estimate"]], "markowitz.models.trading_costs": [[15, "module-markowitz.models.trading_costs"]], "update() (markowitz.models.trading_costs.tradingcosts method)": [[15, "markowitz.models.trading_costs.TradingCosts.update"]], "bound_assets (markowitz.names.modelname attribute)": [[16, "markowitz.names.ModelName.BOUND_ASSETS"]], "bound_factors (markowitz.names.modelname attribute)": [[16, "markowitz.names.ModelName.BOUND_FACTORS"]], "budget (markowitz.names.constraintname attribute)": [[16, "markowitz.names.ConstraintName.BUDGET"]], "cholesky (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.CHOLESKY"]], "concentration (markowitz.names.constraintname attribute)": [[16, "markowitz.names.ConstraintName.CONCENTRATION"]], "constraintname (class in markowitz.names)": [[16, "markowitz.names.ConstraintName"]], "datanames (class in markowitz.names)": [[16, "markowitz.names.DataNames"]], "exposure (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.EXPOSURE"]], "factor_weights (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.FACTOR_WEIGHTS"]], "holding_costs (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.HOLDING_COSTS"]], "idiosyncratic_vola (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.IDIOSYNCRATIC_VOLA"]], "idiosyncratic_vola_uncertainty (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.IDIOSYNCRATIC_VOLA_UNCERTAINTY"]], "leverage (markowitz.names.constraintname attribute)": [[16, "markowitz.names.ConstraintName.LEVERAGE"]], "long_only (markowitz.names.constraintname attribute)": [[16, "markowitz.names.ConstraintName.LONG_ONLY"]], "lower_bound_assets (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.LOWER_BOUND_ASSETS"]], "lower_bound_factors (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.LOWER_BOUND_FACTORS"]], "mu (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.MU"]], "mu_uncertainty (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.MU_UNCERTAINTY"]], "modelname (class in markowitz.names)": [[16, "markowitz.names.ModelName"]], "omega (markowitz.names.parametername attribute)": [[16, "markowitz.names.ParameterName.OMEGA"]], "parametername (class in markowitz.names)": [[16, "markowitz.names.ParameterName"]], "return (markowitz.names.modelname attribute)": [[16, "markowitz.names.ModelName.RETURN"]], "returns (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.RETURNS"]], "risk (markowitz.names.constraintname attribute)": [[16, "markowitz.names.ConstraintName.RISK"]], "risk (markowitz.names.modelname attribute)": [[16, "markowitz.names.ModelName.RISK"]], "sigma_max (markowitz.names.parametername attribute)": [[16, "markowitz.names.ParameterName.SIGMA_MAX"]], "sigma_target (markowitz.names.parametername attribute)": [[16, "markowitz.names.ParameterName.SIGMA_TARGET"]], "systematic_vola_uncertainty (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.SYSTEMATIC_VOLA_UNCERTAINTY"]], "upper_bound_assets (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.UPPER_BOUND_ASSETS"]], "upper_bound_factors (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.UPPER_BOUND_FACTORS"]], "vola_uncertainty (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.VOLA_UNCERTAINTY"]], "weights (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.WEIGHTS"]], "_abs (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames._ABS"]], "markowitz.names": [[16, "module-markowitz.names"]], "markowitz.portfolios": [[17, "module-markowitz.portfolios"]], "maxsharpe (class in markowitz.portfolios.max_sharpe)": [[18, "markowitz.portfolios.max_sharpe.MaxSharpe"]], "__post_init__() (markowitz.portfolios.max_sharpe.maxsharpe method)": [[18, "markowitz.portfolios.max_sharpe.MaxSharpe.__post_init__"]], "markowitz.portfolios.max_sharpe": [[18, "module-markowitz.portfolios.max_sharpe"]], "objective (markowitz.portfolios.max_sharpe.maxsharpe property)": [[18, "markowitz.portfolios.max_sharpe.MaxSharpe.objective"]], "minvar (class in markowitz.portfolios.min_var)": [[19, "markowitz.portfolios.min_var.MinVar"]], "__post_init__() (markowitz.portfolios.min_var.minvar method)": [[19, "markowitz.portfolios.min_var.MinVar.__post_init__"]], "markowitz.portfolios.min_var": [[19, "module-markowitz.portfolios.min_var"]], "objective (markowitz.portfolios.min_var.minvar property)": [[19, "markowitz.portfolios.min_var.MinVar.objective"]], "softrisk (class in markowitz.portfolios.soft_risk)": [[20, "markowitz.portfolios.soft_risk.SoftRisk"]], "__post_init__() (markowitz.portfolios.soft_risk.softrisk method)": [[20, "markowitz.portfolios.soft_risk.SoftRisk.__post_init__"]], "_sigma (markowitz.portfolios.soft_risk.softrisk attribute)": [[20, "markowitz.portfolios.soft_risk.SoftRisk._sigma"]], "_sigma_target_times_omega (markowitz.portfolios.soft_risk.softrisk attribute)": [[20, "markowitz.portfolios.soft_risk.SoftRisk._sigma_target_times_omega"]], "markowitz.portfolios.soft_risk": [[20, "module-markowitz.portfolios.soft_risk"]], "objective (markowitz.portfolios.soft_risk.softrisk property)": [[20, "markowitz.portfolios.soft_risk.SoftRisk.objective"]], "approx() (in module markowitz.portfolios.utils)": [[21, "markowitz.portfolios.utils.approx"]], "markowitz.portfolios.utils": [[21, "module-markowitz.portfolios.utils"]], "cvar (class in markowitz.risk.cvar.cvar)": [[22, "markowitz.risk.cvar.cvar.CVar"]], "__post_init__() (markowitz.risk.cvar.cvar.cvar method)": [[22, "markowitz.risk.cvar.cvar.CVar.__post_init__"]], "alpha (markowitz.risk.cvar.cvar.cvar attribute)": [[22, "markowitz.risk.cvar.cvar.CVar.alpha"]], "estimate() (markowitz.risk.cvar.cvar.cvar method)": [[22, "markowitz.risk.cvar.cvar.CVar.estimate"]], "markowitz.risk.cvar.cvar": [[22, "module-markowitz.risk.cvar.cvar"]], "rows (markowitz.risk.cvar.cvar.cvar attribute)": [[22, "markowitz.risk.cvar.cvar.CVar.rows"]], "update() (markowitz.risk.cvar.cvar.cvar method)": [[22, "markowitz.risk.cvar.cvar.CVar.update"]], "cvar (class in markowitz.risk.cvar)": [[23, "markowitz.risk.cvar.CVar"]], "__post_init__() (markowitz.risk.cvar.cvar method)": [[23, "markowitz.risk.cvar.CVar.__post_init__"]], "alpha (markowitz.risk.cvar.cvar attribute)": [[23, "markowitz.risk.cvar.CVar.alpha"]], "estimate() (markowitz.risk.cvar.cvar method)": [[23, "markowitz.risk.cvar.CVar.estimate"]], "markowitz.risk.cvar": [[23, "module-markowitz.risk.cvar"]], "rows (markowitz.risk.cvar.cvar attribute)": [[23, "markowitz.risk.cvar.CVar.rows"]], "update() (markowitz.risk.cvar.cvar method)": [[23, "markowitz.risk.cvar.CVar.update"]], "factormodel (class in markowitz.risk.factor.factor)": [[24, "markowitz.risk.factor.factor.FactorModel"]], "__post_init__() (markowitz.risk.factor.factor.factormodel method)": [[24, "markowitz.risk.factor.factor.FactorModel.__post_init__"]], "_residual_risk() (markowitz.risk.factor.factor.factormodel method)": [[24, "markowitz.risk.factor.factor.FactorModel._residual_risk"]], "_systematic_risk() (markowitz.risk.factor.factor.factormodel method)": [[24, "markowitz.risk.factor.factor.FactorModel._systematic_risk"]], "constraints() (markowitz.risk.factor.factor.factormodel method)": [[24, "markowitz.risk.factor.factor.FactorModel.constraints"]], "estimate() (markowitz.risk.factor.factor.factormodel method)": [[24, "markowitz.risk.factor.factor.FactorModel.estimate"]], "factors (markowitz.risk.factor.factor.factormodel attribute)": [[24, "markowitz.risk.factor.factor.FactorModel.factors"]], "markowitz.risk.factor.factor": [[24, "module-markowitz.risk.factor.factor"]], "update() (markowitz.risk.factor.factor.factormodel method)": [[24, "markowitz.risk.factor.factor.FactorModel.update"]], "factormodel (class in markowitz.risk.factor)": [[25, "markowitz.risk.factor.FactorModel"]], "__post_init__() (markowitz.risk.factor.factormodel method)": [[25, "markowitz.risk.factor.FactorModel.__post_init__"]], "_residual_risk() (markowitz.risk.factor.factormodel method)": [[25, "markowitz.risk.factor.FactorModel._residual_risk"]], "_systematic_risk() (markowitz.risk.factor.factormodel method)": [[25, "markowitz.risk.factor.FactorModel._systematic_risk"]], "constraints() (markowitz.risk.factor.factormodel method)": [[25, "markowitz.risk.factor.FactorModel.constraints"]], "estimate() (markowitz.risk.factor.factormodel method)": [[25, "markowitz.risk.factor.FactorModel.estimate"]], "factors (markowitz.risk.factor.factormodel attribute)": [[25, "markowitz.risk.factor.FactorModel.factors"]], "markowitz.risk.factor": [[25, "module-markowitz.risk.factor"]], "update() (markowitz.risk.factor.factormodel method)": [[25, "markowitz.risk.factor.FactorModel.update"]], "cvar (class in markowitz.risk)": [[26, "markowitz.risk.CVar"]], "factormodel (class in markowitz.risk)": [[26, "markowitz.risk.FactorModel"]], "samplecovariance (class in markowitz.risk)": [[26, "markowitz.risk.SampleCovariance"]], "__post_init__() (markowitz.risk.cvar method)": [[26, "markowitz.risk.CVar.__post_init__"]], "__post_init__() (markowitz.risk.factormodel method)": [[26, "markowitz.risk.FactorModel.__post_init__"]], "__post_init__() (markowitz.risk.samplecovariance method)": [[26, "markowitz.risk.SampleCovariance.__post_init__"]], "_residual_risk() (markowitz.risk.factormodel method)": [[26, "markowitz.risk.FactorModel._residual_risk"]], "_systematic_risk() (markowitz.risk.factormodel method)": [[26, "markowitz.risk.FactorModel._systematic_risk"]], "alpha (markowitz.risk.cvar attribute)": [[26, "markowitz.risk.CVar.alpha"]], "constraints() (markowitz.risk.factormodel method)": [[26, "markowitz.risk.FactorModel.constraints"]], "constraints() (markowitz.risk.samplecovariance method)": [[26, "markowitz.risk.SampleCovariance.constraints"]], "estimate() (markowitz.risk.cvar method)": [[26, "markowitz.risk.CVar.estimate"]], "estimate() (markowitz.risk.factormodel method)": [[26, "markowitz.risk.FactorModel.estimate"]], "estimate() (markowitz.risk.samplecovariance method)": [[26, "markowitz.risk.SampleCovariance.estimate"]], "factors (markowitz.risk.factormodel attribute)": [[26, "markowitz.risk.FactorModel.factors"]], "markowitz.risk": [[26, "module-markowitz.risk"]], "rows (markowitz.risk.cvar attribute)": [[26, "markowitz.risk.CVar.rows"]], "update() (markowitz.risk.cvar method)": [[26, "markowitz.risk.CVar.update"]], "update() (markowitz.risk.factormodel method)": [[26, "markowitz.risk.FactorModel.update"]], "update() (markowitz.risk.samplecovariance method)": [[26, "markowitz.risk.SampleCovariance.update"]], "samplecovariance (class in markowitz.risk.sample)": [[27, "markowitz.risk.sample.SampleCovariance"]], "__post_init__() (markowitz.risk.sample.samplecovariance method)": [[27, "markowitz.risk.sample.SampleCovariance.__post_init__"]], "constraints() (markowitz.risk.sample.samplecovariance method)": [[27, "markowitz.risk.sample.SampleCovariance.constraints"]], "estimate() (markowitz.risk.sample.samplecovariance method)": [[27, "markowitz.risk.sample.SampleCovariance.estimate"]], "markowitz.risk.sample": [[27, "module-markowitz.risk.sample"]], "update() (markowitz.risk.sample.samplecovariance method)": [[27, "markowitz.risk.sample.SampleCovariance.update"]], "samplecovariance (class in markowitz.risk.sample.sample)": [[28, "markowitz.risk.sample.sample.SampleCovariance"]], "__post_init__() (markowitz.risk.sample.sample.samplecovariance method)": [[28, "markowitz.risk.sample.sample.SampleCovariance.__post_init__"]], "constraints() (markowitz.risk.sample.sample.samplecovariance method)": [[28, "markowitz.risk.sample.sample.SampleCovariance.constraints"]], "estimate() (markowitz.risk.sample.sample.samplecovariance method)": [[28, "markowitz.risk.sample.sample.SampleCovariance.estimate"]], "markowitz.risk.sample.sample": [[28, "module-markowitz.risk.sample.sample"]], "update() (markowitz.risk.sample.sample.samplecovariance method)": [[28, "markowitz.risk.sample.sample.SampleCovariance.update"]], "constraints (in module markowitz.types)": [[29, "markowitz.types.Constraints"]], "expressions (in module markowitz.types)": [[29, "markowitz.types.Expressions"]], "file (in module markowitz.types)": [[29, "markowitz.types.File"]], "matrix (in module markowitz.types)": [[29, "markowitz.types.Matrix"]], "parameter (in module markowitz.types)": [[29, "markowitz.types.Parameter"]], "variables (in module markowitz.types)": [[29, "markowitz.types.Variables"]], "markowitz.types": [[29, "module-markowitz.types"]], "fill_matrix() (in module markowitz.utils.fill)": [[30, "markowitz.utils.fill.fill_matrix"]], "fill_vector() (in module markowitz.utils.fill)": [[30, "markowitz.utils.fill.fill_vector"]], "markowitz.utils.fill": [[30, "module-markowitz.utils.fill"]], "markowitz.utils": [[31, "module-markowitz.utils"]]}})
\ No newline at end of file
+Search.setIndex({"docnames": ["autoapi/index", "autoapi/linalg/cholesky/index", "autoapi/linalg/index", "autoapi/linalg/pca/index", "autoapi/linalg/random/index", "autoapi/linalg/types/index", "autoapi/linalg/valid/index", "autoapi/markowitz/builder/index", "autoapi/markowitz/cvxerror/index", "autoapi/markowitz/index", "autoapi/markowitz/model/index", "autoapi/markowitz/models/bounds/index", "autoapi/markowitz/models/expected_returns/index", "autoapi/markowitz/models/holding_costs/index", "autoapi/markowitz/models/index", "autoapi/markowitz/models/trading_costs/index", "autoapi/markowitz/names/index", "autoapi/markowitz/portfolios/index", "autoapi/markowitz/portfolios/max_sharpe/index", "autoapi/markowitz/portfolios/min_var/index", "autoapi/markowitz/portfolios/soft_risk/index", "autoapi/markowitz/portfolios/utils/index", "autoapi/markowitz/risk/cvar/cvar/index", "autoapi/markowitz/risk/cvar/index", "autoapi/markowitz/risk/factor/factor/index", "autoapi/markowitz/risk/factor/index", "autoapi/markowitz/risk/index", "autoapi/markowitz/risk/sample/index", "autoapi/markowitz/risk/sample/sample/index", "autoapi/markowitz/types/index", "autoapi/markowitz/utils/fill/index", "autoapi/markowitz/utils/index", "index", "license"], "filenames": ["autoapi/index.rst", "autoapi/linalg/cholesky/index.rst", "autoapi/linalg/index.rst", "autoapi/linalg/pca/index.rst", "autoapi/linalg/random/index.rst", "autoapi/linalg/types/index.rst", "autoapi/linalg/valid/index.rst", "autoapi/markowitz/builder/index.rst", "autoapi/markowitz/cvxerror/index.rst", "autoapi/markowitz/index.rst", "autoapi/markowitz/model/index.rst", "autoapi/markowitz/models/bounds/index.rst", "autoapi/markowitz/models/expected_returns/index.rst", "autoapi/markowitz/models/holding_costs/index.rst", "autoapi/markowitz/models/index.rst", "autoapi/markowitz/models/trading_costs/index.rst", "autoapi/markowitz/names/index.rst", "autoapi/markowitz/portfolios/index.rst", "autoapi/markowitz/portfolios/max_sharpe/index.rst", "autoapi/markowitz/portfolios/min_var/index.rst", "autoapi/markowitz/portfolios/soft_risk/index.rst", "autoapi/markowitz/portfolios/utils/index.rst", "autoapi/markowitz/risk/cvar/cvar/index.rst", "autoapi/markowitz/risk/cvar/index.rst", "autoapi/markowitz/risk/factor/factor/index.rst", "autoapi/markowitz/risk/factor/index.rst", "autoapi/markowitz/risk/index.rst", "autoapi/markowitz/risk/sample/index.rst", "autoapi/markowitz/risk/sample/sample/index.rst", "autoapi/markowitz/types/index.rst", "autoapi/markowitz/utils/fill/index.rst", "autoapi/markowitz/utils/index.rst", "index.rst", "license.rst"], "titles": ["API Reference", "linalg.cholesky
", "linalg
", "linalg.pca
", "linalg.random
", "linalg.types
", "linalg.valid
", "markowitz.builder
", "markowitz.cvxerror
", "markowitz
", "markowitz.model
", "markowitz.models.bounds
", "markowitz.models.expected_returns
", "markowitz.models.holding_costs
", "markowitz.models
", "markowitz.models.trading_costs
", "markowitz.names
", "markowitz.portfolios
", "markowitz.portfolios.max_sharpe
", "markowitz.portfolios.min_var
", "markowitz.portfolios.soft_risk
", "markowitz.portfolios.utils
", "markowitz.risk.cvar.cvar
", "markowitz.risk.cvar
", "markowitz.risk.factor.factor
", "markowitz.risk.factor
", "markowitz.risk
", "markowitz.risk.sample
", "markowitz.risk.sample.sample
", "markowitz.types
", "markowitz.utils.fill
", "markowitz.utils
", "API Documentation", "License"], "terms": {"thi": 0, "page": 0, "contain": 0, "auto": 0, "gener": [0, 7, 21], "document": 0, "1": [0, 18, 19, 20], "markowitz": [0, 32], "model": [0, 7, 9, 22, 23, 24, 25, 26, 27, 28], "bound": [0, 9, 14], "expected_return": [0, 9, 14], "holding_cost": [0, 9, 14, 16], "trading_cost": [0, 9, 14], "portfolio": [0, 9, 10, 12, 13, 15], "max_sharp": [0, 9, 17], "min_var": [0, 9, 17], "soft_risk": [0, 9, 17], "util": [0, 9, 17], "risk": [0, 7, 9, 10, 11, 12, 13, 15, 16], "cvar": [0, 9, 26], "factor": [0, 7, 9, 26], "sampl": [0, 9, 26], "fill": [0, 9, 31], "builder": [0, 9, 18, 19, 20], "cvxerror": [0, 9], "name": [0, 9, 11, 21], "type": [0, 1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 13, 15, 22, 23, 24, 25, 26, 27, 28, 30], "linalg": [0, 32], "choleski": [0, 2, 16, 22, 23, 26, 27, 28], "pca": [0, 2], "random": [0, 2], "valid": [0, 2], "creat": 0, "sphinx": 0, "autoapi": 0, "decomposit": [1, 2, 22, 23, 26, 27, 28], "numpi": [1, 3], "cov": [1, 2, 3, 22, 23, 26, 27, 28], "cvx": [1, 2, 3, 4, 6, 7, 10, 11, 12, 13, 15, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 30], "matrix": [1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 15, 22, 23, 24, 25, 26, 27, 28, 29, 30], "sourc": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "comput": [1, 2, 22, 23, 24, 25, 26, 27, 28], "covari": [1, 2, 28], "modul": 2, "properti": [2, 3, 7, 18, 19, 20], "explained_vari": [2, 3], "systematic_return": [2, 3], "idiosyncratic_return": [2, 3], "idiosyncratic_vola": [2, 3, 16], "return": [2, 3, 6, 7, 10, 11, 12, 16, 18, 19, 20, 24, 25, 26, 27, 28], "n_compon": [2, 3], "int": [2, 3, 4, 7, 10, 22, 23, 24, 25, 26, 30], "0": [2, 3, 7, 18, 19, 20, 22, 23, 24, 25, 26], "__post_init__": [2, 3, 7, 11, 12, 13, 15, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28], "none": [2, 3, 7, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "tupl": [2, 6, 7, 21], "construct": [2, 6], "subset": [2, 6], "correl": [2, 6], "param": [2, 6], "n": [2, 4, 6], "x": [2, 6, 21, 30], "boolean": [2, 6], "vector": [2, 6, 30], "indic": [2, 6], "row": [2, 6, 22, 23, 26, 30], "column": [2, 6], "i": [2, 6], "analysi": 3, "rand_cov": 4, "typing_extens": [5, 29], "typealia": [5, 29], "extract": 6, "submatrix": 6, "deseri": 7, "problem_fil": 7, "str": [7, 11, 21], "byte": 7, "o": 7, "pathlik": 7, "ani": [7, 21], "_problem": 7, "valu": [7, 22, 23, 26], "float": [7, 22, 23, 26], "data": [7, 10, 11, 12, 13, 15, 22, 23, 24, 25, 26, 27, 28], "paramet": [7, 10, 29], "variabl": [7, 10, 11, 12, 13, 15, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "weight": [7, 10, 11, 12, 13, 15, 16], "factor_weight": [7, 16], "problem": 7, "cvxpy": [7, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], "dict": 7, "updat": [7, 10, 11, 12, 13, 15, 22, 23, 24, 25, 26, 27, 28], "kwarg": [7, 10, 11, 12, 13, 15, 22, 23, 24, 25, 26, 27, 28], "solv": 7, "solver": 7, "cp": [7, 10], "eco": 7, "is_dpp": 7, "bool": 7, "serial": 7, "file": [7, 29], "abstract": [7, 10, 11], "object": [7, 18, 19, 20], "express": [7, 10, 11, 12, 13, 15, 21, 22, 23, 24, 25, 26, 27, 28, 29], "asset": [7, 10], "constraint": [7, 10, 11, 18, 19, 24, 25, 26, 27, 28, 29], "build": 7, "except": 8, "base": [8, 10, 11, 12, 13, 15, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28], "common": 8, "class": 8, "all": 8, "non": 8, "exit": 8, "abc": 10, "estim": [10, 11, 12, 13, 15, 22, 23, 24, 25, 26, 27, 28], "varianc": [10, 12, 13, 15, 24, 25, 26], "given": [10, 12, 13, 15], "acting_on": 11, "No": 11, "_f": 11, "string": 11, "expect": 12, "expectedreturn": 12, "hold": 13, "cost": [13, 15], "holdingcost": 13, "trade": 15, "tradingcost": 15, "datanam": 16, "mu": [16, 20], "mu_uncertainti": 16, "chol": 16, "vola_uncertainti": 16, "lower_bound_asset": 16, "lower_asset": 16, "lower_bound_factor": 16, "lower_factor": 16, "upper_bound_asset": 16, "upper_asset": 16, "upper_bound_factor": 16, "upper_factor": 16, "exposur": 16, "idiosyncratic_vola_uncertainti": 16, "systematic_vola_uncertainti": 16, "_ab": 16, "modelnam": 16, "bound_asset": 16, "bound_factor": 16, "constraintnam": 16, "budget": 16, "concentr": 16, "long_onli": 16, "leverag": 16, "parameternam": 16, "sigma_max": [16, 20], "omega": [16, 20], "sigma_target": [16, 20], "maxsharp": 18, "minim": [18, 19], "standard": [18, 19], "deviat": [18, 19], "subject": [18, 19, 20], "set": [18, 19], "min": [18, 19], "stddev": [18, 19], "r_p": [18, 19], "": [18, 19], "t": [18, 19, 20], "w_p": [18, 19], "sum": [18, 19], "function": [18, 19, 20], "minvar": 19, "softrisk": 20, "maxim": 20, "w": 20, "sigma": 20, "_": 20, "_sigma": 20, "_sigma_target_times_omega": 20, "callbackparam": 20, "approx": 21, "target": 21, "pm": 21, "condit": [22, 23, 26], "alpha": [22, 23, 26], "95": [22, 23, 26], "self": [22, 23, 26, 27, 28], "factormodel": [24, 25, 26], "total": [24, 25, 26], "_residual_risk": [24, 25, 26], "_systematic_risk": [24, 25, 26], "samplecovari": [26, 27, 28], "fill_vector": 30, "num": 30, "length": 30, "fill_matrix": 30, "col": 30, "size": 30, "licens": 32, "refer": 32, "subpackag": 32, "submodul": 32, "packag": 32, "content": 32, "copyright": 33, "c": 33, "2023": 33, "stanford": 33, "univers": 33, "convex": 33, "optim": 33, "group": 33}, "objects": {"": [[2, 0, 0, "-", "linalg"], [9, 0, 0, "-", "markowitz"]], "linalg": [[2, 1, 1, "", "PCA"], [2, 5, 1, "", "cholesky"], [1, 0, 0, "-", "cholesky"], [3, 0, 0, "-", "pca"], [4, 0, 0, "-", "random"], [5, 0, 0, "-", "types"], [6, 0, 0, "-", "valid"]], "linalg.PCA": [[2, 2, 1, "", "__post_init__"], [2, 3, 1, "", "cov"], [2, 3, 1, "", "explained_variance"], [2, 3, 1, "", "idiosyncratic_returns"], [2, 3, 1, "", "idiosyncratic_vola"], [2, 4, 1, "", "n_components"], [2, 4, 1, "", "returns"], [2, 3, 1, "", "systematic_returns"]], "linalg.cholesky": [[1, 5, 1, "", "cholesky"]], "linalg.pca": [[3, 1, 1, "", "PCA"]], "linalg.pca.PCA": [[3, 2, 1, "", "__post_init__"], [3, 3, 1, "", "cov"], [3, 3, 1, "", "explained_variance"], [3, 3, 1, "", "idiosyncratic_returns"], [3, 3, 1, "", "idiosyncratic_vola"], [3, 4, 1, "", "n_components"], [3, 4, 1, "", "returns"], [3, 3, 1, "", "systematic_returns"]], "linalg.random": [[4, 5, 1, "", "rand_cov"]], "linalg.types": [[5, 6, 1, "", "Matrix"]], "linalg.valid": [[6, 5, 1, "", "valid"]], "markowitz": [[7, 0, 0, "-", "builder"], [8, 0, 0, "-", "cvxerror"], [10, 0, 0, "-", "model"], [14, 0, 0, "-", "models"], [16, 0, 0, "-", "names"], [17, 0, 0, "-", "portfolios"], [26, 0, 0, "-", "risk"], [29, 0, 0, "-", "types"], [31, 0, 0, "-", "utils"]], "markowitz.builder": [[7, 1, 1, "", "Builder"], [7, 1, 1, "", "_Problem"], [7, 5, 1, "", "deserialize"]], "markowitz.builder.Builder": [[7, 2, 1, "", "__post_init__"], [7, 4, 1, "", "assets"], [7, 2, 1, "", "build"], [7, 4, 1, "", "constraints"], [7, 3, 1, "", "factor_weights"], [7, 4, 1, "", "factors"], [7, 4, 1, "", "model"], [7, 3, 1, "", "objective"], [7, 4, 1, "", "parameter"], [7, 3, 1, "", "risk"], [7, 4, 1, "", "variables"], [7, 3, 1, "", "weights"]], "markowitz.builder._Problem": [[7, 3, 1, "", "data"], [7, 3, 1, "", "factor_weights"], [7, 2, 1, "", "is_dpp"], [7, 4, 1, "", "model"], [7, 3, 1, "", "parameter"], [7, 4, 1, "", "problem"], [7, 2, 1, "", "serialize"], [7, 2, 1, "", "solve"], [7, 2, 1, "", "update"], [7, 3, 1, "", "value"], [7, 3, 1, "", "variables"], [7, 3, 1, "", "weights"]], "markowitz.cvxerror": [[8, 7, 1, "", "CvxError"]], "markowitz.model": [[10, 1, 1, "", "Model"]], "markowitz.model.Model": [[10, 4, 1, "", "assets"], [10, 2, 1, "", "constraints"], [10, 4, 1, "", "data"], [10, 2, 1, "", "estimate"], [10, 4, 1, "", "parameter"], [10, 2, 1, "", "update"]], "markowitz.models": [[11, 0, 0, "-", "bounds"], [12, 0, 0, "-", "expected_returns"], [13, 0, 0, "-", "holding_costs"], [15, 0, 0, "-", "trading_costs"]], "markowitz.models.bounds": [[11, 1, 1, "", "Bounds"]], "markowitz.models.bounds.Bounds": [[11, 2, 1, "", "__post_init__"], [11, 2, 1, "", "_f"], [11, 4, 1, "", "acting_on"], [11, 2, 1, "", "constraints"], [11, 2, 1, "", "estimate"], [11, 4, 1, "", "name"], [11, 2, 1, "", "update"]], "markowitz.models.expected_returns": [[12, 1, 1, "", "ExpectedReturns"]], "markowitz.models.expected_returns.ExpectedReturns": [[12, 2, 1, "", "__post_init__"], [12, 2, 1, "", "estimate"], [12, 2, 1, "", "update"]], "markowitz.models.holding_costs": [[13, 1, 1, "", "HoldingCosts"]], "markowitz.models.holding_costs.HoldingCosts": [[13, 2, 1, "", "__post_init__"], [13, 2, 1, "", "estimate"], [13, 2, 1, "", "update"]], "markowitz.models.trading_costs": [[15, 1, 1, "", "TradingCosts"]], "markowitz.models.trading_costs.TradingCosts": [[15, 2, 1, "", "__post_init__"], [15, 2, 1, "", "estimate"], [15, 2, 1, "", "update"]], "markowitz.names": [[16, 1, 1, "", "ConstraintName"], [16, 1, 1, "", "DataNames"], [16, 1, 1, "", "ModelName"], [16, 1, 1, "", "ParameterName"]], "markowitz.names.ConstraintName": [[16, 4, 1, "", "BUDGET"], [16, 4, 1, "", "CONCENTRATION"], [16, 4, 1, "", "LEVERAGE"], [16, 4, 1, "", "LONG_ONLY"], [16, 4, 1, "", "RISK"]], "markowitz.names.DataNames": [[16, 4, 1, "", "CHOLESKY"], [16, 4, 1, "", "EXPOSURE"], [16, 4, 1, "", "FACTOR_WEIGHTS"], [16, 4, 1, "", "HOLDING_COSTS"], [16, 4, 1, "", "IDIOSYNCRATIC_VOLA"], [16, 4, 1, "", "IDIOSYNCRATIC_VOLA_UNCERTAINTY"], [16, 4, 1, "", "LOWER_BOUND_ASSETS"], [16, 4, 1, "", "LOWER_BOUND_FACTORS"], [16, 4, 1, "", "MU"], [16, 4, 1, "", "MU_UNCERTAINTY"], [16, 4, 1, "", "RETURNS"], [16, 4, 1, "", "SYSTEMATIC_VOLA_UNCERTAINTY"], [16, 4, 1, "", "UPPER_BOUND_ASSETS"], [16, 4, 1, "", "UPPER_BOUND_FACTORS"], [16, 4, 1, "", "VOLA_UNCERTAINTY"], [16, 4, 1, "", "WEIGHTS"], [16, 4, 1, "", "_ABS"]], "markowitz.names.ModelName": [[16, 4, 1, "", "BOUND_ASSETS"], [16, 4, 1, "", "BOUND_FACTORS"], [16, 4, 1, "", "RETURN"], [16, 4, 1, "", "RISK"]], "markowitz.names.ParameterName": [[16, 4, 1, "", "OMEGA"], [16, 4, 1, "", "SIGMA_MAX"], [16, 4, 1, "", "SIGMA_TARGET"]], "markowitz.portfolios": [[18, 0, 0, "-", "max_sharpe"], [19, 0, 0, "-", "min_var"], [20, 0, 0, "-", "soft_risk"], [21, 0, 0, "-", "utils"]], "markowitz.portfolios.max_sharpe": [[18, 1, 1, "", "MaxSharpe"]], "markowitz.portfolios.max_sharpe.MaxSharpe": [[18, 2, 1, "", "__post_init__"], [18, 3, 1, "", "objective"]], "markowitz.portfolios.min_var": [[19, 1, 1, "", "MinVar"]], "markowitz.portfolios.min_var.MinVar": [[19, 2, 1, "", "__post_init__"], [19, 3, 1, "", "objective"]], "markowitz.portfolios.soft_risk": [[20, 1, 1, "", "SoftRisk"]], "markowitz.portfolios.soft_risk.SoftRisk": [[20, 2, 1, "", "__post_init__"], [20, 4, 1, "", "_sigma"], [20, 4, 1, "", "_sigma_target_times_omega"], [20, 3, 1, "", "objective"]], "markowitz.portfolios.utils": [[21, 5, 1, "", "approx"]], "markowitz.risk": [[26, 1, 1, "", "CVar"], [26, 1, 1, "", "FactorModel"], [26, 1, 1, "", "SampleCovariance"], [23, 0, 0, "-", "cvar"], [25, 0, 0, "-", "factor"], [27, 0, 0, "-", "sample"]], "markowitz.risk.CVar": [[26, 2, 1, "", "__post_init__"], [26, 4, 1, "", "alpha"], [26, 2, 1, "", "estimate"], [26, 4, 1, "", "rows"], [26, 2, 1, "", "update"]], "markowitz.risk.FactorModel": [[26, 2, 1, "", "__post_init__"], [26, 2, 1, "", "_residual_risk"], [26, 2, 1, "", "_systematic_risk"], [26, 2, 1, "", "constraints"], [26, 2, 1, "", "estimate"], [26, 4, 1, "", "factors"], [26, 2, 1, "", "update"]], "markowitz.risk.SampleCovariance": [[26, 2, 1, "", "__post_init__"], [26, 2, 1, "", "constraints"], [26, 2, 1, "", "estimate"], [26, 2, 1, "", "update"]], "markowitz.risk.cvar": [[23, 1, 1, "", "CVar"], [22, 0, 0, "-", "cvar"]], "markowitz.risk.cvar.CVar": [[23, 2, 1, "", "__post_init__"], [23, 4, 1, "", "alpha"], [23, 2, 1, "", "estimate"], [23, 4, 1, "", "rows"], [23, 2, 1, "", "update"]], "markowitz.risk.cvar.cvar": [[22, 1, 1, "", "CVar"]], "markowitz.risk.cvar.cvar.CVar": [[22, 2, 1, "", "__post_init__"], [22, 4, 1, "", "alpha"], [22, 2, 1, "", "estimate"], [22, 4, 1, "", "rows"], [22, 2, 1, "", "update"]], "markowitz.risk.factor": [[25, 1, 1, "", "FactorModel"], [24, 0, 0, "-", "factor"]], "markowitz.risk.factor.FactorModel": [[25, 2, 1, "", "__post_init__"], [25, 2, 1, "", "_residual_risk"], [25, 2, 1, "", "_systematic_risk"], [25, 2, 1, "", "constraints"], [25, 2, 1, "", "estimate"], [25, 4, 1, "", "factors"], [25, 2, 1, "", "update"]], "markowitz.risk.factor.factor": [[24, 1, 1, "", "FactorModel"]], "markowitz.risk.factor.factor.FactorModel": [[24, 2, 1, "", "__post_init__"], [24, 2, 1, "", "_residual_risk"], [24, 2, 1, "", "_systematic_risk"], [24, 2, 1, "", "constraints"], [24, 2, 1, "", "estimate"], [24, 4, 1, "", "factors"], [24, 2, 1, "", "update"]], "markowitz.risk.sample": [[27, 1, 1, "", "SampleCovariance"], [28, 0, 0, "-", "sample"]], "markowitz.risk.sample.SampleCovariance": [[27, 2, 1, "", "__post_init__"], [27, 2, 1, "", "constraints"], [27, 2, 1, "", "estimate"], [27, 2, 1, "", "update"]], "markowitz.risk.sample.sample": [[28, 1, 1, "", "SampleCovariance"]], "markowitz.risk.sample.sample.SampleCovariance": [[28, 2, 1, "", "__post_init__"], [28, 2, 1, "", "constraints"], [28, 2, 1, "", "estimate"], [28, 2, 1, "", "update"]], "markowitz.types": [[29, 6, 1, "", "Constraints"], [29, 6, 1, "", "Expressions"], [29, 6, 1, "", "File"], [29, 6, 1, "", "Matrix"], [29, 6, 1, "", "Parameter"], [29, 6, 1, "", "Variables"]], "markowitz.utils": [[30, 0, 0, "-", "fill"]], "markowitz.utils.fill": [[30, 5, 1, "", "fill_matrix"], [30, 5, 1, "", "fill_vector"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:function", "6": "py:data", "7": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"], "7": ["py", "exception", "Python exception"]}, "titleterms": {"api": [0, 32], "refer": 0, "linalg": [1, 2, 3, 4, 5, 6], "choleski": 1, "modul": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 24, 28, 29, 30], "content": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], "function": [1, 2, 4, 6, 7, 21, 30], "submodul": [2, 9, 14, 17, 23, 25, 27, 31], "packag": [2, 23, 25, 26, 27], "class": [2, 3, 7, 10, 11, 12, 13, 15, 16, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28], "pca": 3, "random": 4, "type": [5, 29], "valid": 6, "markowitz": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31], "builder": 7, "cvxerror": 8, "subpackag": [9, 26], "model": [10, 11, 12, 13, 14, 15], "bound": 11, "expected_return": 12, "holding_cost": 13, "trading_cost": 15, "name": 16, "portfolio": [17, 18, 19, 20, 21], "max_sharp": 18, "min_var": 19, "soft_risk": 20, "util": [21, 30, 31], "risk": [22, 23, 24, 25, 26, 27, 28], "cvar": [22, 23], "factor": [24, 25], "sampl": [27, 28], "fill": 30, "document": 32, "licens": 33}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"API Reference": [[0, "api-reference"]], "linalg.cholesky": [[1, "module-linalg.cholesky"]], "Module Contents": [[1, "module-contents"], [3, "module-contents"], [4, "module-contents"], [5, "module-contents"], [6, "module-contents"], [7, "module-contents"], [8, "module-contents"], [10, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [15, "module-contents"], [16, "module-contents"], [18, "module-contents"], [19, "module-contents"], [20, "module-contents"], [21, "module-contents"], [22, "module-contents"], [24, "module-contents"], [28, "module-contents"], [29, "module-contents"], [30, "module-contents"]], "Functions": [[1, "functions"], [2, "functions"], [4, "functions"], [6, "functions"], [7, "functions"], [21, "functions"], [30, "functions"]], "linalg": [[2, "module-linalg"]], "Submodules": [[2, "submodules"], [9, "submodules"], [14, "submodules"], [17, "submodules"], [23, "submodules"], [25, "submodules"], [27, "submodules"], [31, "submodules"]], "Package Contents": [[2, "package-contents"], [23, "package-contents"], [25, "package-contents"], [26, "package-contents"], [27, "package-contents"]], "Classes": [[2, "classes"], [3, "classes"], [7, "classes"], [10, "classes"], [11, "classes"], [12, "classes"], [13, "classes"], [15, "classes"], [16, "classes"], [18, "classes"], [19, "classes"], [20, "classes"], [22, "classes"], [23, "classes"], [24, "classes"], [25, "classes"], [26, "classes"], [27, "classes"], [28, "classes"]], "linalg.pca": [[3, "module-linalg.pca"]], "linalg.random": [[4, "module-linalg.random"]], "linalg.types": [[5, "module-linalg.types"]], "linalg.valid": [[6, "module-linalg.valid"]], "markowitz.builder": [[7, "module-markowitz.builder"]], "markowitz.cvxerror": [[8, "module-markowitz.cvxerror"]], "markowitz": [[9, "module-markowitz"]], "Subpackages": [[9, "subpackages"], [26, "subpackages"]], "markowitz.model": [[10, "module-markowitz.model"]], "markowitz.models.bounds": [[11, "module-markowitz.models.bounds"]], "markowitz.models.expected_returns": [[12, "module-markowitz.models.expected_returns"]], "markowitz.models.holding_costs": [[13, "module-markowitz.models.holding_costs"]], "markowitz.models": [[14, "module-markowitz.models"]], "markowitz.models.trading_costs": [[15, "module-markowitz.models.trading_costs"]], "markowitz.names": [[16, "module-markowitz.names"]], "markowitz.portfolios": [[17, "module-markowitz.portfolios"]], "markowitz.portfolios.max_sharpe": [[18, "module-markowitz.portfolios.max_sharpe"]], "markowitz.portfolios.min_var": [[19, "module-markowitz.portfolios.min_var"]], "markowitz.portfolios.soft_risk": [[20, "module-markowitz.portfolios.soft_risk"]], "markowitz.portfolios.utils": [[21, "module-markowitz.portfolios.utils"]], "markowitz.risk.cvar.cvar": [[22, "module-markowitz.risk.cvar.cvar"]], "markowitz.risk.cvar": [[23, "module-markowitz.risk.cvar"]], "markowitz.risk.factor.factor": [[24, "module-markowitz.risk.factor.factor"]], "markowitz.risk.factor": [[25, "module-markowitz.risk.factor"]], "markowitz.risk": [[26, "module-markowitz.risk"]], "markowitz.risk.sample": [[27, "module-markowitz.risk.sample"]], "markowitz.risk.sample.sample": [[28, "module-markowitz.risk.sample.sample"]], "markowitz.types": [[29, "module-markowitz.types"]], "markowitz.utils.fill": [[30, "module-markowitz.utils.fill"]], "markowitz.utils": [[31, "module-markowitz.utils"]], "API Documentation": [[32, "api-documentation"]], "License": [[33, "license"]]}, "indexentries": {"cholesky() (in module linalg.cholesky)": [[1, "linalg.cholesky.cholesky"]], "linalg.cholesky": [[1, "module-linalg.cholesky"]], "module": [[1, "module-linalg.cholesky"], [2, "module-linalg"], [3, "module-linalg.pca"], [4, "module-linalg.random"], [5, "module-linalg.types"], [6, "module-linalg.valid"], [7, "module-markowitz.builder"], [8, "module-markowitz.cvxerror"], [9, "module-markowitz"], [10, "module-markowitz.model"], [11, "module-markowitz.models.bounds"], [12, "module-markowitz.models.expected_returns"], [13, "module-markowitz.models.holding_costs"], [14, "module-markowitz.models"], [15, "module-markowitz.models.trading_costs"], [16, "module-markowitz.names"], [17, "module-markowitz.portfolios"], [18, "module-markowitz.portfolios.max_sharpe"], [19, "module-markowitz.portfolios.min_var"], [20, "module-markowitz.portfolios.soft_risk"], [21, "module-markowitz.portfolios.utils"], [22, "module-markowitz.risk.cvar.cvar"], [23, "module-markowitz.risk.cvar"], [24, "module-markowitz.risk.factor.factor"], [25, "module-markowitz.risk.factor"], [26, "module-markowitz.risk"], [27, "module-markowitz.risk.sample"], [28, "module-markowitz.risk.sample.sample"], [29, "module-markowitz.types"], [30, "module-markowitz.utils.fill"], [31, "module-markowitz.utils"]], "pca (class in linalg)": [[2, "linalg.PCA"]], "__post_init__() (linalg.pca method)": [[2, "linalg.PCA.__post_init__"]], "cholesky() (in module linalg)": [[2, "linalg.cholesky"]], "cov (linalg.pca property)": [[2, "linalg.PCA.cov"]], "explained_variance (linalg.pca property)": [[2, "linalg.PCA.explained_variance"]], "idiosyncratic_returns (linalg.pca property)": [[2, "linalg.PCA.idiosyncratic_returns"]], "idiosyncratic_vola (linalg.pca property)": [[2, "linalg.PCA.idiosyncratic_vola"]], "linalg": [[2, "module-linalg"]], "n_components (linalg.pca attribute)": [[2, "linalg.PCA.n_components"]], "returns (linalg.pca attribute)": [[2, "linalg.PCA.returns"]], "systematic_returns (linalg.pca property)": [[2, "linalg.PCA.systematic_returns"]], "valid() (in module linalg)": [[2, "linalg.valid"]], "pca (class in linalg.pca)": [[3, "linalg.pca.PCA"]], "__post_init__() (linalg.pca.pca method)": [[3, "linalg.pca.PCA.__post_init__"]], "cov (linalg.pca.pca property)": [[3, "linalg.pca.PCA.cov"]], "explained_variance (linalg.pca.pca property)": [[3, "linalg.pca.PCA.explained_variance"]], "idiosyncratic_returns (linalg.pca.pca property)": [[3, "linalg.pca.PCA.idiosyncratic_returns"]], "idiosyncratic_vola (linalg.pca.pca property)": [[3, "linalg.pca.PCA.idiosyncratic_vola"]], "linalg.pca": [[3, "module-linalg.pca"]], "n_components (linalg.pca.pca attribute)": [[3, "linalg.pca.PCA.n_components"]], "returns (linalg.pca.pca attribute)": [[3, "linalg.pca.PCA.returns"]], "systematic_returns (linalg.pca.pca property)": [[3, "linalg.pca.PCA.systematic_returns"]], "linalg.random": [[4, "module-linalg.random"]], "rand_cov() (in module linalg.random)": [[4, "linalg.random.rand_cov"]], "matrix (in module linalg.types)": [[5, "linalg.types.Matrix"]], "linalg.types": [[5, "module-linalg.types"]], "linalg.valid": [[6, "module-linalg.valid"]], "valid() (in module linalg.valid)": [[6, "linalg.valid.valid"]], "builder (class in markowitz.builder)": [[7, "markowitz.builder.Builder"]], "_problem (class in markowitz.builder)": [[7, "markowitz.builder._Problem"]], "__post_init__() (markowitz.builder.builder method)": [[7, "markowitz.builder.Builder.__post_init__"]], "assets (markowitz.builder.builder attribute)": [[7, "markowitz.builder.Builder.assets"]], "build() (markowitz.builder.builder method)": [[7, "markowitz.builder.Builder.build"]], "constraints (markowitz.builder.builder attribute)": [[7, "markowitz.builder.Builder.constraints"]], "data (markowitz.builder._problem property)": [[7, "markowitz.builder._Problem.data"]], "deserialize() (in module markowitz.builder)": [[7, "markowitz.builder.deserialize"]], "factor_weights (markowitz.builder.builder property)": [[7, "markowitz.builder.Builder.factor_weights"]], "factor_weights (markowitz.builder._problem property)": [[7, "markowitz.builder._Problem.factor_weights"]], "factors (markowitz.builder.builder attribute)": [[7, "markowitz.builder.Builder.factors"]], "is_dpp() (markowitz.builder._problem method)": [[7, "markowitz.builder._Problem.is_dpp"]], "markowitz.builder": [[7, "module-markowitz.builder"]], "model (markowitz.builder.builder attribute)": [[7, "markowitz.builder.Builder.model"]], "model (markowitz.builder._problem attribute)": [[7, "markowitz.builder._Problem.model"]], "objective (markowitz.builder.builder property)": [[7, "markowitz.builder.Builder.objective"]], "parameter (markowitz.builder.builder attribute)": [[7, "markowitz.builder.Builder.parameter"]], "parameter (markowitz.builder._problem property)": [[7, "markowitz.builder._Problem.parameter"]], "problem (markowitz.builder._problem attribute)": [[7, "markowitz.builder._Problem.problem"]], "risk (markowitz.builder.builder property)": [[7, "markowitz.builder.Builder.risk"]], "serialize() (markowitz.builder._problem method)": [[7, "markowitz.builder._Problem.serialize"]], "solve() (markowitz.builder._problem method)": [[7, "markowitz.builder._Problem.solve"]], "update() (markowitz.builder._problem method)": [[7, "markowitz.builder._Problem.update"]], "value (markowitz.builder._problem property)": [[7, "markowitz.builder._Problem.value"]], "variables (markowitz.builder.builder attribute)": [[7, "markowitz.builder.Builder.variables"]], "variables (markowitz.builder._problem property)": [[7, "markowitz.builder._Problem.variables"]], "weights (markowitz.builder.builder property)": [[7, "markowitz.builder.Builder.weights"]], "weights (markowitz.builder._problem property)": [[7, "markowitz.builder._Problem.weights"]], "cvxerror": [[8, "markowitz.cvxerror.CvxError"]], "markowitz.cvxerror": [[8, "module-markowitz.cvxerror"]], "markowitz": [[9, "module-markowitz"]], "model (class in markowitz.model)": [[10, "markowitz.model.Model"]], "assets (markowitz.model.model attribute)": [[10, "markowitz.model.Model.assets"]], "constraints() (markowitz.model.model method)": [[10, "markowitz.model.Model.constraints"]], "data (markowitz.model.model attribute)": [[10, "markowitz.model.Model.data"]], "estimate() (markowitz.model.model method)": [[10, "markowitz.model.Model.estimate"]], "markowitz.model": [[10, "module-markowitz.model"]], "parameter (markowitz.model.model attribute)": [[10, "markowitz.model.Model.parameter"]], "update() (markowitz.model.model method)": [[10, "markowitz.model.Model.update"]], "bounds (class in markowitz.models.bounds)": [[11, "markowitz.models.bounds.Bounds"]], "__post_init__() (markowitz.models.bounds.bounds method)": [[11, "markowitz.models.bounds.Bounds.__post_init__"]], "_f() (markowitz.models.bounds.bounds method)": [[11, "markowitz.models.bounds.Bounds._f"]], "acting_on (markowitz.models.bounds.bounds attribute)": [[11, "markowitz.models.bounds.Bounds.acting_on"]], "constraints() (markowitz.models.bounds.bounds method)": [[11, "markowitz.models.bounds.Bounds.constraints"]], "estimate() (markowitz.models.bounds.bounds method)": [[11, "markowitz.models.bounds.Bounds.estimate"]], "markowitz.models.bounds": [[11, "module-markowitz.models.bounds"]], "name (markowitz.models.bounds.bounds attribute)": [[11, "markowitz.models.bounds.Bounds.name"]], "update() (markowitz.models.bounds.bounds method)": [[11, "markowitz.models.bounds.Bounds.update"]], "expectedreturns (class in markowitz.models.expected_returns)": [[12, "markowitz.models.expected_returns.ExpectedReturns"]], "__post_init__() (markowitz.models.expected_returns.expectedreturns method)": [[12, "markowitz.models.expected_returns.ExpectedReturns.__post_init__"]], "estimate() (markowitz.models.expected_returns.expectedreturns method)": [[12, "markowitz.models.expected_returns.ExpectedReturns.estimate"]], "markowitz.models.expected_returns": [[12, "module-markowitz.models.expected_returns"]], "update() (markowitz.models.expected_returns.expectedreturns method)": [[12, "markowitz.models.expected_returns.ExpectedReturns.update"]], "holdingcosts (class in markowitz.models.holding_costs)": [[13, "markowitz.models.holding_costs.HoldingCosts"]], "__post_init__() (markowitz.models.holding_costs.holdingcosts method)": [[13, "markowitz.models.holding_costs.HoldingCosts.__post_init__"]], "estimate() (markowitz.models.holding_costs.holdingcosts method)": [[13, "markowitz.models.holding_costs.HoldingCosts.estimate"]], "markowitz.models.holding_costs": [[13, "module-markowitz.models.holding_costs"]], "update() (markowitz.models.holding_costs.holdingcosts method)": [[13, "markowitz.models.holding_costs.HoldingCosts.update"]], "markowitz.models": [[14, "module-markowitz.models"]], "tradingcosts (class in markowitz.models.trading_costs)": [[15, "markowitz.models.trading_costs.TradingCosts"]], "__post_init__() (markowitz.models.trading_costs.tradingcosts method)": [[15, "markowitz.models.trading_costs.TradingCosts.__post_init__"]], "estimate() (markowitz.models.trading_costs.tradingcosts method)": [[15, "markowitz.models.trading_costs.TradingCosts.estimate"]], "markowitz.models.trading_costs": [[15, "module-markowitz.models.trading_costs"]], "update() (markowitz.models.trading_costs.tradingcosts method)": [[15, "markowitz.models.trading_costs.TradingCosts.update"]], "bound_assets (markowitz.names.modelname attribute)": [[16, "markowitz.names.ModelName.BOUND_ASSETS"]], "bound_factors (markowitz.names.modelname attribute)": [[16, "markowitz.names.ModelName.BOUND_FACTORS"]], "budget (markowitz.names.constraintname attribute)": [[16, "markowitz.names.ConstraintName.BUDGET"]], "cholesky (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.CHOLESKY"]], "concentration (markowitz.names.constraintname attribute)": [[16, "markowitz.names.ConstraintName.CONCENTRATION"]], "constraintname (class in markowitz.names)": [[16, "markowitz.names.ConstraintName"]], "datanames (class in markowitz.names)": [[16, "markowitz.names.DataNames"]], "exposure (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.EXPOSURE"]], "factor_weights (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.FACTOR_WEIGHTS"]], "holding_costs (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.HOLDING_COSTS"]], "idiosyncratic_vola (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.IDIOSYNCRATIC_VOLA"]], "idiosyncratic_vola_uncertainty (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.IDIOSYNCRATIC_VOLA_UNCERTAINTY"]], "leverage (markowitz.names.constraintname attribute)": [[16, "markowitz.names.ConstraintName.LEVERAGE"]], "long_only (markowitz.names.constraintname attribute)": [[16, "markowitz.names.ConstraintName.LONG_ONLY"]], "lower_bound_assets (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.LOWER_BOUND_ASSETS"]], "lower_bound_factors (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.LOWER_BOUND_FACTORS"]], "mu (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.MU"]], "mu_uncertainty (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.MU_UNCERTAINTY"]], "modelname (class in markowitz.names)": [[16, "markowitz.names.ModelName"]], "omega (markowitz.names.parametername attribute)": [[16, "markowitz.names.ParameterName.OMEGA"]], "parametername (class in markowitz.names)": [[16, "markowitz.names.ParameterName"]], "return (markowitz.names.modelname attribute)": [[16, "markowitz.names.ModelName.RETURN"]], "returns (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.RETURNS"]], "risk (markowitz.names.constraintname attribute)": [[16, "markowitz.names.ConstraintName.RISK"]], "risk (markowitz.names.modelname attribute)": [[16, "markowitz.names.ModelName.RISK"]], "sigma_max (markowitz.names.parametername attribute)": [[16, "markowitz.names.ParameterName.SIGMA_MAX"]], "sigma_target (markowitz.names.parametername attribute)": [[16, "markowitz.names.ParameterName.SIGMA_TARGET"]], "systematic_vola_uncertainty (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.SYSTEMATIC_VOLA_UNCERTAINTY"]], "upper_bound_assets (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.UPPER_BOUND_ASSETS"]], "upper_bound_factors (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.UPPER_BOUND_FACTORS"]], "vola_uncertainty (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.VOLA_UNCERTAINTY"]], "weights (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames.WEIGHTS"]], "_abs (markowitz.names.datanames attribute)": [[16, "markowitz.names.DataNames._ABS"]], "markowitz.names": [[16, "module-markowitz.names"]], "markowitz.portfolios": [[17, "module-markowitz.portfolios"]], "maxsharpe (class in markowitz.portfolios.max_sharpe)": [[18, "markowitz.portfolios.max_sharpe.MaxSharpe"]], "__post_init__() (markowitz.portfolios.max_sharpe.maxsharpe method)": [[18, "markowitz.portfolios.max_sharpe.MaxSharpe.__post_init__"]], "markowitz.portfolios.max_sharpe": [[18, "module-markowitz.portfolios.max_sharpe"]], "objective (markowitz.portfolios.max_sharpe.maxsharpe property)": [[18, "markowitz.portfolios.max_sharpe.MaxSharpe.objective"]], "minvar (class in markowitz.portfolios.min_var)": [[19, "markowitz.portfolios.min_var.MinVar"]], "__post_init__() (markowitz.portfolios.min_var.minvar method)": [[19, "markowitz.portfolios.min_var.MinVar.__post_init__"]], "markowitz.portfolios.min_var": [[19, "module-markowitz.portfolios.min_var"]], "objective (markowitz.portfolios.min_var.minvar property)": [[19, "markowitz.portfolios.min_var.MinVar.objective"]], "softrisk (class in markowitz.portfolios.soft_risk)": [[20, "markowitz.portfolios.soft_risk.SoftRisk"]], "__post_init__() (markowitz.portfolios.soft_risk.softrisk method)": [[20, "markowitz.portfolios.soft_risk.SoftRisk.__post_init__"]], "_sigma (markowitz.portfolios.soft_risk.softrisk attribute)": [[20, "markowitz.portfolios.soft_risk.SoftRisk._sigma"]], "_sigma_target_times_omega (markowitz.portfolios.soft_risk.softrisk attribute)": [[20, "markowitz.portfolios.soft_risk.SoftRisk._sigma_target_times_omega"]], "markowitz.portfolios.soft_risk": [[20, "module-markowitz.portfolios.soft_risk"]], "objective (markowitz.portfolios.soft_risk.softrisk property)": [[20, "markowitz.portfolios.soft_risk.SoftRisk.objective"]], "approx() (in module markowitz.portfolios.utils)": [[21, "markowitz.portfolios.utils.approx"]], "markowitz.portfolios.utils": [[21, "module-markowitz.portfolios.utils"]], "cvar (class in markowitz.risk.cvar.cvar)": [[22, "markowitz.risk.cvar.cvar.CVar"]], "__post_init__() (markowitz.risk.cvar.cvar.cvar method)": [[22, "markowitz.risk.cvar.cvar.CVar.__post_init__"]], "alpha (markowitz.risk.cvar.cvar.cvar attribute)": [[22, "markowitz.risk.cvar.cvar.CVar.alpha"]], "estimate() (markowitz.risk.cvar.cvar.cvar method)": [[22, "markowitz.risk.cvar.cvar.CVar.estimate"]], "markowitz.risk.cvar.cvar": [[22, "module-markowitz.risk.cvar.cvar"]], "rows (markowitz.risk.cvar.cvar.cvar attribute)": [[22, "markowitz.risk.cvar.cvar.CVar.rows"]], "update() (markowitz.risk.cvar.cvar.cvar method)": [[22, "markowitz.risk.cvar.cvar.CVar.update"]], "cvar (class in markowitz.risk.cvar)": [[23, "markowitz.risk.cvar.CVar"]], "__post_init__() (markowitz.risk.cvar.cvar method)": [[23, "markowitz.risk.cvar.CVar.__post_init__"]], "alpha (markowitz.risk.cvar.cvar attribute)": [[23, "markowitz.risk.cvar.CVar.alpha"]], "estimate() (markowitz.risk.cvar.cvar method)": [[23, "markowitz.risk.cvar.CVar.estimate"]], "markowitz.risk.cvar": [[23, "module-markowitz.risk.cvar"]], "rows (markowitz.risk.cvar.cvar attribute)": [[23, "markowitz.risk.cvar.CVar.rows"]], "update() (markowitz.risk.cvar.cvar method)": [[23, "markowitz.risk.cvar.CVar.update"]], "factormodel (class in markowitz.risk.factor.factor)": [[24, "markowitz.risk.factor.factor.FactorModel"]], "__post_init__() (markowitz.risk.factor.factor.factormodel method)": [[24, "markowitz.risk.factor.factor.FactorModel.__post_init__"]], "_residual_risk() (markowitz.risk.factor.factor.factormodel method)": [[24, "markowitz.risk.factor.factor.FactorModel._residual_risk"]], "_systematic_risk() (markowitz.risk.factor.factor.factormodel method)": [[24, "markowitz.risk.factor.factor.FactorModel._systematic_risk"]], "constraints() (markowitz.risk.factor.factor.factormodel method)": [[24, "markowitz.risk.factor.factor.FactorModel.constraints"]], "estimate() (markowitz.risk.factor.factor.factormodel method)": [[24, "markowitz.risk.factor.factor.FactorModel.estimate"]], "factors (markowitz.risk.factor.factor.factormodel attribute)": [[24, "markowitz.risk.factor.factor.FactorModel.factors"]], "markowitz.risk.factor.factor": [[24, "module-markowitz.risk.factor.factor"]], "update() (markowitz.risk.factor.factor.factormodel method)": [[24, "markowitz.risk.factor.factor.FactorModel.update"]], "factormodel (class in markowitz.risk.factor)": [[25, "markowitz.risk.factor.FactorModel"]], "__post_init__() (markowitz.risk.factor.factormodel method)": [[25, "markowitz.risk.factor.FactorModel.__post_init__"]], "_residual_risk() (markowitz.risk.factor.factormodel method)": [[25, "markowitz.risk.factor.FactorModel._residual_risk"]], "_systematic_risk() (markowitz.risk.factor.factormodel method)": [[25, "markowitz.risk.factor.FactorModel._systematic_risk"]], "constraints() (markowitz.risk.factor.factormodel method)": [[25, "markowitz.risk.factor.FactorModel.constraints"]], "estimate() (markowitz.risk.factor.factormodel method)": [[25, "markowitz.risk.factor.FactorModel.estimate"]], "factors (markowitz.risk.factor.factormodel attribute)": [[25, "markowitz.risk.factor.FactorModel.factors"]], "markowitz.risk.factor": [[25, "module-markowitz.risk.factor"]], "update() (markowitz.risk.factor.factormodel method)": [[25, "markowitz.risk.factor.FactorModel.update"]], "cvar (class in markowitz.risk)": [[26, "markowitz.risk.CVar"]], "factormodel (class in markowitz.risk)": [[26, "markowitz.risk.FactorModel"]], "samplecovariance (class in markowitz.risk)": [[26, "markowitz.risk.SampleCovariance"]], "__post_init__() (markowitz.risk.cvar method)": [[26, "markowitz.risk.CVar.__post_init__"]], "__post_init__() (markowitz.risk.factormodel method)": [[26, "markowitz.risk.FactorModel.__post_init__"]], "__post_init__() (markowitz.risk.samplecovariance method)": [[26, "markowitz.risk.SampleCovariance.__post_init__"]], "_residual_risk() (markowitz.risk.factormodel method)": [[26, "markowitz.risk.FactorModel._residual_risk"]], "_systematic_risk() (markowitz.risk.factormodel method)": [[26, "markowitz.risk.FactorModel._systematic_risk"]], "alpha (markowitz.risk.cvar attribute)": [[26, "markowitz.risk.CVar.alpha"]], "constraints() (markowitz.risk.factormodel method)": [[26, "markowitz.risk.FactorModel.constraints"]], "constraints() (markowitz.risk.samplecovariance method)": [[26, "markowitz.risk.SampleCovariance.constraints"]], "estimate() (markowitz.risk.cvar method)": [[26, "markowitz.risk.CVar.estimate"]], "estimate() (markowitz.risk.factormodel method)": [[26, "markowitz.risk.FactorModel.estimate"]], "estimate() (markowitz.risk.samplecovariance method)": [[26, "markowitz.risk.SampleCovariance.estimate"]], "factors (markowitz.risk.factormodel attribute)": [[26, "markowitz.risk.FactorModel.factors"]], "markowitz.risk": [[26, "module-markowitz.risk"]], "rows (markowitz.risk.cvar attribute)": [[26, "markowitz.risk.CVar.rows"]], "update() (markowitz.risk.cvar method)": [[26, "markowitz.risk.CVar.update"]], "update() (markowitz.risk.factormodel method)": [[26, "markowitz.risk.FactorModel.update"]], "update() (markowitz.risk.samplecovariance method)": [[26, "markowitz.risk.SampleCovariance.update"]], "samplecovariance (class in markowitz.risk.sample)": [[27, "markowitz.risk.sample.SampleCovariance"]], "__post_init__() (markowitz.risk.sample.samplecovariance method)": [[27, "markowitz.risk.sample.SampleCovariance.__post_init__"]], "constraints() (markowitz.risk.sample.samplecovariance method)": [[27, "markowitz.risk.sample.SampleCovariance.constraints"]], "estimate() (markowitz.risk.sample.samplecovariance method)": [[27, "markowitz.risk.sample.SampleCovariance.estimate"]], "markowitz.risk.sample": [[27, "module-markowitz.risk.sample"]], "update() (markowitz.risk.sample.samplecovariance method)": [[27, "markowitz.risk.sample.SampleCovariance.update"]], "samplecovariance (class in markowitz.risk.sample.sample)": [[28, "markowitz.risk.sample.sample.SampleCovariance"]], "__post_init__() (markowitz.risk.sample.sample.samplecovariance method)": [[28, "markowitz.risk.sample.sample.SampleCovariance.__post_init__"]], "constraints() (markowitz.risk.sample.sample.samplecovariance method)": [[28, "markowitz.risk.sample.sample.SampleCovariance.constraints"]], "estimate() (markowitz.risk.sample.sample.samplecovariance method)": [[28, "markowitz.risk.sample.sample.SampleCovariance.estimate"]], "markowitz.risk.sample.sample": [[28, "module-markowitz.risk.sample.sample"]], "update() (markowitz.risk.sample.sample.samplecovariance method)": [[28, "markowitz.risk.sample.sample.SampleCovariance.update"]], "constraints (in module markowitz.types)": [[29, "markowitz.types.Constraints"]], "expressions (in module markowitz.types)": [[29, "markowitz.types.Expressions"]], "file (in module markowitz.types)": [[29, "markowitz.types.File"]], "matrix (in module markowitz.types)": [[29, "markowitz.types.Matrix"]], "parameter (in module markowitz.types)": [[29, "markowitz.types.Parameter"]], "variables (in module markowitz.types)": [[29, "markowitz.types.Variables"]], "markowitz.types": [[29, "module-markowitz.types"]], "fill_matrix() (in module markowitz.utils.fill)": [[30, "markowitz.utils.fill.fill_matrix"]], "fill_vector() (in module markowitz.utils.fill)": [[30, "markowitz.utils.fill.fill_vector"]], "markowitz.utils.fill": [[30, "module-markowitz.utils.fill"]], "markowitz.utils": [[31, "module-markowitz.utils"]]}})
\ No newline at end of file
diff --git a/tests/coverage/coverage.json b/tests/coverage/coverage.json
index 44cdf6dc..0243dd51 100644
--- a/tests/coverage/coverage.json
+++ b/tests/coverage/coverage.json
@@ -1 +1 @@
-{"meta": {"version": "7.3.1", "timestamp": "2023-09-28T05:38:27.661312", "branch_coverage": false, "show_contexts": false}, "files": {"cvx/linalg/__init__.py": {"executed_lines": [14, 15, 17, 18, 19], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/linalg/cholesky.py": {"executed_lines": [14, 15, 17, 19, 22, 26], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/linalg/pca.py": {"executed_lines": [14, 15, 17, 19, 21, 24, 25, 26, 27, 29, 30, 31, 37, 38, 41, 44, 45, 46, 48, 50, 52, 53, 54, 58, 59, 60, 62, 63, 64, 66, 67, 68, 70, 71, 72], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/linalg/random.py": {"executed_lines": [14, 16, 19, 20, 21], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/linalg/types.py": {"executed_lines": [14, 15, 16, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/linalg/valid.py": {"executed_lines": [14, 15, 17, 19, 22, 31, 32, 34, 35], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/builder.py": {"executed_lines": [14, 16, 17, 18, 19, 20, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 39, 42, 43, 44, 45, 47, 51, 52, 53, 54, 60, 62, 64, 68, 70, 71, 73, 75, 76, 77, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 92, 93, 94, 96, 97, 98, 100, 101, 102, 104, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 118, 120, 121, 124, 128, 132, 135, 137, 141, 144, 148, 149, 150, 155, 159, 160, 163, 165, 166, 168, 170, 171, 172, 174, 175, 176, 178, 179, 180], "summary": {"covered_lines": 97, "num_statements": 97, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/cvxerror.py": {"executed_lines": [14, 15], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/model.py": {"executed_lines": [14, 16, 18, 19, 21, 23, 26, 27, 28, 30, 31, 32, 34, 35, 40, 41, 46, 50], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/models/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/models/bounds.py": {"executed_lines": [14, 15, 17, 19, 20, 22, 23, 24, 27, 28, 29, 30, 32, 34, 36, 37, 39, 40, 45, 51, 52, 55, 59, 60], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/models/expected_returns.py": {"executed_lines": [14, 15, 17, 19, 20, 22, 23, 24, 25, 26, 29, 30, 31, 33, 34, 41, 48, 49, 53, 54, 55, 58, 59, 60, 62], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/models/holding_costs.py": {"executed_lines": [14, 15, 17, 19, 20, 22, 23, 24, 25, 28, 29, 30, 32, 33, 37, 38, 42, 43], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/models/trading_costs.py": {"executed_lines": [14, 15, 17, 19, 20, 22, 23, 24, 25, 28, 29, 30, 32, 33, 36, 40, 41, 48, 49], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/names.py": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 52, 53, 54, 55], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/portfolios/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/portfolios/max_sharpe.py": {"executed_lines": [14, 16, 18, 20, 21, 22, 23, 24, 27, 28, 30, 36, 37, 38, 40, 41, 43, 45, 49, 50, 51], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/portfolios/min_var.py": {"executed_lines": [14, 16, 18, 20, 21, 24, 25, 27, 33, 34, 35, 37, 38, 39, 40], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/portfolios/soft_risk.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [14, 16, 18, 20, 21, 22, 23, 24, 27, 28, 35, 36, 40, 41, 42, 43, 46, 48, 49, 51, 53, 55, 59, 60, 64, 65, 66, 67], "excluded_lines": []}, "cvx/markowitz/portfolios/utils.py": {"executed_lines": [14, 16, 19, 22, 23], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/__init__.py": {"executed_lines": [14, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/cvar/__init__.py": {"executed_lines": [14, 16], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/cvar/cvar.py": {"executed_lines": [14, 16, 18, 19, 21, 22, 23, 24, 27, 28, 29, 31, 32, 34, 36, 42, 49, 50, 52, 53], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/factor/__init__.py": {"executed_lines": [14, 16], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/factor/factor.py": {"executed_lines": [14, 16, 18, 20, 21, 23, 24, 25, 26, 27, 30, 31, 32, 34, 36, 37, 43, 49, 55, 62, 69, 73, 74, 76, 78, 79, 91, 92, 101, 103, 104, 105, 107, 111, 115, 116, 118, 119, 121, 122, 126, 127, 129, 132, 135, 140, 143, 147, 148], "summary": {"covered_lines": 48, "num_statements": 48, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/sample/__init__.py": {"executed_lines": [14, 16], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/sample/sample.py": {"executed_lines": [14, 16, 18, 20, 21, 23, 24, 25, 26, 27, 30, 31, 32, 34, 35, 41, 49, 53, 62, 63, 64, 66, 69, 73, 74], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/types.py": {"executed_lines": [14, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 28], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/utils/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/utils/fill.py": {"executed_lines": [14, 16, 19, 23, 24, 25, 28, 33, 34, 35, 36], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "totals": {"covered_lines": 459, "num_statements": 487, "percent_covered": 94.25051334702259, "percent_covered_display": "94", "missing_lines": 28, "excluded_lines": 0}}
\ No newline at end of file
+{"meta": {"version": "7.3.1", "timestamp": "2023-10-03T00:15:28.450746", "branch_coverage": false, "show_contexts": false}, "files": {"cvx/linalg/__init__.py": {"executed_lines": [14, 15, 17, 18, 19], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/linalg/cholesky.py": {"executed_lines": [14, 15, 17, 19, 22, 26], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/linalg/pca.py": {"executed_lines": [14, 15, 17, 19, 21, 24, 25, 26, 27, 29, 30, 31, 37, 38, 41, 44, 45, 46, 48, 50, 52, 53, 54, 58, 59, 60, 62, 63, 64, 66, 67, 68, 70, 71, 72], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/linalg/random.py": {"executed_lines": [14, 16, 19, 20, 21], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/linalg/types.py": {"executed_lines": [14, 15, 16, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/linalg/valid.py": {"executed_lines": [14, 15, 17, 19, 22, 31, 32, 34, 35], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/builder.py": {"executed_lines": [14, 16, 17, 18, 19, 20, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 39, 42, 43, 44, 45, 47, 51, 52, 53, 54, 60, 62, 64, 68, 70, 71, 73, 75, 76, 77, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 92, 93, 94, 96, 97, 98, 100, 101, 102, 104, 105, 106, 109, 110, 111, 112, 113, 114, 115, 116, 118, 120, 121, 124, 128, 132, 135, 137, 141, 144, 148, 149, 150, 155, 159, 160, 163, 165, 166, 168, 170, 171, 172, 174, 175, 176, 178, 179, 180], "summary": {"covered_lines": 97, "num_statements": 97, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/cvxerror.py": {"executed_lines": [14, 15], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/model.py": {"executed_lines": [14, 16, 18, 19, 21, 23, 26, 27, 28, 30, 31, 32, 34, 35, 40, 41, 46, 50], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/models/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/models/bounds.py": {"executed_lines": [14, 15, 17, 19, 20, 22, 23, 24, 27, 28, 29, 30, 32, 34, 36, 37, 39, 40, 45, 51, 52, 55, 59, 60], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/models/expected_returns.py": {"executed_lines": [14, 15, 17, 19, 20, 22, 23, 24, 25, 26, 29, 30, 31, 33, 34, 41, 48, 49, 53, 54, 55, 58, 59, 60, 62], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/models/holding_costs.py": {"executed_lines": [14, 15, 17, 19, 20, 22, 23, 24, 25, 28, 29, 30, 32, 33, 37, 38, 42, 43], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/models/trading_costs.py": {"executed_lines": [14, 15, 17, 19, 20, 22, 23, 24, 25, 28, 29, 30, 32, 33, 36, 40, 41, 48, 49], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/names.py": {"executed_lines": [17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 52, 53, 54, 55], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/portfolios/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/portfolios/max_sharpe.py": {"executed_lines": [14, 16, 18, 20, 21, 22, 23, 24, 27, 28, 30, 36, 37, 38, 40, 41, 43, 45, 49, 50, 51], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/portfolios/min_var.py": {"executed_lines": [14, 16, 18, 20, 21, 24, 25, 27, 33, 34, 35, 37, 38, 39, 40], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/portfolios/soft_risk.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [14, 16, 18, 20, 21, 22, 23, 24, 27, 28, 35, 36, 40, 41, 42, 43, 46, 48, 49, 51, 53, 55, 59, 60, 64, 65, 66, 67], "excluded_lines": []}, "cvx/markowitz/portfolios/utils.py": {"executed_lines": [14, 16, 19, 22, 23], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/__init__.py": {"executed_lines": [14, 16, 17, 18], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/cvar/__init__.py": {"executed_lines": [14, 16], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/cvar/cvar.py": {"executed_lines": [14, 16, 18, 19, 21, 22, 23, 24, 27, 28, 29, 31, 32, 34, 36, 42, 49, 50, 52, 53], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/factor/__init__.py": {"executed_lines": [14, 16], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/factor/factor.py": {"executed_lines": [14, 16, 18, 20, 21, 23, 24, 25, 26, 27, 30, 31, 32, 34, 36, 37, 43, 49, 55, 62, 69, 73, 74, 76, 78, 79, 91, 92, 101, 103, 104, 105, 107, 111, 115, 116, 118, 119, 121, 122, 126, 127, 129, 132, 135, 140, 143, 147, 148], "summary": {"covered_lines": 48, "num_statements": 48, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/sample/__init__.py": {"executed_lines": [14, 16], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/risk/sample/sample.py": {"executed_lines": [14, 16, 18, 20, 21, 23, 24, 25, 26, 27, 30, 31, 32, 34, 35, 41, 49, 53, 62, 63, 64, 66, 69, 73, 74], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/types.py": {"executed_lines": [14, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 28], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/utils/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "cvx/markowitz/utils/fill.py": {"executed_lines": [14, 16, 19, 23, 24, 25, 28, 33, 34, 35, 36], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "totals": {"covered_lines": 459, "num_statements": 487, "percent_covered": 94.25051334702259, "percent_covered_display": "94", "missing_lines": 28, "excluded_lines": 0}}
\ No newline at end of file
diff --git a/tests/coverage/coverage.xml b/tests/coverage/coverage.xml
index 52c67e72..06ffb9ed 100644
--- a/tests/coverage/coverage.xml
+++ b/tests/coverage/coverage.xml
@@ -1,5 +1,5 @@
-
» next
coverage.py v7.3.1,
- created at 2023-09-28 05:38 +0000
+ created at 2023-10-03 00:15 +0000