Class CollateralAmountEstimator

java.lang.Object
org.drip.exposure.mpor.CollateralAmountEstimator

public class CollateralAmountEstimator
extends java.lang.Object
CollateralAmountEstimator estimates the Amount of Collateral Hypothecation that is to be Posted during a Single Run of a Collateral Hypothecation Group Valuation. The References are:

  • Burgard, C., and M. Kjaer (2014): PDE Representations of Derivatives with Bilateral Counter- party Risk and Funding Costs Journal of Credit Risk 7 (3) 1-19
  • Burgard, C., and M. Kjaer (2014): In the Balance, Risk, 24 (11) 72-75
  • Gregory, J. (2009): Being Two-faced over Counter-party Credit Risk Risk 20 (2) 86-90
  • Li, B., and Y. Tang (2007): Quantitative Analysis, Derivatives Modeling, and Trading Strategies in the Presence of Counter-party Credit Risk for the Fixed Income Market World Scientific Publishing Singapore
  • Piterbarg, V. (2010): Funding Beyond Discounting: Collateral Agreements and Derivatives Pricing Risk 21 (2) 97-102


Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • CollateralAmountEstimator

      public CollateralAmountEstimator​(PositionGroupSpecification positionGroupSpecification, BrokenDateInterpolator brokenDateInterpolator, double currentBalance) throws java.lang.Exception
      CollateralAmountEstimator Constructor
      Parameters:
      positionGroupSpecification - The Position Group Specification
      brokenDateInterpolator - The Stochastic Value Broken Date Bridge Estimator
      currentBalance - The Current Collateral Balance
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • positionGroupSpecification

      public PositionGroupSpecification positionGroupSpecification()
      Retrieve the Position Group Specification
      Returns:
      The Position Group Specification
    • brokenDateBridge

      public BrokenDateInterpolator brokenDateBridge()
      Retrieve the Stochastic Value Broken Date Bridge Estimator
      Returns:
      The Stochastic Value Broken Date Bridge Estimator
    • currentCollateralBalance

      public double currentCollateralBalance()
      Retrieve the Current Collateral Balance
      Returns:
      The Current Collateral Balance
    • dealerWindowMarginValue

      public double dealerWindowMarginValue​(JulianDate valuationDateJulian) throws java.lang.Exception
      Calculate the Margin Value at the Dealer Default Window
      Parameters:
      valuationDateJulian - The Valuation Date
      Returns:
      The Margin Value at the Dealer Default Window
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • dealerThreshold

      public double dealerThreshold​(JulianDate valuationDateJulian) throws java.lang.Exception
      Calculate the Dealer Margin Threshold
      Parameters:
      valuationDateJulian - The Valuation Date
      Returns:
      The Dealer Margin Threshold
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • dealerPostingRequirement

      public double dealerPostingRequirement​(JulianDate valuationDateJulian) throws java.lang.Exception
      Calculate the Margin Amount Required to be Posted by the Dealer
      Parameters:
      valuationDateJulian - The Valuation Date
      Returns:
      The Margin Amount Required to be Posted by the Dealer
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • clientWindowMarginValue

      public double clientWindowMarginValue​(JulianDate valuationDateJulian) throws java.lang.Exception
      Calculate the Margin Value at the Client Default Window
      Parameters:
      valuationDateJulian - The Valuation Date
      Returns:
      The Margin Value at the Client Default Window
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • clientThreshold

      public double clientThreshold​(JulianDate valuationDateJulian) throws java.lang.Exception
      Calculate the Client Margin Threshold
      Parameters:
      valuationDateJulian - The Valuation Date
      Returns:
      The Client Margin Threshold
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • clientPostingRequirement

      public double clientPostingRequirement​(JulianDate valuationDateJulian) throws java.lang.Exception
      Calculate the Margin Amount Required to be Posted by the Client
      Parameters:
      valuationDateJulian - The Valuation Date
      Returns:
      The Margin Amount Required to be Posted by the Client
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • postingRequirement

      public double postingRequirement​(JulianDate valuationDateJulian) throws java.lang.Exception
      Calculate the Gross Margin Amount Required to be Posted
      Parameters:
      valuationDateJulian - The Valuation Date
      Returns:
      The Gross Margin Amount Required to be Posted
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • output

      public CollateralAmountEstimatorOutput output​(JulianDate valuationDateJulian)
      Generate the MarginAmountEstimatorOutput Instance
      Parameters:
      valuationDateJulian - The Valuation Date
      Returns:
      The MarginAmountEstimatorOutput Instance