Skip to content

Commit 435c6b2

Browse files
rolandlichtersjenkins
authored andcommitted
Merge remote-tracking branch 'origin/QPR-8566' into QPR-8566
1 parent 6fcc3b8 commit 435c6b2

5 files changed

Lines changed: 53 additions & 17 deletions

File tree

Examples/Example_43/Input/creditsimulation4.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@
136136
<DoubleDefault>Y</DoubleDefault>
137137
<Seed>42</Seed>
138138
<Paths>1000</Paths>
139-
<CreditMode>Migration</CreditMode>
139+
<CreditMode>Default</CreditMode>
140140
<!-- Migration, Default -->
141141
<LoanExposureMode>Notional</LoanExposureMode>
142142
<!-- Notional, Value -->

Examples/Example_43/Input/netting.xml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,4 +90,34 @@
9090
</EligibleCollaterals>
9191
</CSADetails>
9292
</NettingSet>
93+
<NettingSet>
94+
<NettingSetId>CPTY_D</NettingSetId>
95+
<Counterparty>CPTY_D</Counterparty>
96+
<ActiveCSAFlag>false</ActiveCSAFlag>
97+
<CSADetails>
98+
<Bilateral>Bilateral</Bilateral>
99+
<CSACurrency>EUR</CSACurrency>
100+
<Index>EUR-EONIA</Index>
101+
<ThresholdPay>0</ThresholdPay>
102+
<ThresholdReceive>0</ThresholdReceive>
103+
<MinimumTransferAmountPay>0</MinimumTransferAmountPay>
104+
<MinimumTransferAmountReceive>0</MinimumTransferAmountReceive>
105+
<IndependentAmount>
106+
<IndependentAmountHeld>0</IndependentAmountHeld>
107+
<IndependentAmountType>FIXED</IndependentAmountType>
108+
</IndependentAmount>
109+
<MarginingFrequency>
110+
<CallFrequency>1D</CallFrequency>
111+
<PostFrequency>1D</PostFrequency>
112+
</MarginingFrequency>
113+
<MarginPeriodOfRisk>2W</MarginPeriodOfRisk>
114+
<CollateralCompoundingSpreadReceive>0.00</CollateralCompoundingSpreadReceive>
115+
<CollateralCompoundingSpreadPay>0.00</CollateralCompoundingSpreadPay>
116+
<EligibleCollaterals>
117+
<Currencies>
118+
<Currency>EUR</Currency>
119+
</Currencies>
120+
</EligibleCollaterals>
121+
</CSADetails>
122+
</NettingSet>
93123
</NettingSetDefinitions>

Examples/Example_43/Input/portfolio4.xml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
<Trade id="Bond_1">
44
<TradeType>Bond</TradeType>
55
<Envelope>
6-
<CounterParty>CPTY_B</CounterParty>
7-
<NettingSetId>CPTY_A</NettingSetId>
6+
<CounterParty>CPTY_D</CounterParty>
7+
<NettingSetId>CPTY_D</NettingSetId>
88
<AdditionalFields/>
99
</Envelope>
1010
<BondData>
@@ -46,6 +46,7 @@
4646
</LegData>
4747
</BondData>
4848
</Trade>
49+
<!--
4950
<Trade id="CDS_1">
5051
<TradeType>CreditDefaultSwap</TradeType>
5152
<Envelope>
@@ -55,7 +56,7 @@
5556
</Envelope>
5657
<CreditDefaultSwapData>
5758
<IssuerId>CPTY_A</IssuerId>
58-
<CreditCurveId>BOND_B</CreditCurveId>
59+
<CreditCurveId>BOND_BB</CreditCurveId>
5960
<SettlesAccrual>Y</SettlesAccrual>
6061
<PaysAtDefaultTime>Y</PaysAtDefaultTime>
6162
<ProtectionStart/>
@@ -92,4 +93,5 @@
9293
</LegData>
9394
</CreditDefaultSwapData>
9495
</Trade>
96+
-->
9597
</Portfolio>

Examples/Example_43/Input/todaysmarket.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@
149149
<DefaultCurve name="CPTY_A">Default/EUR/CPTY_A_SR_EUR</DefaultCurve>
150150
<DefaultCurve name="CPTY_B">Default/EUR/CPTY_A_SR_EUR</DefaultCurve>
151151
<DefaultCurve name="CPTY_C">Default/EUR/CPTY_A_SR_EUR</DefaultCurve>
152+
<DefaultCurve name="CPTY_D">Default/EUR/CPTY_A_SR_EUR</DefaultCurve>
152153
<!-- Rating dependent curves -->
153154
<DefaultCurve name="CPTY_C_AAA">Default/USD/CPTY_C_SR_EUR_AAA</DefaultCurve>
154155
<DefaultCurve name="CPTY_C_AA">Default/USD/CPTY_C_SR_EUR_AA</DefaultCurve>

Examples/Example_43/run.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,22 @@
66

77
oreex = OreExample(sys.argv[1] if len(sys.argv)>1 else False)
88

9+
oreex.print_headline("Run ORE for Bond and CDS")
10+
orexml="Input/ore4.xml"
11+
oreex.run(orexml)
12+
case="bond_cds"
13+
targetFileName = "credit_migration_" + case + "_11.csv"
14+
oreex.setup_plot("cdf_" + case)
15+
oreex.plot(targetFileName, 0, 2, 'b', label="Loss")
16+
oreex.decorate_plot(title="Example 43 - Loss distribution", ylabel="CDF", xlabel="Loss", y_format_as_int=False)
17+
oreex.save_plot_to_file()
18+
oreex.setup_plot("pdf_" + case)
19+
oreex.plot(targetFileName, 0, 1, 'b', label="Loss")
20+
oreex.decorate_plot(title="Example 43 - Loss distribution", ylabel="PDF", xlabel="Loss", y_format_as_int=False)
21+
oreex.save_plot_to_file()
22+
23+
sys.exit("Done")
24+
925
oreex.print_headline("Run ORE for a single Bond")
1026
orexml="Input/ore.xml"
1127
oreex.run(orexml)
@@ -62,19 +78,6 @@
6278
oreex.decorate_plot(title="Example 43 - Loss distribution", ylabel="PDF", xlabel="Loss", y_format_as_int=False)
6379
oreex.save_plot_to_file()
6480

65-
oreex.print_headline("Run ORE for Bond and CDS")
66-
orexml="Input/ore4.xml"
67-
oreex.run(orexml)
68-
case="bond_cds"
69-
targetFileName = "credit_migration_" + case + "_11.csv"
70-
oreex.setup_plot("cdf_" + case)
71-
oreex.plot(targetFileName, 0, 2, 'b', label="Loss")
72-
oreex.decorate_plot(title="Example 43 - Loss distribution", ylabel="CDF", xlabel="Loss", y_format_as_int=False)
73-
oreex.save_plot_to_file()
74-
oreex.setup_plot("pdf_" + case)
75-
oreex.plot(targetFileName, 0, 1, 'b', label="Loss")
76-
oreex.decorate_plot(title="Example 43 - Loss distribution", ylabel="PDF", xlabel="Loss", y_format_as_int=False)
77-
oreex.save_plot_to_file()
7881

7982
#oreex.print_headline("Run ORE for 100 Bonds")
8083
#orexml="Input/ore100.xml"

0 commit comments

Comments
 (0)