Class FactorRiskModel.Decomposition

java.lang.Object
com.quantfinlib.risk.FactorRiskModel.Decomposition
Enclosing class:
FactorRiskModel

public static final class FactorRiskModel.Decomposition extends Object
Ex-ante risk of one portfolio under the model. Variances are per period. Percent contributions of the names sum to 1, and the factor contributions plus the specific share sum to 1 (Euler decomposition, Litterman 1996, "Hot Spots and Hedges", Goldman Sachs Risk Management Series).
  • Constructor Details

    • Decomposition

      public Decomposition(List<String> factorNames, double[] exposures, double factorVariance, double specificVariance, double[] marginal, double[] percent, double[] factorContribution, double specificContribution)
      Creates the value; arrays are copied.
      Parameters:
      exposures - portfolio factor exposures Xᵀw
      marginal - ∂σ/∂w_i = (Vw)_i/σ
      percent - w_i (Vw)_i / σ²
      factorContribution - x_k (F x)_k / σ²
      specificContribution - Σ w_i² d_i / σ²
  • Method Details

    • factorNames

      public List<String> factorNames()
    • exposure

      public double exposure(int p)
      Portfolio exposure to factor p.
    • exposureLength

      public int exposureLength()
    • exposuresCopy

      public double[] exposuresCopy()
    • factorVariance

      public double factorVariance()
    • specificVariance

      public double specificVariance()
    • totalVariance

      public double totalVariance()
    • totalRisk

      public double totalRisk()
      Total risk σ, per period.
    • factorRisk

      public double factorRisk()
    • specificRisk

      public double specificRisk()
    • marginal

      public double marginal(int i)
      Marginal contribution of name i to total risk.
    • marginalCopy

      public double[] marginalCopy()
    • percent

      public double percent(int i)
      Share of total variance from name i.
    • percentCopy

      public double[] percentCopy()
    • factorContribution

      public double factorContribution(int p)
      Share of total variance from factor p.
    • factorContributionCopy

      public double[] factorContributionCopy()
    • specificContribution

      public double specificContribution()
      Share of total variance that is specific.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object