Class BlackLittermanModel
- java.lang.Object
-
- org.ojalgo.data.domain.finance.portfolio.FinancePortfolio
-
- org.ojalgo.data.domain.finance.portfolio.EquilibriumModel
-
- org.ojalgo.data.domain.finance.portfolio.BlackLittermanModel
-
- All Implemented Interfaces:
java.lang.Comparable<FinancePortfolio>
,FinancePortfolio.Context
public final class BlackLittermanModel extends EquilibriumModel
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
BlackLittermanModel.View
View/Forecast/Opinion-
Nested classes/interfaces inherited from class org.ojalgo.data.domain.finance.portfolio.FinancePortfolio
FinancePortfolio.Context
-
-
Field Summary
Fields Modifier and Type Field Description private java.math.BigDecimal
myConfidence
private MatrixR064
myOriginalWeights
private java.util.List<FinancePortfolio>
myViews
-
Fields inherited from class org.ojalgo.data.domain.finance.portfolio.FinancePortfolio
MATRIX_FACTORY
-
-
Constructor Summary
Constructors Modifier Constructor Description BlackLittermanModel(FinancePortfolio.Context context, FinancePortfolio originalWeights)
private
BlackLittermanModel(MarketEquilibrium aMarketEquilibrium)
BlackLittermanModel(MarketEquilibrium marketEquilibrium, MatrixR064 originalWeights)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addView(FinancePortfolio aView)
void
addViewWithBalancedConfidence(java.util.List<java.math.BigDecimal> someWeights, java.lang.Comparable<?> aReturn)
void
addViewWithScaledConfidence(java.util.List<java.math.BigDecimal> someWeights, java.lang.Comparable<?> aReturn, java.lang.Comparable<?> aScale)
void
addViewWithStandardDeviation(java.util.List<java.math.BigDecimal> weights, java.math.BigDecimal expected, java.math.BigDecimal stdDev)
protected MatrixR064
calculateAssetReturns()
protected MatrixR064
calculateAssetWeights()
(package private) java.math.BigDecimal
calculateVariance(MatrixR064 weights)
Scalar<?>
getConfidence()
"weight on views" or "tau" A parameter that describes the general confidence in the views.protected MatrixR064
getOriginalReturns()
protected MatrixR064
getOriginalWeights()
protected MatrixR064
getViewPortfolios()
protected MatrixR064
getViewReturns()
Scaled by risk aversion factor.protected java.util.List<FinancePortfolio>
getViews()
protected MatrixR064
getViewVariances()
Scaled by tau / weight on viewsvoid
setConfidence(java.lang.Comparable<?> aWeight)
-
Methods inherited from class org.ojalgo.data.domain.finance.portfolio.EquilibriumModel
calculateAssetReturns, calculateAssetWeights, calculatePortfolioReturn, calculatePortfolioReturn, calculatePortfolioVariance, calculatePortfolioVariance, calibrate, getAssetReturns, getAssetVolatilities, getAssetWeights, getCorrelations, getCovariances, getMarketEquilibrium, getMeanReturn, getReturnVariance, getRiskAversion, getSymbols, getWeights, isDefaultRiskAversion, reset, setRiskAversion, size, toSimpleAssets, toSimplePortfolio, toString
-
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
-
myConfidence
private java.math.BigDecimal myConfidence
-
myOriginalWeights
private final MatrixR064 myOriginalWeights
-
myViews
private final java.util.List<FinancePortfolio> myViews
-
-
Constructor Detail
-
BlackLittermanModel
public BlackLittermanModel(FinancePortfolio.Context context, FinancePortfolio originalWeights)
-
BlackLittermanModel
public BlackLittermanModel(MarketEquilibrium marketEquilibrium, MatrixR064 originalWeights)
- Parameters:
marketEquilibrium
- The covariance matrix, and market risk aversionoriginalWeights
- The market portfolio
-
BlackLittermanModel
private BlackLittermanModel(MarketEquilibrium aMarketEquilibrium)
-
-
Method Detail
-
addView
public void addView(FinancePortfolio aView)
-
addViewWithBalancedConfidence
public void addViewWithBalancedConfidence(java.util.List<java.math.BigDecimal> someWeights, java.lang.Comparable<?> aReturn)
-
addViewWithScaledConfidence
public void addViewWithScaledConfidence(java.util.List<java.math.BigDecimal> someWeights, java.lang.Comparable<?> aReturn, java.lang.Comparable<?> aScale)
-
addViewWithStandardDeviation
public void addViewWithStandardDeviation(java.util.List<java.math.BigDecimal> weights, java.math.BigDecimal expected, java.math.BigDecimal stdDev)
-
getConfidence
public Scalar<?> getConfidence()
"weight on views" or "tau" A parameter that describes the general confidence in the views. Typically set to sometghing between 0.0 and 1.0. 0.0 = "No confidence!" Why bother... 1.0 = As confident as the market. This is highly unlikely.
-
setConfidence
public void setConfidence(java.lang.Comparable<?> aWeight)
- See Also:
getConfidence()
-
calculateAssetReturns
protected MatrixR064 calculateAssetReturns()
- Specified by:
calculateAssetReturns
in classEquilibriumModel
-
calculateAssetWeights
protected MatrixR064 calculateAssetWeights()
- Specified by:
calculateAssetWeights
in classEquilibriumModel
-
getOriginalReturns
protected MatrixR064 getOriginalReturns()
-
getOriginalWeights
protected MatrixR064 getOriginalWeights()
-
getViewPortfolios
protected MatrixR064 getViewPortfolios()
-
getViewReturns
protected MatrixR064 getViewReturns()
Scaled by risk aversion factor.
-
getViews
protected java.util.List<FinancePortfolio> getViews()
-
getViewVariances
protected MatrixR064 getViewVariances()
Scaled by tau / weight on views
-
calculateVariance
java.math.BigDecimal calculateVariance(MatrixR064 weights)
-
-