Skip to content

Commit

Permalink
Features:
Browse files Browse the repository at this point in the history
	- Collateral Group Measures Calculation Scan (1)
	- XVA Definition Close Out General (2)
	- Netting Group Specification - Standard Instance (3, 4)
	- Position Credit Debt Group Specification (5, 6)
	- Credit Debt Position Segment Paths (7, 8)
	- Collateral Group Specification - Broken Date #1 (13, 14)
	- Collateral Group Specification - Broken Date #2 (15, 16)
	- Collateral Group Specification - Broken Date #3 (17, 18)
	- Collateral Group Specification - Broken Date #4 (19, 20)
	- XVA Set Adjustment Digest Scheme (21, 22)
	- Collateral Group Specification - Adjustment Digest #1 (23, 24)
	- Collateral Group Specification - Adjustment Digest #2 (25, 26)
	- Collateral Group Position Replication #1 (27, 28)
	- Collateral Group Position Replication #2 (29, 30)
	- Collateral Group Position Replication #3 (31, 32)
	- Collateral Group Hedge Error #1 (33, 34)
	- Collateral Group Hedge Error #2 (35, 36)
	- Collateral Group Hedge Error #3 (37, 38)
	- Collateral Group Close Out #1 (39, 40)
	- Collateral Group Close Out #2 (41, 42)
	- Collateral Group Close Out #3 (43, 44)


Bug Fixes/Clean-up:

	- Funding Segment Paths Bug Fix (9)
	- Correlated Path Vertex Dimension Eliminate (10)
	- XVA Settings Package Creation/Migration (11, 12)
	- Trim XVA Basel Adjustment Digest (45, 46, 47)


Samples:
  • Loading branch information
lakshmiDRIP committed Feb 26, 2018
1 parent 45e02a2 commit 2183098
Show file tree
Hide file tree
Showing 107 changed files with 627 additions and 187 deletions.
35 changes: 35 additions & 0 deletions ReleaseNotes/03_07_2018.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@

Features:

- Collateral Group Measures Calculation Scan (1)
- XVA Definition Close Out General (2)
- Netting Group Specification - Standard Instance (3, 4)
- Position Credit Debt Group Specification (5, 6)
- Credit Debt Position Segment Paths (7, 8)
- Collateral Group Specification - Broken Date #1 (13, 14)
- Collateral Group Specification - Broken Date #2 (15, 16)
- Collateral Group Specification - Broken Date #3 (17, 18)
- Collateral Group Specification - Broken Date #4 (19, 20)
- XVA Set Adjustment Digest Scheme (21, 22)
- Collateral Group Specification - Adjustment Digest #1 (23, 24)
- Collateral Group Specification - Adjustment Digest #2 (25, 26)
- Collateral Group Position Replication #1 (27, 28)
- Collateral Group Position Replication #2 (29, 30)
- Collateral Group Position Replication #3 (31, 32)
- Collateral Group Hedge Error #1 (33, 34)
- Collateral Group Hedge Error #2 (35, 36)
- Collateral Group Hedge Error #3 (37, 38)
- Collateral Group Close Out #1 (39, 40)
- Collateral Group Close Out #2 (41, 42)
- Collateral Group Close Out #3 (43, 44)


Bug Fixes/Clean-up:

- Funding Segment Paths Bug Fix (9)
- Correlated Path Vertex Dimension Eliminate (10)
- XVA Settings Package Creation/Migration (11, 12)
- Trim XVA Basel Adjustment Digest (45, 46, 47)


Samples:
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ private static final EvolutionTrajectoryVertex RunStep (

double dblDerivativeXVAValueFinish = dblDerivativeXVAValueStart + dblTheta * dblTimeWidth;

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
mvStart.bank().seniorRecoveryRate(),
mvStart.counterParty().seniorRecoveryRate()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ private static final EvolutionTrajectoryVertex RunStep (

double dblDerivativeXVAValueFinish = dblDerivativeXVAValueStart + dblTheta * dblTimeWidth;

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
mvStart.bank().seniorRecoveryRate(),
mvStart.counterParty().seniorRecoveryRate()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ private static final EvolutionTrajectoryVertex RunStep (

double dblDerivativeXVAValueFinish = dblDerivativeXVAValueStart + dblTheta * dblTimeWidth;

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
mvStart.bank().seniorRecoveryRate(),
mvStart.counterParty().seniorRecoveryRate()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ private static final EvolutionTrajectoryVertex RunStep (

double dblDerivativeXVAValueFinish = dblDerivativeXVAValueStart + dblTheta * dblTimeWidth;

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
mvStart.bank().seniorRecoveryRate(),
mvStart.counterParty().seniorRecoveryRate()
);
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/drip/sample/burgard2011/XVAExplain.java
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ private static final EvolutionTrajectoryVertex RunStep (

double dblDerivativeXVAValueFinish = dblDerivativeXVAValueStart + dblTheta * dblTimeWidth;

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
mvStart.bank().seniorRecoveryRate(),
mvStart.counterParty().seniorRecoveryRate()
);
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/org/drip/sample/burgard2011/XVAGreeks.java
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ private static final EvolutionTrajectoryVertex RunStep (

double dblDerivativeXVAValueFinish = dblDerivativeXVAValueStart + dblTheta * dblTimeWidth;

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
mvStart.bank().seniorRecoveryRate(),
mvStart.counterParty().seniorRecoveryRate()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ private static final EvolutionTrajectoryVertex RunStep (

double dblDerivativeXVAValueFinish = dblDerivativeXVAValueStart + dblTheta * dblTimeWidth;

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
mvStart.bank().seniorRecoveryRate(),
mvStart.counterParty().seniorRecoveryRate()
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ private static final ExposureAdjustmentAggregator[] Mix (
double dblBankSubordinateFundingSpread = dblBankHazardRate / (1. - dblBankSubordinateRecoveryRate);
double dblCounterPartyFundingSpread = dblCounterPartyHazardRate / (1. - dblCounterPartyRecoveryRate);

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
dblBankSeniorRecoveryRate,
dblCounterPartyRecoveryRate
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,7 @@ private static final ExposureAdjustmentAggregator[] Mix (
for (int j = 0; j <= iNumStep; ++j) {
adtVertex[j] = dtSpot.addMonths (6 * j + 6);

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
adblBankSeniorRecoveryRate[j],
adblCounterPartyRecoveryRate[j]
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ private static final ExposureAdjustmentAggregator[] Mix (
double dblBankSubordinateFundingSpread = dblBankHazardRate / (1. - dblBankSubordinateRecoveryRate);
double dblCounterPartyFundingSpread = dblCounterPartyHazardRate / (1. - dblCounterPartyRecoveryRate);

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
dblBankSeniorRecoveryRate,
dblCounterPartyRecoveryRate
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ private static final ExposureAdjustmentAggregator[] Mix (

aadblCollateralBalance[i][j] = 0.;

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
adblBankSeniorRecoveryRate[j],
adblCounterPartyRecoveryRate[j]
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@ private static final ExposureAdjustmentAggregator[] Mix (
double dblBankSubordinateFundingSpread = dblBankHazardRate / (1. - dblBankSubordinateRecoveryRate);
double dblCounterPartyFundingSpread = dblCounterPartyHazardRate / (1. - dblCounterPartyRecoveryRate);

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
dblBankSeniorRecoveryRate,
dblCounterPartyRecoveryRate
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,7 @@ private static final ExposureAdjustmentAggregator[] Mix (
for (int j = 0; j <= iNumStep; ++j) {
adtVertex[j] = dtSpot.addMonths (6 * j + 6);

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
adblBankSeniorRecoveryRate[j],
adblCounterPartyRecoveryRate[j]
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.set.*;
import org.drip.xva.settings.*;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;

Expand Down Expand Up @@ -207,10 +208,14 @@ private static final ExposureAdjustmentAggregator[] Mix (
CollateralGroupSpecification cgs = CollateralGroupSpecification.FixedThreshold (
"FIXEDTHRESHOLD",
dblCounterPartyThreshold,
dblBankThreshold
dblBankThreshold,
PositionReplicationScheme.BURGARD_KJAER_HEDGE_ERROR_DUAL_BOND_VERTEX,
BrokenDateScheme.LINEAR_TIME,
0.,
null
);

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
dblBankSeniorRecoveryRate,
dblCounterPartyRecoveryRate
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.set.*;
import org.drip.xva.settings.*;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;

Expand Down Expand Up @@ -318,7 +319,11 @@ private static final ExposureAdjustmentAggregator[] Mix (
CollateralGroupSpecification cgs = CollateralGroupSpecification.FixedThreshold (
"FIXEDTHRESHOLD",
dblCounterPartyThreshold,
dblBankThreshold
dblBankThreshold,
PositionReplicationScheme.BURGARD_KJAER_HEDGE_ERROR_DUAL_BOND_VERTEX,
BrokenDateScheme.LINEAR_TIME,
0.,
null
);

JulianDate dtSpot = DateUtil.Today();
Expand Down Expand Up @@ -545,7 +550,7 @@ private static final ExposureAdjustmentAggregator[] Mix (
double dblValueEnd1 = aadblPortfolio1Value[i][j];
double dblValueEnd2 = aadblPortfolio2Value[i][j];

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
adblBankSeniorRecoveryRate[j],
adblCounterPartyRecoveryRate[j]
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ private static final ExposureAdjustmentAggregator[] Mix (
double dblBankSubordinateFundingSpread = dblBankHazardRate / (1. - dblBankSubordinateRecoveryRate);
double dblCounterPartyFundingSpread = dblCounterPartyHazardRate / (1. - dblCounterPartyRecoveryRate);

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
dblBankSeniorRecoveryRate,
dblCounterPartyRecoveryRate
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ private static final ExposureAdjustmentAggregator[] Mix (

aadblCollateralBalance[i][j] = 0.;

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
adblBankSeniorRecoveryRate[j],
adblCounterPartyRecoveryRate[j]
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.set.*;
import org.drip.xva.settings.*;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;

Expand Down Expand Up @@ -207,10 +208,14 @@ private static final ExposureAdjustmentAggregator[] Mix (
CollateralGroupSpecification cgs = CollateralGroupSpecification.FixedThreshold (
"FIXEDTHRESHOLD",
dblCounterPartyThreshold,
dblBankThreshold
dblBankThreshold,
PositionReplicationScheme.BURGARD_KJAER_HEDGE_ERROR_DUAL_BOND_VERTEX,
BrokenDateScheme.LINEAR_TIME,
0.,
null
);

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
dblBankSeniorRecoveryRate,
dblCounterPartyRecoveryRate
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.set.*;
import org.drip.xva.settings.*;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;

Expand Down Expand Up @@ -318,7 +319,11 @@ private static final ExposureAdjustmentAggregator[] Mix (
CollateralGroupSpecification cgs = CollateralGroupSpecification.FixedThreshold (
"FIXEDTHRESHOLD",
dblCounterPartyThreshold,
dblBankThreshold
dblBankThreshold,
PositionReplicationScheme.BURGARD_KJAER_HEDGE_ERROR_DUAL_BOND_VERTEX,
BrokenDateScheme.LINEAR_TIME,
0.,
null
);

JulianDate dtSpot = DateUtil.Today();
Expand Down Expand Up @@ -545,7 +550,7 @@ private static final ExposureAdjustmentAggregator[] Mix (
double dblValueEnd1 = aadblPortfolio1Value[i][j];
double dblValueEnd2 = aadblPortfolio2Value[i][j];

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
adblBankSeniorRecoveryRate[j],
adblCounterPartyRecoveryRate[j]
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.set.*;
import org.drip.xva.settings.*;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;

Expand Down Expand Up @@ -207,10 +208,14 @@ private static final ExposureAdjustmentAggregator[] Mix (
CollateralGroupSpecification cgs = CollateralGroupSpecification.FixedThreshold (
"FIXEDTHRESHOLD",
dblCounterPartyThreshold,
dblBankThreshold
dblBankThreshold,
PositionReplicationScheme.BURGARD_KJAER_SEMI_REPLICATION_DUAL_BOND_VERTEX,
BrokenDateScheme.LINEAR_TIME,
0.,
null
);

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
dblBankSeniorRecoveryRate,
dblCounterPartyRecoveryRate
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.set.*;
import org.drip.xva.settings.*;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;

Expand Down Expand Up @@ -318,7 +319,11 @@ private static final ExposureAdjustmentAggregator[] Mix (
CollateralGroupSpecification cgs = CollateralGroupSpecification.FixedThreshold (
"FIXEDTHRESHOLD",
dblCounterPartyThreshold,
dblBankThreshold
dblBankThreshold,
PositionReplicationScheme.BURGARD_KJAER_SEMI_REPLICATION_DUAL_BOND_VERTEX,
BrokenDateScheme.LINEAR_TIME,
0.,
null
);

JulianDate dtSpot = DateUtil.Today();
Expand Down Expand Up @@ -545,7 +550,7 @@ private static final ExposureAdjustmentAggregator[] Mix (
double dblValueEnd1 = aadblPortfolio1Value[i][j];
double dblValueEnd2 = aadblPortfolio2Value[i][j];

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
adblBankSeniorRecoveryRate[j],
adblCounterPartyRecoveryRate[j]
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ private static final ExposureAdjustmentAggregator[] Mix (
double dblBankSubordinateFundingSpread = dblBankHazardRate / (1. - dblBankSubordinateRecoveryRate);
double dblCounterPartyFundingSpread = dblCounterPartyHazardRate / (1. - dblCounterPartyRecoveryRate);

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
dblBankSeniorRecoveryRate,
dblCounterPartyRecoveryRate
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ private static final ExposureAdjustmentAggregator[] Mix (

aadblCollateralBalance[i][j] = 0.;

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
adblBankSeniorRecoveryRate[j],
adblCounterPartyRecoveryRate[j]
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import org.drip.xva.definition.*;
import org.drip.xva.hypothecation.*;
import org.drip.xva.set.*;
import org.drip.xva.settings.*;
import org.drip.xva.strategy.*;
import org.drip.xva.universe.*;

Expand Down Expand Up @@ -207,10 +208,14 @@ private static final ExposureAdjustmentAggregator[] Mix (
CollateralGroupSpecification cgs = CollateralGroupSpecification.FixedThreshold (
"FIXEDTHRESHOLD",
dblCounterPartyThreshold,
dblBankThreshold
dblBankThreshold,
PositionReplicationScheme.BURGARD_KJAER_SEMI_REPLICATION_DUAL_BOND_VERTEX,
BrokenDateScheme.LINEAR_TIME,
0.,
null
);

CloseOutGeneral cog = new CloseOutBilateral (
CloseOut cog = new CloseOutBilateral (
dblBankSeniorRecoveryRate,
dblCounterPartyRecoveryRate
);
Expand Down
Loading

0 comments on commit 2183098

Please sign in to comment.