@@ -8,21 +8,31 @@ \subsection{Stress Scenario Analysis: {\tt stressconfig.xml}}\label{sec:stress}
88This 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
1213the market components to be shifted in this scenario in a similar syntax that is also used for the sensitivity
1314configuration, 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
1622However, instead of specifying one shift size per market component, here a whole vector of shifts can be given, with
1723different shift sizes applied to each point of the curve (or surface / cube).
1824
1925In case of the swaption volatility shifts, the single value given as {\tt Shift} (without the attributes {\tt expiry}
2026and {\tt term}) represents a default value that is used whenever no explicit value is given for a expiry / term pair.
2127
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.
30+
2231\begin {longlisting }
2332% \hrule\medskip
2433 \begin {minted }[fontsize=\scriptsize ]{xml}
2534<StressTesting>
35+ <UseSpreadedTermStructures>false</UseSpreadedTermStructures>
2636 <StressTest id="parallel_rates">
2737 <DiscountCurves>
2838 <DiscountCurve ccy="EUR">
@@ -74,8 +84,58 @@ \subsection{Stress Scenario Analysis: {\tt stressconfig.xml}}\label{sec:stress}
7484 <StressTest id="twist">
7585 ...
7686 </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>
77137</StressTesting>
78138 \end {minted}
79139\caption {Stress configuration}
80140\label {lst:stress_config }
81- \end {longlisting}
141+ \end {longlisting}
0 commit comments