- 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 MatrixR064myAssetReturnsprivate MatrixR064myAssetVolatilitiesprivate MatrixR064myAssetWeightsprivate MarketEquilibriummyMarketEquilibriumprivate Scalar<?>myMeanReturnprivate Scalar<?>myReturnVariance-
Fields inherited from class org.ojalgo.data.domain.finance.portfolio.FinancePortfolio
MATRIX_FACTORY
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedEquilibriumModel(FinancePortfolio.Context portfolioContext)protectedEquilibriumModel(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:
calculatePortfolioReturnin interfaceFinancePortfolio.Context
-
calculatePortfolioVariance
public final double calculatePortfolioVariance(FinancePortfolio weightsPortfolio)
- Specified by:
calculatePortfolioVariancein interfaceFinancePortfolio.Context
-
getAssetReturns
public final MatrixR064 getAssetReturns()
- Specified by:
getAssetReturnsin interfaceFinancePortfolio.Context
-
getAssetVolatilities
public final MatrixR064 getAssetVolatilities()
- Specified by:
getAssetVolatilitiesin interfaceFinancePortfolio.Context
-
getAssetWeights
public final MatrixR064 getAssetWeights()
-
getCorrelations
public final MatrixR064 getCorrelations()
- Specified by:
getCorrelationsin interfaceFinancePortfolio.Context
-
getCovariances
public final MatrixR064 getCovariances()
- Specified by:
getCovariancesin interfaceFinancePortfolio.Context
-
getMarketEquilibrium
public final MarketEquilibrium getMarketEquilibrium()
-
getMeanReturn
public final double getMeanReturn()
Description copied from class:FinancePortfolioThe 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:
getMeanReturnin classFinancePortfolio
-
getReturnVariance
public final double getReturnVariance()
Description copied from class:FinancePortfolioThe instrument's return variance. Subclasses must override either FinancePortfolio.getReturnVariance() or FinancePortfolio.getVolatility().- Overrides:
getReturnVariancein 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:FinancePortfolioThis 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:
getWeightsin classFinancePortfolio
-
setRiskAversion
public final void setRiskAversion(java.lang.Comparable<?> factor)
-
size
public int size()
- Specified by:
sizein interfaceFinancePortfolio.Context
-
toSimpleAssets
public final java.util.List<SimpleAsset> toSimpleAssets()
-
toSimplePortfolio
public final SimplePortfolio toSimplePortfolio()
-
toString
public java.lang.String toString()
- Overrides:
toStringin 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:
resetin classFinancePortfolio
-
isDefaultRiskAversion
final boolean isDefaultRiskAversion()
-
-