Class PathVariationMarginTrajectoryEstimator

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

public class PathVariationMarginTrajectoryEstimator
extends java.lang.Object
PathVariationMarginTrajectoryEstimator computes the Variation Margin Estimate/Posting from the specified Dense Uncollateralized Exposures and Trade Payments along the specified Path Trajectory. The References are:

  • Burgard, C., and M. Kjaer (2013): Funding Costs, Funding Strategies Risk 23 (12) 82-87
  • Burgard, C., and M. Kjaer (2014): In the Balance Risk 24 (11) 72-75
  • 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 (2017): Derivatives Funding, Netting, and Accounting https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2534011 eSSRN
  • Piterbarg, V. (2010): Funding Beyond Discounting: Collateral Agreements and Derivatives Pricing Risk 21 (2) 97-102


Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • PathVariationMarginTrajectoryEstimator

      public PathVariationMarginTrajectoryEstimator​(int[] exposureDateArray, java.lang.String calendar, java.util.Map<java.lang.Integer,​java.lang.Double> variationMarginEstimateTrajectory, TradePayment[] tradePaymentTrajectory, AndersenPykhtinSokolLag csaTimelineLag) throws java.lang.Exception
      PathVariationMarginTrajectoryEstimator Constructor
      Parameters:
      exposureDateArray - Array of Exposure Dates
      calendar - The Date Adjustment Calendar
      variationMarginEstimateTrajectory - The Variation Margin Estimate Trajectory
      tradePaymentTrajectory - The Trade Payment Trajectory
      csaTimelineLag - The CSA Time-line Lag Parameters
      Throws:
      java.lang.Exception - Throws if the Inputs are Invalid
  • Method Details

    • Standard

      public static final PathVariationMarginTrajectoryEstimator Standard​(int[] exposureDateArray, java.lang.String calendar, VariationMarginTradePaymentVertex variationMarginTradePaymentVertex, MarketPath marketPath, AndersenPykhtinSokolLag csaTimelineLag)
      Generate a Standard Instance of PathVariationMarginTrajectoryEstimator
      Parameters:
      exposureDateArray - Array of Exposure Dates
      calendar - The Date Adjustment Calendar
      variationMarginTradePaymentVertex - The Variation Margin Trade Payment Trajectory Generator
      marketPath - The Market Path
      csaTimelineLag - The CSA Time-line Lag Parameters
      Returns:
      The Standard Instance of PathVariationMarginTrajectoryEstimator
    • exposureDateArray

      public int[] exposureDateArray()
      Retrieve the Array of Exposure Dates
      Returns:
      The Array of Exposure Dates
    • calendar

      public java.lang.String calendar()
      Retrieve the Date Adjustment Calendar
      Returns:
      The Date Adjustment Calendar
    • variationMarginEstimateTrajectory

      public java.util.Map<java.lang.Integer,​java.lang.Double> variationMarginEstimateTrajectory()
      Retrieve the Variation Margin Estimate Trajectory
      Returns:
      The Variation Margin Estimate Trajectory
    • tradePaymentTrajectory

      public TradePayment[] tradePaymentTrajectory()
      Retrieve the Trade Payment Trajectory
      Returns:
      The Trade Payment Trajectory
    • tradePaymentTrajectory

      public boolean tradePaymentTrajectory​(java.util.Map<java.lang.Integer,​java.lang.Double> clientTradePaymentTrajectory, java.util.Map<java.lang.Integer,​java.lang.Double> dealerTradePaymentTrajectory)
      Generate the Client and the Dealer Trade Payment Trajectories
      Parameters:
      clientTradePaymentTrajectory - The Client Trade Payment Trajectory
      dealerTradePaymentTrajectory - The Dealer Trade Payment Trajectory
      Returns:
      TRUE - The Client and the Dealer Trade Payment Trajectories successfully generated
    • csaEventDates

      public LastFlowDates[] csaEventDates()
      Generate the Array of CSA Event Dates
      Returns:
      Array of CSA Event Dates
    • trajectory

      public java.util.Map<java.lang.Integer,​VariationMarginTradeVertexExposure> trajectory()
      Retrieve the Variation Margin Trade Payment Exposure Trajectory
      Returns:
      The Variation Margin Trade Payment Exposure Trajectory