Class ForwardReverseHoldingsAllocation
java.lang.Object
org.drip.portfolioconstruction.allocator.HoldingsAllocation
org.drip.portfolioconstruction.allocator.ForwardReverseHoldingsAllocation
public class ForwardReverseHoldingsAllocation extends HoldingsAllocation
ForwardReverseHoldingsAllocation holds the Metrics that result from a Forward/Reverse Optimization
Run.
- Module = Portfolio Core Module
- Library = Asset Allocation Analytics
- Project = Portfolio Construction under Allocation Constraints
- Package = MVO Based Portfolio Allocation Construction
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description ForwardReverseHoldingsAllocation(Portfolio optimalEquilibriumPortfolio, PortfolioMetrics optimalEquilibriumPortfolioMetrics, double riskAversion, double[][] assetExcessReturnsCovarianceMatrix, double[] expectedAssetExcessReturnsArray)ForwardReverseHoldingsAllocation Constructor -
Method Summary
Modifier and Type Method Description double[][]assetExcessReturnsCovarianceMatrix()Retrieve the Excess Returns Co-variance Matrix between each Pair-wise AssetPortfolioBenchmarkMetricsbenchmarkMetrics(PortfolioMetrics benchmarkPortfolioMetrics)Compute the Portfolio Relative Metrics using the specified Benchmarkdouble[]expectedAssetExcessReturnsArray()Retrieve the Array of Expected Excess Returns Array for each Assetstatic ForwardReverseHoldingsAllocationForward(java.lang.String[] assetIDArray, double[] expectedAssetExcessReturnsArray, double[][] assetExcessReturnsCovarianceMatrix, double riskAversion)Construct an Instance of ForwardReverseHoldingsAllocation from a Standard Forward Optimize Operationstatic ForwardReverseHoldingsAllocationReverse(Portfolio equilibriumPortfolio, double[][] assetExcessReturnsCovarianceMatrix, double riskAversion)Construct an Instance of ForwardReverseHoldingsAllocation from a Standard Reverse Optimize OperationdoubleriskAversion()Retrieve the Risk Aversion Coefficientstatic ForwardReverseHoldingsAllocationStandard(Portfolio equilibriumPortfolio, double riskAversion, double[][] assetExcessReturnsCovarianceMatrix, double[] expectedAssetExcessReturnsArray)Construct a Standard Instance of ForwardReverseHoldingsAllocationMethods inherited from class org.drip.portfolioconstruction.allocator.HoldingsAllocation
Create, optimalMetrics, optimalPortfolioMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
ForwardReverseHoldingsAllocation
public ForwardReverseHoldingsAllocation(Portfolio optimalEquilibriumPortfolio, PortfolioMetrics optimalEquilibriumPortfolioMetrics, double riskAversion, double[][] assetExcessReturnsCovarianceMatrix, double[] expectedAssetExcessReturnsArray) throws java.lang.ExceptionForwardReverseHoldingsAllocation Constructor- Parameters:
optimalEquilibriumPortfolio- The Optimal Equilibrium PortfoliooptimalEquilibriumPortfolioMetrics- The Optimal Equilibrium Portfolio MetricsriskAversion- The Risk Aversion ParameterassetExcessReturnsCovarianceMatrix- Pair-wise Asset Excess Returns Co-variance MatrixexpectedAssetExcessReturnsArray- Array of Expected Excess Returns- Throws:
java.lang.Exception- Thrown if the Inputs are Invalid
-
-
Method Details
-
Reverse
public static final ForwardReverseHoldingsAllocation Reverse(Portfolio equilibriumPortfolio, double[][] assetExcessReturnsCovarianceMatrix, double riskAversion)Construct an Instance of ForwardReverseHoldingsAllocation from a Standard Reverse Optimize Operation- Parameters:
equilibriumPortfolio- The Equilibrium PortfolioassetExcessReturnsCovarianceMatrix- Pair-wse Asset Excess Returns Co-variance MatrixriskAversion- The Risk Aversion Parameter- Returns:
- The Instance of ForwardReverseHoldingsAllocation from a Standard Reverse Optimize Operation
-
Forward
public static final ForwardReverseHoldingsAllocation Forward(java.lang.String[] assetIDArray, double[] expectedAssetExcessReturnsArray, double[][] assetExcessReturnsCovarianceMatrix, double riskAversion)Construct an Instance of ForwardReverseHoldingsAllocation from a Standard Forward Optimize Operation- Parameters:
assetIDArray- The Array of the IDs of the Assets in the PortfolioexpectedAssetExcessReturnsArray- Array of Expected Excess ReturnsassetExcessReturnsCovarianceMatrix- Excess Returns Co-variance MatrixriskAversion- The Risk Aversion Parameter- Returns:
- The Instance of ForwardReverseHoldingsAllocation from a Standard Forward Optimize Operation
-
Standard
public static final ForwardReverseHoldingsAllocation Standard(Portfolio equilibriumPortfolio, double riskAversion, double[][] assetExcessReturnsCovarianceMatrix, double[] expectedAssetExcessReturnsArray)Construct a Standard Instance of ForwardReverseHoldingsAllocation- Parameters:
equilibriumPortfolio- The Optimal Equilibrium PortfolioriskAversion- The Risk Aversion ParameterassetExcessReturnsCovarianceMatrix- Pair-wise Asset Excess Returns Co-variance MatrixexpectedAssetExcessReturnsArray- Array of Expected Excess Returns- Returns:
- The Standard Instance of ForwardReverseHoldingsAllocation
-
assetExcessReturnsCovarianceMatrix
public double[][] assetExcessReturnsCovarianceMatrix()Retrieve the Excess Returns Co-variance Matrix between each Pair-wise Asset- Returns:
- The Excess Returns Co-variance Matrix between each Pair-wise Asset
-
riskAversion
public double riskAversion()Retrieve the Risk Aversion Coefficient- Returns:
- The Risk Aversion Coefficient
-
expectedAssetExcessReturnsArray
public double[] expectedAssetExcessReturnsArray()Retrieve the Array of Expected Excess Returns Array for each Asset- Returns:
- The Array of Expected Excess Returns Array for each Asset
-
benchmarkMetrics
Compute the Portfolio Relative Metrics using the specified Benchmark- Parameters:
benchmarkPortfolioMetrics- The Benchmark Metrics- Returns:
- The Portfolio Relative Metrics using the specified Benchmark
-