Skip to content

Commit 9d57504

Browse files
mgronckijenkins
authored andcommitted
QPR-12148 schema related updates
1 parent f90ac62 commit 9d57504

16 files changed

Lines changed: 645 additions & 546 deletions

File tree

Examples/Example_15/Input/stresstest.xml

Lines changed: 140 additions & 126 deletions
Original file line numberDiff line numberDiff line change
@@ -4,185 +4,199 @@
44

55
<DiscountCurves>
66
<DiscountCurve ccy="EUR">
7-
<ShiftType>Absolute</ShiftType>
8-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
9-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
7+
<ShiftType>Absolute</ShiftType>
8+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
9+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
1010
</DiscountCurve>
1111
<DiscountCurve ccy="USD">
12-
<ShiftType>Absolute</ShiftType>
13-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
14-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
12+
<ShiftType>Absolute</ShiftType>
13+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
14+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
1515
</DiscountCurve>
1616
<DiscountCurve ccy="GBP">
17-
<ShiftType>Absolute</ShiftType>
18-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
19-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
17+
<ShiftType>Absolute</ShiftType>
18+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
19+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
2020
</DiscountCurve>
2121
<DiscountCurve ccy="JPY">
22-
<ShiftType>Absolute</ShiftType>
23-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
24-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
22+
<ShiftType>Absolute</ShiftType>
23+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
24+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
2525
</DiscountCurve>
2626
</DiscountCurves>
27-
27+
2828
<IndexCurves>
2929
<IndexCurve index="EUR-EURIBOR-6M">
30-
<ShiftType>Absolute</ShiftType>
31-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
32-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
30+
<ShiftType>Absolute</ShiftType>
31+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
32+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
3333
</IndexCurve>
3434
<IndexCurve index="EUR-EURIBOR-3M">
35-
<ShiftType>Absolute</ShiftType>
36-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
37-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
35+
<ShiftType>Absolute</ShiftType>
36+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
37+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
3838
</IndexCurve>
3939
<IndexCurve index="EUR-EONIA">
40-
<ShiftType>Absolute</ShiftType>
41-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
42-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
40+
<ShiftType>Absolute</ShiftType>
41+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
42+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
4343
</IndexCurve>
4444
<IndexCurve index="USD-LIBOR-3M">
45-
<ShiftType>Absolute</ShiftType>
46-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
47-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
45+
<ShiftType>Absolute</ShiftType>
46+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
47+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
4848
</IndexCurve>
4949
<IndexCurve index="USD-LIBOR-6M">
50-
<ShiftType>Absolute</ShiftType>
51-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
52-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
50+
<ShiftType>Absolute</ShiftType>
51+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
52+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
5353
</IndexCurve>
5454
<IndexCurve index="GBP-LIBOR-3M">
55-
<ShiftType>Absolute</ShiftType>
56-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
57-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
55+
<ShiftType>Absolute</ShiftType>
56+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
57+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
5858
</IndexCurve>
5959
<IndexCurve index="GBP-LIBOR-6M">
60-
<ShiftType>Absolute</ShiftType>
61-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
62-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
60+
<ShiftType>Absolute</ShiftType>
61+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
62+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
6363
</IndexCurve>
6464
<IndexCurve index="CHF-LIBOR-6M">
65-
<ShiftType>Absolute</ShiftType>
66-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
67-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
65+
<ShiftType>Absolute</ShiftType>
66+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
67+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
6868
</IndexCurve>
6969
<IndexCurve index="JPY-LIBOR-6M">
70-
<ShiftType>Absolute</ShiftType>
71-
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
72-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
70+
<ShiftType>Absolute</ShiftType>
71+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
72+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
7373
</IndexCurve>
7474
</IndexCurves>
75-
75+
7676
<YieldCurves>
7777
<YieldCurve name="BENCHMARK_EUR">
78-
<ShiftType>Absolute</ShiftType>
79-
<Shifts>0.001,0.002,0.003,0.004,0.005,0.006,0.007,0.008,0.009</Shifts>
80-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
78+
<ShiftType>Absolute</ShiftType>
79+
<Shifts>0.001,0.002,0.003,0.004,0.005,0.006,0.007,0.008,0.009</Shifts>
80+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
8181
</YieldCurve>
8282
</YieldCurves>
83-
83+
8484
<FxSpots>
8585
<FxSpot ccypair="USDEUR">
86-
<ShiftType>Relative</ShiftType>
87-
<ShiftSize>0.01</ShiftSize>
86+
<ShiftType>Relative</ShiftType>
87+
<ShiftSize>0.01</ShiftSize>
8888
</FxSpot>
8989
<FxSpot ccypair="GBPEUR">
90-
<ShiftType>Relative</ShiftType>
91-
<ShiftSize>0.01</ShiftSize>
90+
<ShiftType>Relative</ShiftType>
91+
<ShiftSize>0.01</ShiftSize>
9292
</FxSpot>
9393
<FxSpot ccypair="CHFEUR">
94-
<ShiftType>Relative</ShiftType>
95-
<ShiftSize>0.01</ShiftSize>
94+
<ShiftType>Relative</ShiftType>
95+
<ShiftSize>0.01</ShiftSize>
9696
</FxSpot>
9797
<FxSpot ccypair="JPYEUR">
98-
<ShiftType>Relative</ShiftType>
99-
<ShiftSize>0.01</ShiftSize>
98+
<ShiftType>Relative</ShiftType>
99+
<ShiftSize>0.01</ShiftSize>
100100
</FxSpot>
101101
</FxSpots>
102-
103-
<FxVolatilities><!-- strike dimension ignored -->
102+
103+
<FxVolatilities>
104104
<FxVolatility ccypair="USDEUR">
105-
<ShiftType>Absolute</ShiftType>
106-
<Shifts>0.1,0.1,0.1,0.1</Shifts>
107-
<ShiftExpiries>1Y,2Y,3Y,5Y</ShiftExpiries>
105+
<ShiftType>Absolute</ShiftType>
106+
<Shifts>0.1,0.1,0.1,0.1</Shifts>
107+
<ShiftExpiries>1Y,2Y,3Y,5Y</ShiftExpiries>
108108
</FxVolatility>
109109
<FxVolatility ccypair="GBPEUR">
110-
<ShiftType>Absolute</ShiftType>
111-
<Shifts>0.1,0.1,0.1,0.1</Shifts>
112-
<ShiftExpiries>1Y,2Y,3Y,5Y</ShiftExpiries>
110+
<ShiftType>Absolute</ShiftType>
111+
<Shifts>0.1,0.1,0.1,0.1</Shifts>
112+
<ShiftExpiries>1Y,2Y,3Y,5Y</ShiftExpiries>
113113
</FxVolatility>
114114
<FxVolatility ccypair="JPYEUR">
115-
<ShiftType>Absolute</ShiftType>
116-
<Shifts>0.1,0.1,0.1,0.1</Shifts>
117-
<ShiftExpiries>1Y,2Y,3Y,5Y</ShiftExpiries>
115+
<ShiftType>Absolute</ShiftType>
116+
<Shifts>0.1,0.1,0.1,0.1</Shifts>
117+
<ShiftExpiries>1Y,2Y,3Y,5Y</ShiftExpiries>
118118
</FxVolatility>
119119
</FxVolatilities>
120-
121-
<!-- Swaption ATM vol shifts, strike dimension ignored -->
120+
121+
122122
<SwaptionVolatilities>
123123
<SwaptionVolatility ccy="EUR">
124-
<ShiftType>Absolute</ShiftType>
125-
<Shifts>
126-
<Shift>0.0010</Shift><!-- that's used as a default if pairs are not specified -->
127-
<Shift expiry="1Y" term="1Y">0.0010</Shift>
128-
<Shift expiry="1Y" term="5Y">0.0010</Shift>
129-
<Shift expiry="1Y" term="10Y">0.0010</Shift>
130-
<Shift expiry="5Y" term="1Y">0.0010</Shift>
131-
<Shift expiry="5Y" term="5Y">0.0010</Shift>
132-
<Shift expiry="5Y" term="10Y">0.0010</Shift>
133-
<Shift expiry="10Y" term="1Y">0.0010</Shift>
134-
<Shift expiry="10Y" term="5Y">0.0010</Shift>
135-
<Shift expiry="10Y" term="10Y">0.0010</Shift>
136-
</Shifts>
137-
<ShiftExpiries>1Y,5Y,10Y</ShiftExpiries>
138-
<ShiftTerms>1Y,5Y,10Y</ShiftTerms>
124+
<ShiftType>Absolute</ShiftType>
125+
<Shifts>
126+
<Shift>0.0010</Shift>
127+
<Shift expiry="1Y" term="1Y">0.0010</Shift>
128+
<Shift expiry="1Y" term="5Y">0.0010</Shift>
129+
<Shift expiry="1Y" term="10Y">0.0010</Shift>
130+
<Shift expiry="5Y" term="1Y">0.0010</Shift>
131+
<Shift expiry="5Y" term="5Y">0.0010</Shift>
132+
<Shift expiry="5Y" term="10Y">0.0010</Shift>
133+
<Shift expiry="10Y" term="1Y">0.0010</Shift>
134+
<Shift expiry="10Y" term="5Y">0.0010</Shift>
135+
<Shift expiry="10Y" term="10Y">0.0010</Shift>
136+
</Shifts>
137+
<ShiftExpiries>1Y,5Y,10Y</ShiftExpiries>
138+
<ShiftTerms>1Y,5Y,10Y</ShiftTerms>
139139
</SwaptionVolatility>
140140
</SwaptionVolatilities>
141-
142-
<!-- Cap/Floor (Optionlet) vol surface shifts, strike dimension ignored -->
141+
142+
143143
<CapFloorVolatilities>
144144
<CapFloorVolatility ccy="EUR">
145-
<ShiftType>Absolute</ShiftType>
146-
<Shifts>0.001,0.001,0.001,0.001,0.001,0.001</Shifts>
147-
<ShiftExpiries>6M,1Y,2Y,3Y,5Y,10Y</ShiftExpiries>
148-
<ShiftStrikes/>
145+
<ShiftType>Absolute</ShiftType>
146+
<Shifts>
147+
<Shift tenor="6M">0.001</Shift>
148+
<Shift tenor="1Y">0.001</Shift>
149+
<Shift tenor="2Y">0.001</Shift>
150+
<Shift tenor="3Y">0.001</Shift>
151+
<Shift tenor="5Y">0.001</Shift>
152+
<Shift tenor="10Y">0.001</Shift>
153+
</Shifts>
154+
<ShiftExpiries>6M,1Y,2Y,3Y,5Y,10Y</ShiftExpiries>
155+
<ShiftStrikes />
149156
</CapFloorVolatility>
150157
<CapFloorVolatility ccy="USD">
151-
<ShiftType>Absolute</ShiftType>
152-
<Shifts>0.001,0.001,0.001,0.001,0.001,0.001</Shifts>
153-
<ShiftExpiries>6M,1Y,2Y,3Y,5Y,10Y</ShiftExpiries>
158+
<ShiftType>Absolute</ShiftType>
159+
<Shifts>
160+
<Shift tenor="6M">0.001</Shift>
161+
<Shift tenor="1Y">0.001</Shift>
162+
<Shift tenor="2Y">0.001</Shift>
163+
<Shift tenor="3Y">0.001</Shift>
164+
<Shift tenor="5Y">0.001</Shift>
165+
<Shift tenor="10Y">0.001</Shift>
166+
</Shifts>
167+
<ShiftExpiries>6M,1Y,2Y,3Y,5Y,10Y</ShiftExpiries>
154168
</CapFloorVolatility>
155169
</CapFloorVolatilities>
156-
157-
<!-- Equity spot shifts -->
170+
171+
158172
<EquitySpots>
159173
<EquitySpot equity="SP5">
160-
<ShiftType>Relative</ShiftType>
161-
<ShiftSize>0.01</ShiftSize>
174+
<ShiftType>Relative</ShiftType>
175+
<ShiftSize>0.01</ShiftSize>
162176
</EquitySpot>
163177
<EquitySpot equity="Lufthansa">
164-
<ShiftType>Relative</ShiftType>
165-
<ShiftSize>0.01</ShiftSize>
178+
<ShiftType>Relative</ShiftType>
179+
<ShiftSize>0.01</ShiftSize>
166180
</EquitySpot>
167181
</EquitySpots>
168-
169-
<!-- Equity ATM vol shifts -->
182+
183+
170184
<EquityVolatilities>
171185
<EquityVolatility equity="SP5">
172-
<ShiftType>Relative</ShiftType>
173-
<Shifts>0.01,0.01,0.01,0.01,0.01</Shifts>
174-
<ShiftExpiries>6M,1Y,2Y,3Y,5Y</ShiftExpiries>
186+
<ShiftType>Relative</ShiftType>
187+
<Shifts>0.01,0.01,0.01,0.01,0.01</Shifts>
188+
<ShiftExpiries>6M,1Y,2Y,3Y,5Y</ShiftExpiries>
175189
</EquityVolatility>
176190
<EquityVolatility equity="Lufthansa">
177-
<ShiftType>Relative</ShiftType>
178-
<Shifts>0.01,0.01,0.01,0.01,0.01</Shifts>
179-
<ShiftExpiries>6M,1Y,2Y,3Y,5Y</ShiftExpiries>
191+
<ShiftType>Relative</ShiftType>
192+
<Shifts>0.01,0.01,0.01,0.01,0.01</Shifts>
193+
<ShiftExpiries>6M,1Y,2Y,3Y,5Y</ShiftExpiries>
180194
</EquityVolatility>
181195
</EquityVolatilities>
182196
<SecuritySpreads />
183-
<RecoveryRates/>
184-
<SurvivalProbabilities/>
185-
</StressTest><!-- end of stress test definition -->
197+
<RecoveryRates />
198+
<SurvivalProbabilities />
199+
</StressTest>
186200

187201
<StressTest id="twist">
188202

@@ -192,9 +206,9 @@
192206
</IndexCurves>
193207
<YieldCurves>
194208
<YieldCurve name="BENCHMARK_EUR">
195-
<ShiftType>Absolute</ShiftType>
196-
<Shifts>-0.005,-0.004,-0.003,-0.002,0.002,0.004,0.006,0.008,0.01</Shifts>
197-
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
209+
<ShiftType>Absolute</ShiftType>
210+
<Shifts>-0.005,-0.004,-0.003,-0.002,0.002,0.004,0.006,0.008,0.01</Shifts>
211+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
198212
</YieldCurve>
199213
</YieldCurves>
200214
<FxSpots>
@@ -203,26 +217,26 @@
203217
</FxVolatilities>
204218
<SwaptionVolatilities>
205219
<SwaptionVolatility ccy="EUR">
206-
<ShiftType>Absolute</ShiftType>
207-
<Shifts>
208-
<Shift>0.0020</Shift><!-- that's used as a default if pairs are not specified -->
209-
<Shift expiry="1Y" term="5Y">0.0040</Shift>
210-
<Shift expiry="5Y" term="5Y">0.0030</Shift>
211-
<Shift expiry="10Y" term="5Y">0.0010</Shift>
212-
</Shifts>
213-
<ShiftExpiries>1Y,5Y,10Y</ShiftExpiries>
214-
<ShiftTerms>5Y</ShiftTerms>
220+
<ShiftType>Absolute</ShiftType>
221+
<Shifts>
222+
<Shift>0.0020</Shift>
223+
<Shift expiry="1Y" term="5Y">0.0040</Shift>
224+
<Shift expiry="5Y" term="5Y">0.0030</Shift>
225+
<Shift expiry="10Y" term="5Y">0.0010</Shift>
226+
</Shifts>
227+
<ShiftExpiries>1Y,5Y,10Y</ShiftExpiries>
228+
<ShiftTerms>5Y</ShiftTerms>
215229
</SwaptionVolatility>
216230
</SwaptionVolatilities>
217231
<CapFloorVolatilities>
218232
</CapFloorVolatilities>
219-
<EquitySpots>
220-
</EquitySpots>
221-
<EquityVolatilities>
222-
</EquityVolatilities>
233+
<EquitySpots>
234+
</EquitySpots>
235+
<EquityVolatilities>
236+
</EquityVolatilities>
223237
<SecuritySpreads />
224-
<RecoveryRates/>
225-
<SurvivalProbabilities/>
238+
<RecoveryRates />
239+
<SurvivalProbabilities />
226240
</StressTest>
227241

228-
</StressTesting>
242+
</StressTesting>

0 commit comments

Comments
 (0)