Package org.drip.xva.pde
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
- Module = Portfolio Core Module
- Library = XVA Analytics Library
- Project = Valuation Adjustments that account for Collateral, CC Credit/Debt and Funding Overhead
- Package = Burgard Kjaer PDE Evolution Scheme
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description TrajectoryEvolutionScheme(PrimarySecurityDynamicsContainer tradeablesContainer, PDEEvolutionControl pdeEvolutionControl)
TrajectoryEvolutionScheme Constructor -
Method Summary
Modifier and Type Method Description EvolutionTrajectoryEdge
eulerWalk(MarketEdge marketEdge, BurgardKjaerOperator burgardKjaerOperator, EvolutionTrajectoryVertex initialTrajectoryVertex, double collateral)
Execute a Single Euler Time Step WalkEvolutionTrajectoryEdge[]
eulerWalk(MarketVertex[] marketVertexArray, BurgardKjaerOperator burgardKjaerOperator, EvolutionTrajectoryVertex initialTrajectoryVertex, double collateral)
Execute a Sequential Array of Euler Time Step WalksPDEEvolutionControl
pdeEvolutionControl()
Retrieve the XVA PDE Control SettingsCashAccountRebalancer
rebalanceCash(EvolutionTrajectoryVertex initialTrajectoryVertex, MarketEdge marketEdge)
Re-balance the Cash Account and generate the Derivative Value UpdatePrimarySecurityDynamicsContainer
tradeablesContainer()
Retrieve the Universe of TradeablesMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
TrajectoryEvolutionScheme
public TrajectoryEvolutionScheme(PrimarySecurityDynamicsContainer tradeablesContainer, PDEEvolutionControl pdeEvolutionControl) throws java.lang.ExceptionTrajectoryEvolutionScheme Constructor- Parameters:
tradeablesContainer
- The Universe of TradeablespdeEvolutionControl
- The XVA PDE Control Settings- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Details
-
tradeablesContainer
Retrieve the Universe of Tradeables- Returns:
- The Universe of Tradeables
-
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 VertexmarketEdge
- 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 InstanceburgardKjaerOperator
- The Burgard Kjaer Operator InstanceinitialTrajectoryVertex
- The Starting ETV Instancecollateral
- 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 VertexesburgardKjaerOperator
- The Burgard Kjaer Operator InstanceinitialTrajectoryVertex
- The Starting EET Instancecollateral
- The Applicable Collateral- Returns:
- Array of EvolutionTrajectoryEdge Instances
-