public class MarkowitzByCLM extends MarkowitzByQP
Constructor and Description |
---|
MarkowitzByCLM(Vector r,
Matrix V)
Solves w_eff = argmin {q * (w' V w) - w'r}, w'1 = 1, w ≥ 0.
|
MarkowitzByCLM(Vector r,
Matrix V,
Vector w_lower,
Vector w_upper)
Solves w_eff = argmin {q * (w' V w) - w'r}, w'1 = 1, w ≥ w_lower, w
≤ w_upper.
|
MarkowitzByCLM(Vector r,
Matrix V,
Vector w_lower,
Vector w_upper,
double benchmarkRate)
Constructs a Markowitz portfolio from expected future returns
and future covariance for a given benchmark rate, with lower and
upper limits on asset weights.
|
Modifier and Type | Method and Description |
---|---|
protected Vector |
getOptimalW(double q)
Solves w_eff = argmin {q * (w' Σ w) - w'r}.
|
fw, getOptimalRiskAversionCoefficient, getOptimalRiskAversionCoefficient, getOptimalWeights, getRiskAversionCoefficientForTargetReturn, getRiskAversionCoefficientForTargetVariance, setRiskAversionCoefficient
public MarkowitzByCLM(Vector r, Matrix V)
r
- the expected returnsV
- the covariance matrixpublic MarkowitzByCLM(Vector r, Matrix V, Vector w_lower, Vector w_upper)
r
- the expected returnsV
- the covariance matrixw_lower
- the lower limits for weightsw_upper
- the upper limits for weightspublic MarkowitzByCLM(Vector r, Matrix V, Vector w_lower, Vector w_upper, double benchmarkRate)
r
- expected future returns of assetsV
- future covariance of assetsw_lower
- the lower limits for weightsw_upper
- the upper limits for weightsbenchmarkRate
- the benchmark rate used to compute Sharpe ratioprotected Vector getOptimalW(double q) throws Exception
MarkowitzByQP
getOptimalW
in class MarkowitzByQP
q
- the risk-aversion coefficientQPInfeasible
- when the underlying quadratic programming problem is
infeasibleException
Copyright © 2010-2020 NM FinTech Ltd.. All Rights Reserved.