Class EquilibriumModel
- java.lang.Object
-
- org.ojalgo.data.domain.finance.portfolio.FinancePortfolio
-
- org.ojalgo.data.domain.finance.portfolio.EquilibriumModel
-
- All Implemented Interfaces:
java.lang.Comparable<FinancePortfolio>
,FinancePortfolio.Context
- Direct Known Subclasses:
BlackLittermanModel
,FixedReturnsPortfolio
,FixedWeightsPortfolio
,OptimisedPortfolio
abstract class EquilibriumModel extends FinancePortfolio implements FinancePortfolio.Context
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.ojalgo.data.domain.finance.portfolio.FinancePortfolio
FinancePortfolio.Context
-
-
Field Summary
Fields Modifier and Type Field Description private MatrixR064
myAssetReturns
private MatrixR064
myAssetVolatilities
private MatrixR064
myAssetWeights
private MarketEquilibrium
myMarketEquilibrium
private Scalar<?>
myMeanReturn
private Scalar<?>
myReturnVariance
-
Fields inherited from class org.ojalgo.data.domain.finance.portfolio.FinancePortfolio
MATRIX_FACTORY
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
EquilibriumModel(FinancePortfolio.Context portfolioContext)
protected
EquilibriumModel(MarketEquilibrium marketEquilibrium)
-
Method Summary
-
Methods inherited from class org.ojalgo.data.domain.finance.portfolio.FinancePortfolio
compareTo, forecast, getConformance, getLossProbability, getLossProbability, getSharpeRatio, getSharpeRatio, getValueAtRisk, getValueAtRisk95, getVolatility, normalise, normalise
-
-
-
-
Field Detail
-
myAssetReturns
private transient MatrixR064 myAssetReturns
-
myAssetVolatilities
private transient MatrixR064 myAssetVolatilities
-
myAssetWeights
private transient MatrixR064 myAssetWeights
-
myMarketEquilibrium
private final MarketEquilibrium myMarketEquilibrium
-
myMeanReturn
private transient Scalar<?> myMeanReturn
-
myReturnVariance
private transient Scalar<?> myReturnVariance
-
-
Constructor Detail
-
EquilibriumModel
protected EquilibriumModel(FinancePortfolio.Context portfolioContext)
-
EquilibriumModel
protected EquilibriumModel(MarketEquilibrium marketEquilibrium)
-
-
Method Detail
-
calculatePortfolioReturn
public final double calculatePortfolioReturn(FinancePortfolio weightsPortfolio)
- Specified by:
calculatePortfolioReturn
in interfaceFinancePortfolio.Context
-
calculatePortfolioVariance
public final double calculatePortfolioVariance(FinancePortfolio weightsPortfolio)
- Specified by:
calculatePortfolioVariance
in interfaceFinancePortfolio.Context
-
getAssetReturns
public final MatrixR064 getAssetReturns()
- Specified by:
getAssetReturns
in interfaceFinancePortfolio.Context
-
getAssetVolatilities
public final MatrixR064 getAssetVolatilities()
- Specified by:
getAssetVolatilities
in interfaceFinancePortfolio.Context
-
getAssetWeights
public final MatrixR064 getAssetWeights()
-
getCorrelations
public final MatrixR064 getCorrelations()
- Specified by:
getCorrelations
in interfaceFinancePortfolio.Context
-
getCovariances
public final MatrixR064 getCovariances()
- Specified by:
getCovariances
in interfaceFinancePortfolio.Context
-
getMarketEquilibrium
public final MarketEquilibrium getMarketEquilibrium()
-
getMeanReturn
public final double getMeanReturn()
Description copied from class:FinancePortfolio
The mean/expected return of this instrument. May return either the absolute or excess return of the instrument. The context in which an instance is used should make it clear which. return.- Specified by:
getMeanReturn
in classFinancePortfolio
-
getReturnVariance
public final double getReturnVariance()
Description copied from class:FinancePortfolio
The instrument's return variance. Subclasses must override either FinancePortfolio.getReturnVariance() or FinancePortfolio.getVolatility().- Overrides:
getReturnVariance
in classFinancePortfolio
-
getRiskAversion
public final Scalar<?> getRiskAversion()
-
getSymbols
public final java.lang.String[] getSymbols()
-
getWeights
public final java.util.List<java.math.BigDecimal> getWeights()
Description copied from class:FinancePortfolio
This method returns a list of the weights of the Portfolio's contained assets. An asset weight is NOT restricted to being a share/percentage - it can be anything. Most subclasses do however assume that the list of asset weights are shares/percentages that sum up to 100%. Calling FinancePortfolio.normalise() will transform any set of weights to that form.- Specified by:
getWeights
in classFinancePortfolio
-
setRiskAversion
public final void setRiskAversion(java.lang.Comparable<?> factor)
-
size
public int size()
- Specified by:
size
in interfaceFinancePortfolio.Context
-
toSimpleAssets
public final java.util.List<SimpleAsset> toSimpleAssets()
-
toSimplePortfolio
public final SimplePortfolio toSimplePortfolio()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classFinancePortfolio
-
calculateAssetReturns
protected abstract MatrixR064 calculateAssetReturns()
-
calculateAssetReturns
protected final MatrixR064 calculateAssetReturns(MatrixR064 aWeightsVctr)
-
calculateAssetWeights
protected abstract MatrixR064 calculateAssetWeights()
-
calculateAssetWeights
protected final MatrixR064 calculateAssetWeights(MatrixR064 aReturnsVctr)
-
calculatePortfolioReturn
protected final Scalar<?> calculatePortfolioReturn(MatrixR064 aWeightsVctr, MatrixR064 aReturnsVctr)
-
calculatePortfolioVariance
protected final Scalar<?> calculatePortfolioVariance(MatrixR064 aWeightsVctr)
-
calibrate
protected final void calibrate(MatrixR064 aWeightsVctr, MatrixR064 aReturnsVctr)
-
reset
protected void reset()
- Specified by:
reset
in classFinancePortfolio
-
isDefaultRiskAversion
final boolean isDefaultRiskAversion()
-
-