Class SOCPPortfolioConstraint
- java.lang.Object
-
- dev.nm.solver.multivariate.constrained.convex.sdp.socp.problem.portfoliooptimization.SOCPPortfolioConstraint
-
- All Implemented Interfaces:
Function<Vector,Double>,RealScalarFunction
- Direct Known Subclasses:
MarketImpact1,SOCPLinearBlackList,SOCPLinearMaximumLoan,SOCPLinearSectorExposure,SOCPLinearSectorNeutrality,SOCPLinearSelfFinancing,SOCPLinearZeroValue,SOCPMaximumLoan,SOCPNoTradingList1,SOCPNoTradingList2,SOCPRiskConstraint,SOCPSectorExposure,SOCPSectorNeutrality,SOCPSelfFinancing,SOCPZeroValue
public abstract class SOCPPortfolioConstraint extends Object implements RealScalarFunction
An SOCP constraint for portfolio optimization, e.g., market impact, is represented by a set of constraints in this form: \[ ||A^{T}x+c||_{2}\leq b^{T}x+d \] or this form: /[ A^T x = c, x \in \Re^m /] or this form: /[ A^T x \leq c, x \in \Re^m /]
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSOCPPortfolioConstraint.ConstraintViolationExceptionException thrown when a constraint is violated.static classSOCPPortfolioConstraint.Variablethe variables involved inSOCPGeneralConstraints-
Nested classes/interfaces inherited from interface dev.nm.analysis.function.Function
Function.EvaluationException
-
-
Constructor Summary
Constructors Constructor Description SOCPPortfolioConstraint()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract booleanareAllConstraintsSatisfied(Vector y)Checks whether all SOCP constraints represented by this portfolio constraint are satisfied.Collection<SOCPGeneralConstraints>generalConstraints()List<SOCPPortfolioConstraint.Variable>getVariables(SOCPConstraints constraints)Gets the variables involved in SOCPGeneralConstraints.Collection<SOCPLinearEqualities>linearEqualities()Collection<SOCPLinearInequalities>linearInequalities()SOCPGeneralConstraintsnewSOCPGeneralConstraints(SOCPPortfolioConstraint.Variable... vars)Creates a new SOCPGeneralConstraints so we can add SOCPGeneralConstraint to it.SOCPLinearEqualitiesnewSOCPLinearEqualities(SOCPPortfolioConstraint.Variable... vars)SOCPLinearInequalitiesnewSOCPLinearInequalities(SOCPPortfolioConstraint.Variable... vars)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface dev.nm.analysis.function.Function
dimensionOfDomain, dimensionOfRange, evaluate
-
-
-
-
Method Detail
-
newSOCPGeneralConstraints
public SOCPGeneralConstraints newSOCPGeneralConstraints(SOCPPortfolioConstraint.Variable... vars)
Creates a new SOCPGeneralConstraints so we can add SOCPGeneralConstraint to it.- Parameters:
vars- the variables involved in this SOCPGeneralConstraints- Returns:
- the reference to the newly created SOCPGeneralConstraints
-
generalConstraints
public Collection<SOCPGeneralConstraints> generalConstraints()
-
newSOCPLinearEqualities
public SOCPLinearEqualities newSOCPLinearEqualities(SOCPPortfolioConstraint.Variable... vars)
-
linearEqualities
public Collection<SOCPLinearEqualities> linearEqualities()
-
newSOCPLinearInequalities
public SOCPLinearInequalities newSOCPLinearInequalities(SOCPPortfolioConstraint.Variable... vars)
-
linearInequalities
public Collection<SOCPLinearInequalities> linearInequalities()
-
getVariables
public List<SOCPPortfolioConstraint.Variable> getVariables(SOCPConstraints constraints)
Gets the variables involved in SOCPGeneralConstraints.- Parameters:
constraints- the SOCP constraints- Returns:
- the variables involved in the SOCP constraints
-
areAllConstraintsSatisfied
public abstract boolean areAllConstraintsSatisfied(Vector y) throws SOCPPortfolioConstraint.ConstraintViolationException
Checks whether all SOCP constraints represented by this portfolio constraint are satisfied.- Parameters:
y- a portfolio solution or allocation; the asset weights- Returns:
trueif and only if all SOCP constraints are satisfied- Throws:
SOCPPortfolioConstraint.ConstraintViolationException
-
-