Coverage report:
100%
hide covered
Files
Functions
Classes
coverage.py v7.16.1
, created at 2026-09-15 05:21 +0000
File
function
statements
missing
excluded
coverage
src
/
cvxmarkowitz
/
__init__.py
(no function)
11
0
0
100%
src
/
cvxmarkowitz
/
builder.py
Builder.__post_init__
9
0
0
100%
src
/
cvxmarkowitz
/
builder.py
Builder.objective
0
0
0
100%
src
/
cvxmarkowitz
/
builder.py
Builder.build
7
0
0
100%
src
/
cvxmarkowitz
/
builder.py
Builder.weights
1
0
0
100%
src
/
cvxmarkowitz
/
builder.py
Builder.risk
1
0
0
100%
src
/
cvxmarkowitz
/
builder.py
Builder.factor_weights
4
0
0
100%
src
/
cvxmarkowitz
/
builder.py
(no function)
32
0
0
100%
src
/
cvxmarkowitz
/
cvxerror.py
(no function)
4
0
0
100%
src
/
cvxmarkowitz
/
model.py
Model.keywords
1
0
0
100%
src
/
cvxmarkowitz
/
model.py
Model.estimate
0
0
0
100%
src
/
cvxmarkowitz
/
model.py
Model.dimensions
0
0
0
100%
src
/
cvxmarkowitz
/
model.py
Model.update
0
0
0
100%
src
/
cvxmarkowitz
/
model.py
Model.constraints
1
0
0
100%
src
/
cvxmarkowitz
/
model.py
(no function)
19
0
0
100%
src
/
cvxmarkowitz
/
models
/
__init__.py
(no function)
0
0
0
100%
src
/
cvxmarkowitz
/
models
/
bounds.py
Bounds.estimate
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
bounds.py
Bounds._f
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
bounds.py
Bounds.__post_init__
2
0
0
100%
src
/
cvxmarkowitz
/
models
/
bounds.py
Bounds.dimensions
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
bounds.py
Bounds.update
2
0
0
100%
src
/
cvxmarkowitz
/
models
/
bounds.py
Bounds.constraints
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
bounds.py
(no function)
17
0
0
100%
src
/
cvxmarkowitz
/
models
/
expected_returns.py
ExpectedReturns.__post_init__
2
0
0
100%
src
/
cvxmarkowitz
/
models
/
expected_returns.py
ExpectedReturns.keywords
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
expected_returns.py
ExpectedReturns.estimate
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
expected_returns.py
ExpectedReturns.dimensions
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
expected_returns.py
ExpectedReturns.update
6
0
0
100%
src
/
cvxmarkowitz
/
models
/
expected_returns.py
(no function)
17
0
0
100%
src
/
cvxmarkowitz
/
models
/
holding_costs.py
HoldingCosts.__post_init__
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
holding_costs.py
HoldingCosts.estimate
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
holding_costs.py
HoldingCosts.dimensions
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
holding_costs.py
HoldingCosts.update
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
holding_costs.py
(no function)
14
0
0
100%
src
/
cvxmarkowitz
/
models
/
trading_costs.py
TradingCosts.__post_init__
2
0
0
100%
src
/
cvxmarkowitz
/
models
/
trading_costs.py
TradingCosts.estimate
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
trading_costs.py
TradingCosts.dimensions
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
trading_costs.py
TradingCosts.update
1
0
0
100%
src
/
cvxmarkowitz
/
models
/
trading_costs.py
(no function)
15
0
0
100%
src
/
cvxmarkowitz
/
names.py
(no function)
34
0
0
100%
src
/
cvxmarkowitz
/
portfolios
/
__init__.py
(no function)
0
0
0
100%
src
/
cvxmarkowitz
/
portfolios
/
max_sharpe.py
MaxSharpe.objective
1
0
0
100%
src
/
cvxmarkowitz
/
portfolios
/
max_sharpe.py
MaxSharpe.__post_init__
6
0
0
100%
src
/
cvxmarkowitz
/
portfolios
/
max_sharpe.py
(no function)
13
0
0
100%
src
/
cvxmarkowitz
/
portfolios
/
min_var.py
MinVar.objective
1
0
0
100%
src
/
cvxmarkowitz
/
portfolios
/
min_var.py
MinVar.__post_init__
3
0
0
100%
src
/
cvxmarkowitz
/
portfolios
/
min_var.py
(no function)
10
0
0
100%
src
/
cvxmarkowitz
/
portfolios
/
soft_risk.py
SoftRisk.objective
3
0
0
100%
src
/
cvxmarkowitz
/
portfolios
/
soft_risk.py
SoftRisk.__post_init__
10
0
0
100%
src
/
cvxmarkowitz
/
portfolios
/
soft_risk.py
(no function)
15
0
0
100%
src
/
cvxmarkowitz
/
portfolios
/
utils.py
approx
2
0
0
100%
src
/
cvxmarkowitz
/
portfolios
/
utils.py
(no function)
4
0
0
100%
src
/
cvxmarkowitz
/
problem.py
Problem.update
3
0
0
100%
src
/
cvxmarkowitz
/
problem.py
Problem._validate
10
0
0
100%
src
/
cvxmarkowitz
/
problem.py
Problem.solve
4
0
0
100%
src
/
cvxmarkowitz
/
problem.py
Problem.get_problem_data
1
0
0
100%
src
/
cvxmarkowitz
/
problem.py
Problem.value
1
0
0
100%
src
/
cvxmarkowitz
/
problem.py
Problem.is_dpp
1
0
0
100%
src
/
cvxmarkowitz
/
problem.py
Problem.data
3
0
0
100%
src
/
cvxmarkowitz
/
problem.py
Problem.parameter
1
0
0
100%
src
/
cvxmarkowitz
/
problem.py
Problem.variables
1
0
0
100%
src
/
cvxmarkowitz
/
problem.py
Problem.weights
1
0
0
100%
src
/
cvxmarkowitz
/
problem.py
Problem.factor_weights
4
0
0
100%
src
/
cvxmarkowitz
/
problem.py
(no function)
31
0
0
100%
src
/
cvxmarkowitz
/
risk
/
__init__.py
default_risk_model
3
0
0
100%
src
/
cvxmarkowitz
/
risk
/
__init__.py
(no function)
7
0
0
100%
src
/
cvxmarkowitz
/
risk
/
cvar
/
__init__.py
(no function)
3
0
0
100%
src
/
cvxmarkowitz
/
risk
/
cvar
/
cvar.py
CVar.__post_init__
3
0
0
100%
src
/
cvxmarkowitz
/
risk
/
cvar
/
cvar.py
CVar._tail_size
1
0
0
100%
src
/
cvxmarkowitz
/
risk
/
cvar
/
cvar.py
CVar.estimate
2
0
0
100%
src
/
cvxmarkowitz
/
risk
/
cvar
/
cvar.py
CVar.dimensions
1
0
0
100%
src
/
cvxmarkowitz
/
risk
/
cvar
/
cvar.py
CVar.update
1
0
0
100%
src
/
cvxmarkowitz
/
risk
/
cvar
/
cvar.py
(no function)
19
0
0
100%
src
/
cvxmarkowitz
/
risk
/
factor
/
__init__.py
(no function)
3
0
0
100%
src
/
cvxmarkowitz
/
risk
/
factor
/
factor.py
FactorModel.__post_init__
5
0
0
100%
src
/
cvxmarkowitz
/
risk
/
factor
/
factor.py
FactorModel.estimate
3
0
0
100%
src
/
cvxmarkowitz
/
risk
/
factor
/
factor.py
FactorModel.residual_risk
1
0
0
100%
src
/
cvxmarkowitz
/
risk
/
factor
/
factor.py
FactorModel.systematic_risk
1
0
0
100%
src
/
cvxmarkowitz
/
risk
/
factor
/
factor.py
FactorModel.dimensions
3
0
0
100%
src
/
cvxmarkowitz
/
risk
/
factor
/
factor.py
FactorModel.update
6
0
0
100%
src
/
cvxmarkowitz
/
risk
/
factor
/
factor.py
FactorModel._validate
4
0
0
100%
src
/
cvxmarkowitz
/
risk
/
factor
/
factor.py
FactorModel._check_shapes
9
0
0
100%
src
/
cvxmarkowitz
/
risk
/
factor
/
factor.py
FactorModel.constraints
1
0
0
100%
src
/
cvxmarkowitz
/
risk
/
factor
/
factor.py
(no function)
21
0
0
100%
src
/
cvxmarkowitz
/
risk
/
sample
/
__init__.py
(no function)
3
0
0
100%
src
/
cvxmarkowitz
/
risk
/
sample
/
sample.py
SampleCovariance.__post_init__
2
0
0
100%
src
/
cvxmarkowitz
/
risk
/
sample
/
sample.py
SampleCovariance.estimate
1
0
0
100%
src
/
cvxmarkowitz
/
risk
/
sample
/
sample.py
SampleCovariance.dimensions
2
0
0
100%
src
/
cvxmarkowitz
/
risk
/
sample
/
sample.py
SampleCovariance.update
4
0
0
100%
src
/
cvxmarkowitz
/
risk
/
sample
/
sample.py
SampleCovariance.constraints
1
0
0
100%
src
/
cvxmarkowitz
/
risk
/
sample
/
sample.py
(no function)
16
0
0
100%
src
/
cvxmarkowitz
/
types.py
(no function)
9
0
0
100%
src
/
cvxmarkowitz
/
utils
/
__init__.py
(no function)
0
0
0
100%
src
/
cvxmarkowitz
/
utils
/
fill.py
fill_vector
5
0
0
100%
src
/
cvxmarkowitz
/
utils
/
fill.py
fill_matrix
6
0
0
100%
src
/
cvxmarkowitz
/
utils
/
fill.py
(no function)
5
0
0
100%
Total
495
0
0
100%
No items found using the specified filter.