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 class
SOCPPortfolioConstraint.ConstraintViolationException
Exception thrown when a constraint is violated.static class
SOCPPortfolioConstraint.Variable
the 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 boolean
areAllConstraintsSatisfied(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()
SOCPGeneralConstraints
newSOCPGeneralConstraints(SOCPPortfolioConstraint.Variable... vars)
Creates a new SOCPGeneralConstraints so we can add SOCPGeneralConstraint to it.SOCPLinearEqualities
newSOCPLinearEqualities(SOCPPortfolioConstraint.Variable... vars)
SOCPLinearInequalities
newSOCPLinearInequalities(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:
true
if and only if all SOCP constraints are satisfied- Throws:
SOCPPortfolioConstraint.ConstraintViolationException
-
-