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, setRiskAversionCoefficientpublic 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
MarkowitzByQPgetOptimalW in class MarkowitzByQPq - the risk-aversion coefficientQPInfeasible - when the underlying quadratic programming problem is
infeasibleExceptionCopyright © 2010-2020 NM FinTech Ltd.. All Rights Reserved.