public class SOCPSectorExposure extends SOCPPortfolioConstraint
The sector exposure constraint is: \[ \sum_{j\in S_i}|w_j^0+x_j|\leq u_i,\quad i=1,\ldots,k, \] where \(S_i\) is the \(i\)th section indicator. By letting \(\bar{y}=|x+w^{0}|\), the sector exposure constraint can be written as: \[ \sum_{j\in S_i}\bar{y}_{j}\leq u_i, i=1,\cdots,k. \] And it is equivalent to: \[ ||0||_{2}\leq -\sum_{j\in S_{i}}\bar{y}_{j}+u_{i},\; i=1,\cdots,k. \] As a result the standard SOCP form of the sector exposure constraints can be written as: \[ ||0||_{2}\leq -\sum_{j\in S_{i}}\bar{y}_{j}+u_{i}\Longleftrightarrow ||A_{i}^{\top}z+C_{i}||_{2}\leq b^{\top}_{i}z+d_{i},\quad i=1,\cdots,k\\ A_{i}^{\top}=0_{1\times n},\; C_{i}=0,\; b_{i}=-\sum_{j\in S_{i}}e_{j},\; d_{i}=u_{i},\; z=\bar{y}, \] where \(e_{j}\) is a \(n\) dimensional vector whose \(j\)th entry is \(1\) and the other entries are \(0\).
SOCPPortfolioConstraint.ConstraintViolationException, SOCPPortfolioConstraint.VariableFunction.EvaluationException| Constructor and Description |
|---|
SOCPSectorExposure(Vector w_0,
Vector[] S,
Vector u)
Constructs a sector exposure constraint.
|
SOCPSectorExposure(Vector w_0,
Vector[] S,
Vector u,
double epsilon)
Constructs a sector exposure constraint.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
areAllConstraintsSatisfied(Vector y)
Checks whether all SOCP constraints represented by this portfolio
constraint are satisfied.
|
int |
dimensionOfDomain()
Get the number of variables the function has.
|
int |
dimensionOfRange()
Get the dimension of the range space of the function.
|
Double |
evaluate(Vector y)
Evaluate the function f at x, where x is from the domain.
|
getVariables, iterator, newSOCPGeneralConstraintsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEach, spliteratorpublic SOCPSectorExposure(Vector w_0, Vector[] S, Vector u, double epsilon)
w_0 - the initial positionS - the sector indicatorsu - the sector exposuresepsilon - a precision parameter: when a number |x| ≤ ε,
it is considered 0public boolean areAllConstraintsSatisfied(Vector y) throws SOCPPortfolioConstraint.ConstraintViolationException
SOCPPortfolioConstraintareAllConstraintsSatisfied in class SOCPPortfolioConstrainty - a portfolio solution or allocation; the asset weightstrue if and only if all SOCP constraints are satisfiedSOCPPortfolioConstraint.ConstraintViolationExceptionpublic Double evaluate(Vector y)
Functiony - xpublic int dimensionOfDomain()
Functionpublic int dimensionOfRange()
FunctionCopyright © 2010-2020 NM FinTech Ltd.. All Rights Reserved.