Class TrajectoryEvolutionScheme

java.lang.Object
org.drip.xva.pde.TrajectoryEvolutionScheme

public class TrajectoryEvolutionScheme
extends java.lang.Object
TrajectoryEvolutionScheme holds the Evolution Edges of a Trajectory evolved in a Dynamically Adaptive Manner, as laid out in Burgard and Kjaer (2014). 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
  • Cesari, G., J. Aquilina, N. Charpillon, X. Filipovic, G. Lee, and L. Manda (2009): Modeling, Pricing, and Hedging Counter-party Credit Exposure - A Technical Guide Springer Finance New York
  • 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

    • TrajectoryEvolutionScheme

      public TrajectoryEvolutionScheme​(PrimarySecurityDynamicsContainer tradeablesContainer, PDEEvolutionControl pdeEvolutionControl) throws java.lang.Exception
      TrajectoryEvolutionScheme Constructor
      Parameters:
      tradeablesContainer - The Universe of Tradeables
      pdeEvolutionControl - The XVA PDE Control Settings
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • tradeablesContainer

      public PrimarySecurityDynamicsContainer tradeablesContainer()
      Retrieve the Universe of Tradeables
      Returns:
      The Universe of Tradeables
    • pdeEvolutionControl

      public PDEEvolutionControl pdeEvolutionControl()
      Retrieve the XVA PDE Control Settings
      Returns:
      The XVA PDE Control Settings
    • rebalanceCash

      public CashAccountRebalancer rebalanceCash​(EvolutionTrajectoryVertex initialTrajectoryVertex, MarketEdge marketEdge)
      Re-balance the Cash Account and generate the Derivative Value Update
      Parameters:
      initialTrajectoryVertex - The Starting Evolution Trajectory Vertex
      marketEdge - Market Edge Instance
      Returns:
      The CashAccountRebalancer Instance
    • eulerWalk

      public EvolutionTrajectoryEdge eulerWalk​(MarketEdge marketEdge, BurgardKjaerOperator burgardKjaerOperator, EvolutionTrajectoryVertex initialTrajectoryVertex, double collateral)
      Execute a Single Euler Time Step Walk
      Parameters:
      marketEdge - Market Edge Instance
      burgardKjaerOperator - The Burgard Kjaer Operator Instance
      initialTrajectoryVertex - The Starting ETV Instance
      collateral - The Applicable Collateral
      Returns:
      The Evolution Trajectory Edge
    • eulerWalk

      public EvolutionTrajectoryEdge[] eulerWalk​(MarketVertex[] marketVertexArray, BurgardKjaerOperator burgardKjaerOperator, EvolutionTrajectoryVertex initialTrajectoryVertex, double collateral)
      Execute a Sequential Array of Euler Time Step Walks
      Parameters:
      marketVertexArray - Array of Market Vertexes
      burgardKjaerOperator - The Burgard Kjaer Operator Instance
      initialTrajectoryVertex - The Starting EET Instance
      collateral - The Applicable Collateral
      Returns:
      Array of EvolutionTrajectoryEdge Instances