Class AndersenPykhtinSokolEnsemble
java.lang.Object
org.drip.exposure.regressiontrade.AndersenPykhtinSokolEnsemble
public class AndersenPykhtinSokolEnsemble
extends java.lang.Object
AndersenPykhtinSokolEnsemble adjusts the Variation Margin, computes Path-wise Local Volatility, and
eventually estimates the Path-wise Unadjusted Variation Margin across the Suite of Simulated Paths. The
References are:
- Andersen, L. B. G., M. Pykhtin, and A. Sokol (2017): Re-thinking Margin Period of Risk https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2902737 eSSRN
- Andersen, L. B. G., M. Pykhtin, and A. Sokol (2017): Credit Exposure in the Presence of Initial Margin https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2806156 eSSRN
- Albanese, C., and L. Andersen (2014): Accounting for OTC Derivatives: Funding Adjustments and the Re-Hypothecation Option https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2482955 eSSRN
- Burgard, C., and M. Kjaer (2017): Derivatives Funding, Netting, and Accounting https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2534011 eSSRN
- Pykhtin, M. (2009): Modeling Counter-party Credit Exposure in the Presence of Margin Agreements http://www.risk-europe.com/protected/michael-pykhtin.pdf
- Module = Portfolio Core Module
- Library = Exposure Analytics
- Project = Exposure Group Level Collateralized/Uncollateralized Exposure
- Package = Exposure Regression under Margin and Trade Payments
- Author:
- Lakshmi Krishnamurthy
-
Constructor Summary
Constructors Constructor Description AndersenPykhtinSokolEnsemble(VariationMarginTradePaymentVertex marginTradePaymentGenerator, MarketPath[] marketPathArray, int[] sparseExposureDateArray)
AndersenPykhtinSokolEnsemble Constructor -
Method Summary
Modifier and Type Method Description AndersenPykhtinSokolTrajectory[]
denseTrajectory(LocalVolatilityGenerationControl localVolatilityGenerationControl, double[][] wanderEnsemble)
Generate the Dense Variation Margin Trajectorydouble[][]
denseVariationMargin(LocalVolatilityGenerationControl localVolatilityGenerationControl, double[][] wanderEnsemble)
Generate the Path-wise Dense Variation Margin ArrayAdjustedVariationMarginDynamics
ensembleAdjustedVariationMarginDynamics()
Generate the Ensemble Adjusted Variation Margin DynamicsPykhtinPillarDynamics[]
ensemblePillarDynamics()
Generate the Ensemble Pillar Dynamics ArrayVariationMarginTradePaymentVertex
marginTradePaymentGenerator()
Retrieve the Path-wise Variation Margin/Trade Payment GeneratorMarketPath[]
marketPathArray()
Retrieve the Array of Market PathsAdjustedVariationMarginEstimate[]
pathAdjustedVariationMarginEstimate()
Generate the Path-wise Adjusted Variation Margin EstimateAdjustedVariationMarginEstimator[]
pathAdjustedVariationMarginEstimator()
Generate the Path-wise Adjusted Variation Margin Estimatorint
pathCount()
Retrieve the Number of Simulation Pathsint[]
sparseExposureDateArray()
Retrieve the Array of Sparse Exposure Datesint
sparseExposureDateCount()
Retrieve the Number of Sparse Exposure DatesMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
AndersenPykhtinSokolEnsemble
public AndersenPykhtinSokolEnsemble(VariationMarginTradePaymentVertex marginTradePaymentGenerator, MarketPath[] marketPathArray, int[] sparseExposureDateArray) throws java.lang.ExceptionAndersenPykhtinSokolEnsemble Constructor- Parameters:
marginTradePaymentGenerator
- The Variation Margin Estimate and the Trade Payment GeneratormarketPathArray
- Array of Market PathssparseExposureDateArray
- Array of Sparse Exposure Dates- Throws:
java.lang.Exception
- Thrown if the Inputs are Invalid
-
-
Method Details
-
marginTradePaymentGenerator
Retrieve the Path-wise Variation Margin/Trade Payment Generator- Returns:
- The Path-wise Variation Margin/Trade Payment Generator
-
marketPathArray
Retrieve the Array of Market Paths- Returns:
- The Array of Market Paths
-
sparseExposureDateArray
public int[] sparseExposureDateArray()Retrieve the Array of Sparse Exposure Dates- Returns:
- The Array of Sparse Exposure Dates
-
pathCount
public int pathCount()Retrieve the Number of Simulation Paths- Returns:
- The Number of Simulation Paths
-
sparseExposureDateCount
public int sparseExposureDateCount()Retrieve the Number of Sparse Exposure Dates- Returns:
- The Number of Sparse Exposure Dates
-
pathAdjustedVariationMarginEstimator
Generate the Path-wise Adjusted Variation Margin Estimator- Returns:
- The Path-wise Adjusted Variation Margin Estimator
-
pathAdjustedVariationMarginEstimate
Generate the Path-wise Adjusted Variation Margin Estimate- Returns:
- The Path-wise Adjusted Variation Margin Estimate
-
ensembleAdjustedVariationMarginDynamics
Generate the Ensemble Adjusted Variation Margin Dynamics- Returns:
- The Ensemble Adjusted Variation Margin Dynamics
-
ensemblePillarDynamics
Generate the Ensemble Pillar Dynamics Array- Returns:
- The Ensemble Pillar Dynamics Array
-
denseVariationMargin
public double[][] denseVariationMargin(LocalVolatilityGenerationControl localVolatilityGenerationControl, double[][] wanderEnsemble)Generate the Path-wise Dense Variation Margin Array- Parameters:
localVolatilityGenerationControl
- Local Volatility Generation ControlwanderEnsemble
- The Wander Ensemble- Returns:
- The Path-wise Dense Variation Margin Array
-
denseTrajectory
public AndersenPykhtinSokolTrajectory[] denseTrajectory(LocalVolatilityGenerationControl localVolatilityGenerationControl, double[][] wanderEnsemble)Generate the Dense Variation Margin Trajectory- Parameters:
localVolatilityGenerationControl
- Local Volatility Generation ControlwanderEnsemble
- The Wander Ensemble- Returns:
- The Dense Variation Margin Trajectory
-