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 AssetPortfolioBenchmarkMetrics
benchmarkMetrics(PortfolioMetrics benchmarkPortfolioMetrics)
Compute the Portfolio Relative Metrics using the specified Benchmarkdouble[]
expectedAssetExcessReturnsArray()
Retrieve the Array of Expected Excess Returns Array for each Assetstatic ForwardReverseHoldingsAllocation
Forward(java.lang.String[] assetIDArray, double[] expectedAssetExcessReturnsArray, double[][] assetExcessReturnsCovarianceMatrix, double riskAversion)
Construct an Instance of ForwardReverseHoldingsAllocation from a Standard Forward Optimize Operationstatic ForwardReverseHoldingsAllocation
Reverse(Portfolio equilibriumPortfolio, double[][] assetExcessReturnsCovarianceMatrix, double riskAversion)
Construct an Instance of ForwardReverseHoldingsAllocation from a Standard Reverse Optimize Operationdouble
riskAversion()
Retrieve the Risk Aversion Coefficientstatic ForwardReverseHoldingsAllocation
Standard(Portfolio equilibriumPortfolio, double riskAversion, double[][] assetExcessReturnsCovarianceMatrix, double[] expectedAssetExcessReturnsArray)
Construct a Standard Instance of ForwardReverseHoldingsAllocationMethods inherited from class org.drip.portfolioconstruction.allocator.HoldingsAllocation
Create, optimalMetrics, optimalPortfolio
Methods 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
-