Skip to content

Commit 412f63d

Browse files
mgronckijenkins
authored andcommitted
QPR-12148 update docs
1 parent 2daae4d commit 412f63d

1 file changed

Lines changed: 62 additions & 8 deletions

File tree

Docs/UserGuide/parameterisation/stressconfig.tex

Lines changed: 62 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,37 @@ \subsection{Stress Scenario Analysis: {\tt stressconfig.xml}}\label{sec:stress}
88
This file {\tt stressconfig.xml} specifies how stress tests can be configured. The general structure is shown in listing
99
\ref{lst:stress_config}.
1010

11-
In this example, two stress scenarios ``parallel\_rates'' and ``twist'' are defined. Each scenario definition contains
11+
In this example, two zero stress scenarios ``parallel\_rates'' and ``twist'' and one par rate ``par_parallel'' are defined.
12+
Each scenario definition contains
1213
the market components to be shifted in this scenario in a similar syntax that is also used for the sensitivity
1314
configuration, see \ref{sec:sensitivity}. Components that should not be shifted, can just be omitted in the definition
14-
of the scenario.
15+
of the scenario. Shifts for rate curves, credit curves and interest rate cap/floors can be given as par or zero rate shifts.
16+
By default shifts are zero rate shifts. If shifts are marked as par rate shifts all components (rate/credit/caps) shifts are
17+
par shifts in that category, for example it is not possible to have par rate first for one yield curve and zero rate for
18+
another curve in the same scenario. In case of par stress scenario, the shifted par instruments and related conventions are defined
19+
in a sensitivity configuration. The number number stress shifts (tenors/expiries and strikes) need to be allign with
20+
the tenors/expiries and strikes of par instruments \ref{sec:sensitivity}.
1521

1622
However, instead of specifying one shift size per market component, here a whole vector of shifts can be given, with
1723
different shift sizes applied to each point of the curve (or surface / cube).
1824

1925
In case of the swaption volatility shifts, the single value given as {\tt Shift} (without the attributes {\tt expiry}
2026
and {\tt term}) represents a default value that is used whenever no explicit value is given for a expiry / term pair.
2127

22-
In case of discount, index, yield and survival probability curves and cap floor surfaces the shifts can be defined as parRateShifts {\tt ParShift}.
23-
It's default to shifts on the zero rates. If a curve in a asset class (e.g. rates) is defined as par rate shift,
24-
all curves in this asset class has to be defined as par rate shift.
28+
UseSpreadedTermStructures: If set to true, spreaded termstructures over t0 will be used for the scenario calculation, to
29+
improve the alignment of the scenario sim market and t0 curves.
2530

2631
\begin{longlisting}
2732
%\hrule\medskip
2833
\begin{minted}[fontsize=\scriptsize]{xml}
2934
<StressTesting>
35+
<UseSpreadedTermStructures>false</UseSpreadedTermStructures>
3036
<StressTest id="parallel_rates">
3137
<DiscountCurves>
3238
<DiscountCurve ccy="EUR">
3339
<ShiftType>Absolute</ShiftType>
3440
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
3541
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
36-
<ParShift>true</ParShift>
3742
</DiscountCurve>
3843
...
3944
</DiscountCurves>
@@ -73,15 +78,64 @@ \subsection{Stress Scenario Analysis: {\tt stressconfig.xml}}\label{sec:stress}
7378
<ShiftType>Absolute</ShiftType>
7479
<ShiftExpiries>6M,1Y,2Y,3Y,5Y,10Y</ShiftExpiries>
7580
<Shifts>0.001,0.001,0.001,0.001,0.001,0.001</Shifts>
76-
<ParShift>false</ParShift>
7781
</CapFloorVolatility>
7882
</CapFloorVolatilities>
7983
</StressTest>
8084
<StressTest id="twist">
8185
...
8286
</StressTest>
87+
<StressTest id="par_parallel">
88+
<ParShifts>
89+
<IRCurves>true</IRCurves>
90+
<SurvivalProbability>true</SurvivalProbability>
91+
<CapFloorVolatilities>true</CapFloorVolatilities>
92+
</ParShifts>
93+
<DiscountCurves>
94+
<DiscountCurve ccy="EUR">
95+
<ShiftType>Absolute</ShiftType>
96+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
97+
<Shifts>0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01</Shifts>
98+
</DiscountCurve>
99+
...
100+
</DiscountCurves>
101+
<IndexCurves>
102+
...
103+
</IndexCurves>
104+
<YieldCurves />
105+
<FxSpots />
106+
<FxVolatilities />
107+
<SwaptionVolatilities />
108+
<CapFloorVolatilities>
109+
<CapFloorVolatility key="EUR-EURIBOR-6M">
110+
<ShiftType>Absolute</ShiftType>
111+
<ShiftExpiries>1Y, 2Y, 3Y, 4Y, 5Y, 6Y, 7Y, 8Y, 9Y</ShiftExpiries>
112+
<Shifts>
113+
<Shift tenor="1Y">0.01</Shift>
114+
<Shift tenor="2Y">0.01</Shift>
115+
<Shift tenor="3Y">0.01</Shift>
116+
<Shift tenor="4Y">0.01</Shift>
117+
<Shift tenor="5Y">0.01</Shift>
118+
<Shift tenor="6Y">0.01</Shift>
119+
<Shift tenor="7Y">0.01</Shift>
120+
<Shift tenor="8Y">0.01</Shift>
121+
<Shift tenor="9Y">0.01</Shift>
122+
</Shifts>
123+
</CapFloorVolatility>
124+
</CapFloorVolatilities>
125+
<EquitySpots />
126+
<EquityVolatilities />
127+
<SecuritySpreads />
128+
<RecoveryRates />
129+
<SurvivalProbabilities>
130+
<SurvivalProbability name="Underlying1">
131+
<ShiftType>Absolute</ShiftType>
132+
<Shifts>0.01, 0.01, 0.01, 0.01, 0.01</Shifts>
133+
<ShiftTenors>1Y, 2Y, 3Y, 5Y, 10Y</ShiftTenors>
134+
</SurvivalProbability>
135+
</SurvivalProbabilities>
136+
</StressTest>
83137
</StressTesting>
84138
\end{minted}
85139
\caption{Stress configuration}
86140
\label{lst:stress_config}
87-
\end{longlisting}
141+
\end{longlisting}

0 commit comments

Comments
 (0)