Skip to content

Commit

Permalink
Features:
Browse files Browse the repository at this point in the history
	- Position Group Vertex Component Exposure (7)
	- Position Group Vertex Close Out (8)
	- Hypothecation Position Group Vertex Exposure (9)
	- XVA Hypothecation Position Group Vertex (10)
	- Position Collateral Group Trajectory Generator (11, 12)
	- Netting Position Collateral Group Path (17)
	- Collateral Group Path Adjustment Vertexes (38)
	- Collateral Group Path - Period Adjustment (39, 40)
	- Credit Debt Group Path #1 (41, 42)
	- Credit Debt Group Path UCVA (43, 44)
	- Credit Debt Group Path FTDCVA (45)
	- Albanese Andersen Funding Exposure Calculation (46)
	- Credit Debt Group Path UDVA (47, 48)
	- Credit Debt Group Path FTDDVA (49)
	- Period Unilateral Credit Adjustment Vertexes (50, 51)
	- Period Bilateral Credit Adjustment Vertexes (52)
	- Period Contra Liability Credit Adjustment (53, 54)
	- Period Unilateral Debt Adjustment Vertexes (56, 57)
	- Period Bilateral Debt Adjustment Vertexes (58)


Bug Fixes/Clean-up:

	- Position Collateral Group Path #1 (13, 14)
	- Position Collateral Group Path #2 (15, 16)
	- Position Exposure Group Path #1 (18, 19)
	- Position Exposure Group Path #2 (20, 21)
	- Position Exposure Group Path #3 (22, 23)
	- Position Exposure Group Path #4 (24, 25)
	- Position Exposure Group Path #5 (26, 27)
	- Position Exposure Group Path #6 (28, 29)
	- Position Exposure Group Path #7 (30, 31)
	- Position Exposure Group Path #8 (32, 33)
	- Position Exposure Group Path #9 (34, 35)
	- Position Exposure Group Path #10 (36, 37)
	- Credit Debt Group Extraneous Exception (55)


Samples:

	- Bank Senior Funding Label (1, 2)
	- Bank Subordinate Funding Label (3, 4)
	- Counter Party Funding Label (5, 6)
  • Loading branch information
lakshmiDRIP committed Mar 7, 2018
1 parent 11638d0 commit ad97e4e
Show file tree
Hide file tree
Showing 131 changed files with 2,043 additions and 1,984 deletions.
46 changes: 46 additions & 0 deletions ReleaseNotes/03_21_2018.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

Features:

- Position Group Vertex Component Exposure (7)
- Position Group Vertex Close Out (8)
- Hypothecation Position Group Vertex Exposure (9)
- XVA Hypothecation Position Group Vertex (10)
- Position Collateral Group Trajectory Generator (11, 12)
- Netting Position Collateral Group Path (17)
- Collateral Group Path Adjustment Vertexes (38)
- Collateral Group Path - Period Adjustment (39, 40)
- Credit Debt Group Path #1 (41, 42)
- Credit Debt Group Path UCVA (43, 44)
- Credit Debt Group Path FTDCVA (45)
- Albanese Andersen Funding Exposure Calculation (46)
- Credit Debt Group Path UDVA (47, 48)
- Credit Debt Group Path FTDDVA (49)
- Period Unilateral Credit Adjustment Vertexes (50, 51)
- Period Bilateral Credit Adjustment Vertexes (52)
- Period Contra Liability Credit Adjustment (53, 54)
- Period Unilateral Debt Adjustment Vertexes (56, 57)
- Period Bilateral Debt Adjustment Vertexes (58)


Bug Fixes/Clean-up:

- Position Collateral Group Path #1 (13, 14)
- Position Collateral Group Path #2 (15, 16)
- Position Exposure Group Path #1 (18, 19)
- Position Exposure Group Path #2 (20, 21)
- Position Exposure Group Path #3 (22, 23)
- Position Exposure Group Path #4 (24, 25)
- Position Exposure Group Path #5 (26, 27)
- Position Exposure Group Path #6 (28, 29)
- Position Exposure Group Path #7 (30, 31)
- Position Exposure Group Path #8 (32, 33)
- Position Exposure Group Path #9 (34, 35)
- Position Exposure Group Path #10 (36, 37)
- Credit Debt Group Extraneous Exception (55)


Samples:

- Bank Senior Funding Label (1, 2)
- Bank Subordinate Funding Label (3, 4)
- Counter Party Funding Label (5, 6)
4 changes: 2 additions & 2 deletions src/main/java/org/drip/sample/burgard2012/FixFloatVABank.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import org.drip.quant.common.FormatUtil;
import org.drip.service.env.EnvManager;
import org.drip.xva.cpty.*;
import org.drip.xva.netting.CollateralGroupPath;
import org.drip.xva.netting.PositionGroupPath;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;
import org.drip.xva.vertex.AlbaneseAndersen;
Expand Down Expand Up @@ -203,7 +203,7 @@ public static final void VA (
0.
);

CollateralGroupPath[] aHGP = new CollateralGroupPath[] {new CollateralGroupPath (aHGVR)};
PositionGroupPath[] aHGP = new PositionGroupPath[] {new PositionGroupPath (aHGVR)};

aMPEA[i] = new MonoPathExposureAdjustment (
new AlbaneseAndersenNettingGroupPath[] {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import org.drip.quant.common.FormatUtil;
import org.drip.service.env.EnvManager;
import org.drip.xva.cpty.*;
import org.drip.xva.netting.CollateralGroupPath;
import org.drip.xva.netting.PositionGroupPath;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;
import org.drip.xva.vertex.AlbaneseAndersen;
Expand Down Expand Up @@ -203,7 +203,7 @@ public static final void VA (
0.
);

CollateralGroupPath[] aHGP = new CollateralGroupPath[] {new CollateralGroupPath (aHGVR)};
PositionGroupPath[] aHGP = new PositionGroupPath[] {new PositionGroupPath (aHGVR)};

aMPEA[i] = new MonoPathExposureAdjustment (
new AlbaneseAndersenNettingGroupPath[] {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import org.drip.xva.cpty.*;
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.netting.CollateralGroupPath;
import org.drip.xva.netting.PositionGroupPath;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;
import org.drip.xva.vertex.BurgardKjaerBuilder;
Expand Down Expand Up @@ -267,8 +267,8 @@ private static final ExposureAdjustmentAggregator[] Mix (
dblSwapNotional2
);

CollateralGroupVertex[] aCGV1 = new CollateralGroupVertex[iNumStep + 1];
CollateralGroupVertex[] aCGV2 = new CollateralGroupVertex[iNumStep + 1];
PositionGroupVertex[] aCGV1 = new PositionGroupVertex[iNumStep + 1];
PositionGroupVertex[] aCGV2 = new PositionGroupVertex[iNumStep + 1];

for (int j = 0; j <= iNumStep; ++j) {
if (0 != j) {
Expand Down Expand Up @@ -312,12 +312,12 @@ private static final ExposureAdjustmentAggregator[] Mix (

MarketPath mp = new MarketPath (aMV);

CollateralGroupPath[] aCGP1 = new CollateralGroupPath[] {
new CollateralGroupPath (aCGV1)
PositionGroupPath[] aCGP1 = new PositionGroupPath[] {
new PositionGroupPath (aCGV1)
};

CollateralGroupPath[] aCGP2 = new CollateralGroupPath[] {
new CollateralGroupPath (aCGV2)
PositionGroupPath[] aCGP2 = new PositionGroupPath[] {
new PositionGroupPath (aCGV2)
};

aMPEAGround[i] = new MonoPathExposureAdjustment (
Expand Down Expand Up @@ -348,9 +348,9 @@ private static final ExposureAdjustmentAggregator[] Mix (
},
new AlbaneseAndersenFundingGroupPath[] {
new AlbaneseAndersenFundingGroupPath (
new CollateralGroupPath[] {
new CollateralGroupPath (aCGV1),
new CollateralGroupPath (aCGV2)
new PositionGroupPath[] {
new PositionGroupPath (aCGV1),
new PositionGroupPath (aCGV2)
},
mp
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import org.drip.xva.cpty.*;
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.netting.CollateralGroupPath;
import org.drip.xva.netting.PositionGroupPath;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;
import org.drip.xva.vertex.BurgardKjaerBuilder;
Expand Down Expand Up @@ -523,8 +523,8 @@ private static final ExposureAdjustmentAggregator[] Mix (
);

MarketVertex[] aMV = new MarketVertex [iNumStep + 1];
CollateralGroupVertex[] aCGV1 = new CollateralGroupVertex[iNumStep + 1];
CollateralGroupVertex[] aCGV2 = new CollateralGroupVertex[iNumStep + 1];
PositionGroupVertex[] aCGV1 = new PositionGroupVertex[iNumStep + 1];
PositionGroupVertex[] aCGV2 = new PositionGroupVertex[iNumStep + 1];

for (int j = 0; j <= iNumStep; ++j) {
adtVertex[j] = dtSpot.addMonths (6 * j + 6);
Expand Down Expand Up @@ -604,8 +604,8 @@ private static final ExposureAdjustmentAggregator[] Mix (

MarketPath mp = new MarketPath (aMV);

CollateralGroupPath[] aHGPGround = new CollateralGroupPath[] {
new CollateralGroupPath (aCGV1)
PositionGroupPath[] aHGPGround = new PositionGroupPath[] {
new PositionGroupPath (aCGV1)
};

aMPEAGround[i] = new MonoPathExposureAdjustment (
Expand All @@ -623,9 +623,9 @@ private static final ExposureAdjustmentAggregator[] Mix (
}
);

CollateralGroupPath[] aHGPExtended = new CollateralGroupPath[] {
new CollateralGroupPath (aCGV1),
new CollateralGroupPath (aCGV2)
PositionGroupPath[] aHGPExtended = new PositionGroupPath[] {
new PositionGroupPath (aCGV1),
new PositionGroupPath (aCGV2)
};

aMPEAExtended[i] = new MonoPathExposureAdjustment (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import org.drip.xva.cpty.*;
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.netting.CollateralGroupPath;
import org.drip.xva.netting.PositionGroupPath;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;
import org.drip.xva.vertex.BurgardKjaerBuilder;
Expand Down Expand Up @@ -269,8 +269,8 @@ private static final ExposureAdjustmentAggregator[] Mix (
dblSwapNotional2
);

CollateralGroupVertex[] aCGV1 = new CollateralGroupVertex[iNumStep + 1];
CollateralGroupVertex[] aCGV2 = new CollateralGroupVertex[iNumStep + 1];
PositionGroupVertex[] aCGV1 = new PositionGroupVertex[iNumStep + 1];
PositionGroupVertex[] aCGV2 = new PositionGroupVertex[iNumStep + 1];

for (int j = 0; j <= iNumStep; ++j) {
aadblCollateralBalance[i][j] = 0.;
Expand Down Expand Up @@ -316,12 +316,12 @@ private static final ExposureAdjustmentAggregator[] Mix (

MarketPath np = new MarketPath (aMV);

CollateralGroupPath[] aCGP1 = new CollateralGroupPath[] {
new CollateralGroupPath (aCGV1)
PositionGroupPath[] aCGP1 = new PositionGroupPath[] {
new PositionGroupPath (aCGV1)
};

CollateralGroupPath[] aCGP2 = new CollateralGroupPath[] {
new CollateralGroupPath (aCGV2)
PositionGroupPath[] aCGP2 = new PositionGroupPath[] {
new PositionGroupPath (aCGV2)
};

aCPGPGround[i] = new MonoPathExposureAdjustment (
Expand Down Expand Up @@ -352,9 +352,9 @@ private static final ExposureAdjustmentAggregator[] Mix (
},
new AlbaneseAndersenFundingGroupPath[] {
new AlbaneseAndersenFundingGroupPath (
new CollateralGroupPath[] {
new CollateralGroupPath (aCGV1),
new CollateralGroupPath (aCGV2)
new PositionGroupPath[] {
new PositionGroupPath (aCGV1),
new PositionGroupPath (aCGV2)
},
np
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import org.drip.xva.cpty.*;
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.netting.CollateralGroupPath;
import org.drip.xva.netting.PositionGroupPath;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;
import org.drip.xva.vertex.BurgardKjaerBuilder;
Expand Down Expand Up @@ -526,8 +526,8 @@ private static final ExposureAdjustmentAggregator[] Mix (
);

MarketVertex[] aMV = new MarketVertex [iNumStep + 1];
CollateralGroupVertex[] aCGV1 = new CollateralGroupVertex[iNumStep + 1];
CollateralGroupVertex[] aCGV2 = new CollateralGroupVertex[iNumStep + 1];
PositionGroupVertex[] aCGV1 = new PositionGroupVertex[iNumStep + 1];
PositionGroupVertex[] aCGV2 = new PositionGroupVertex[iNumStep + 1];

for (int j = 0; j <= iNumStep; ++j) {
aMV[j] = MarketVertex.SingleManifestMeasure (
Expand Down Expand Up @@ -607,8 +607,8 @@ private static final ExposureAdjustmentAggregator[] Mix (

MarketPath np = new MarketPath (aMV);

CollateralGroupPath[] aCGP1 = new CollateralGroupPath[] {
new CollateralGroupPath (aCGV1)
PositionGroupPath[] aCGP1 = new PositionGroupPath[] {
new PositionGroupPath (aCGV1)
};

aCPGPGround[i] = new MonoPathExposureAdjustment (
Expand All @@ -626,8 +626,8 @@ private static final ExposureAdjustmentAggregator[] Mix (
}
);

CollateralGroupPath[] aCGP2 = new CollateralGroupPath[] {
new CollateralGroupPath (aCGV2)
PositionGroupPath[] aCGP2 = new PositionGroupPath[] {
new PositionGroupPath (aCGV2)
};

aCPGPExtended[i] = new MonoPathExposureAdjustment (
Expand All @@ -643,9 +643,9 @@ private static final ExposureAdjustmentAggregator[] Mix (
},
new AlbaneseAndersenFundingGroupPath[] {
new AlbaneseAndersenFundingGroupPath (
new CollateralGroupPath[] {
new CollateralGroupPath (aCGV1),
new CollateralGroupPath (aCGV2)
new PositionGroupPath[] {
new PositionGroupPath (aCGV1),
new PositionGroupPath (aCGV2)
},
np
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import org.drip.xva.cpty.*;
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.netting.CollateralGroupPath;
import org.drip.xva.netting.PositionGroupPath;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;
import org.drip.xva.vertex.BurgardKjaerBuilder;
Expand Down Expand Up @@ -267,8 +267,8 @@ private static final ExposureAdjustmentAggregator[] Mix (
dblSwapNotional2
);

CollateralGroupVertex[] aCGV1 = new CollateralGroupVertex[iNumStep + 1];
CollateralGroupVertex[] aCGV2 = new CollateralGroupVertex[iNumStep + 1];
PositionGroupVertex[] aCGV1 = new PositionGroupVertex[iNumStep + 1];
PositionGroupVertex[] aCGV2 = new PositionGroupVertex[iNumStep + 1];

for (int j = 0; j <= iNumStep; ++j) {
if (0 != j) {
Expand Down Expand Up @@ -312,12 +312,12 @@ private static final ExposureAdjustmentAggregator[] Mix (

MarketPath np = new MarketPath (aMV);

CollateralGroupPath[] aCGP1 = new CollateralGroupPath[] {
new CollateralGroupPath (aCGV1)
PositionGroupPath[] aCGP1 = new PositionGroupPath[] {
new PositionGroupPath (aCGV1)
};

CollateralGroupPath[] aCGP2 = new CollateralGroupPath[] {
new CollateralGroupPath (aCGV2)
PositionGroupPath[] aCGP2 = new PositionGroupPath[] {
new PositionGroupPath (aCGV2)
};

aCPGPGround[i] = new MonoPathExposureAdjustment (
Expand Down Expand Up @@ -348,9 +348,9 @@ private static final ExposureAdjustmentAggregator[] Mix (
},
new AlbaneseAndersenFundingGroupPath[] {
new AlbaneseAndersenFundingGroupPath (
new CollateralGroupPath[] {
new CollateralGroupPath (aCGV1),
new CollateralGroupPath (aCGV2)
new PositionGroupPath[] {
new PositionGroupPath (aCGV1),
new PositionGroupPath (aCGV2)
},
np
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import org.drip.xva.cpty.*;
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.netting.CollateralGroupPath;
import org.drip.xva.netting.PositionGroupPath;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;
import org.drip.xva.vertex.BurgardKjaerBuilder;
Expand Down Expand Up @@ -523,8 +523,8 @@ private static final ExposureAdjustmentAggregator[] Mix (
);

MarketVertex[] aMV = new MarketVertex [iNumStep + 1];
CollateralGroupVertex[] aCGV1 = new CollateralGroupVertex[iNumStep + 1];
CollateralGroupVertex[] aCGV2 = new CollateralGroupVertex[iNumStep + 1];
PositionGroupVertex[] aCGV1 = new PositionGroupVertex[iNumStep + 1];
PositionGroupVertex[] aCGV2 = new PositionGroupVertex[iNumStep + 1];

for (int j = 0; j <= iNumStep; ++j) {
adtVertex[j] = dtSpot.addMonths (6 * j + 6);
Expand Down Expand Up @@ -604,12 +604,12 @@ private static final ExposureAdjustmentAggregator[] Mix (

MarketPath np = new MarketPath (aMV);

CollateralGroupPath[] aCGP1 = new CollateralGroupPath[] {
new CollateralGroupPath (aCGV1)
PositionGroupPath[] aCGP1 = new PositionGroupPath[] {
new PositionGroupPath (aCGV1)
};

CollateralGroupPath[] aCGP2 = new CollateralGroupPath[] {
new CollateralGroupPath (aCGV2)
PositionGroupPath[] aCGP2 = new PositionGroupPath[] {
new PositionGroupPath (aCGV2)
};

aCPGPGround[i] = new MonoPathExposureAdjustment (
Expand Down Expand Up @@ -640,9 +640,9 @@ private static final ExposureAdjustmentAggregator[] Mix (
},
new AlbaneseAndersenFundingGroupPath[] {
new AlbaneseAndersenFundingGroupPath (
new CollateralGroupPath[] {
new CollateralGroupPath (aCGV1),
new CollateralGroupPath (aCGV2)
new PositionGroupPath[] {
new PositionGroupPath (aCGV1),
new PositionGroupPath (aCGV2)
},
np
)
Expand Down
Loading

0 comments on commit ad97e4e

Please sign in to comment.