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.

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 Asset
    PortfolioBenchmarkMetrics benchmarkMetrics​(PortfolioMetrics benchmarkPortfolioMetrics)
    Compute the Portfolio Relative Metrics using the specified Benchmark
    double[] expectedAssetExcessReturnsArray()
    Retrieve the Array of Expected Excess Returns Array for each Asset
    static ForwardReverseHoldingsAllocation Forward​(java.lang.String[] assetIDArray, double[] expectedAssetExcessReturnsArray, double[][] assetExcessReturnsCovarianceMatrix, double riskAversion)
    Construct an Instance of ForwardReverseHoldingsAllocation from a Standard Forward Optimize Operation
    static ForwardReverseHoldingsAllocation Reverse​(Portfolio equilibriumPortfolio, double[][] assetExcessReturnsCovarianceMatrix, double riskAversion)
    Construct an Instance of ForwardReverseHoldingsAllocation from a Standard Reverse Optimize Operation
    double riskAversion()
    Retrieve the Risk Aversion Coefficient
    static ForwardReverseHoldingsAllocation Standard​(Portfolio equilibriumPortfolio, double riskAversion, double[][] assetExcessReturnsCovarianceMatrix, double[] expectedAssetExcessReturnsArray)
    Construct a Standard Instance of ForwardReverseHoldingsAllocation

    Methods 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.Exception
      ForwardReverseHoldingsAllocation Constructor
      Parameters:
      optimalEquilibriumPortfolio - The Optimal Equilibrium Portfolio
      optimalEquilibriumPortfolioMetrics - The Optimal Equilibrium Portfolio Metrics
      riskAversion - The Risk Aversion Parameter
      assetExcessReturnsCovarianceMatrix - Pair-wise Asset Excess Returns Co-variance Matrix
      expectedAssetExcessReturnsArray - 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 Portfolio
      assetExcessReturnsCovarianceMatrix - Pair-wse Asset Excess Returns Co-variance Matrix
      riskAversion - 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 Portfolio
      expectedAssetExcessReturnsArray - Array of Expected Excess Returns
      assetExcessReturnsCovarianceMatrix - Excess Returns Co-variance Matrix
      riskAversion - 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 Portfolio
      riskAversion - The Risk Aversion Parameter
      assetExcessReturnsCovarianceMatrix - Pair-wise Asset Excess Returns Co-variance Matrix
      expectedAssetExcessReturnsArray - 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

      public PortfolioBenchmarkMetrics benchmarkMetrics​(PortfolioMetrics benchmarkPortfolioMetrics)
      Compute the Portfolio Relative Metrics using the specified Benchmark
      Parameters:
      benchmarkPortfolioMetrics - The Benchmark Metrics
      Returns:
      The Portfolio Relative Metrics using the specified Benchmark