Skip to content

Commit 65dbf2d

Browse files
author
jenkins
committed
git subrepo pull (merge) ore
subrepo: subdir: "ore" merged: "9d01c991dd" upstream: origin: "git@gitlab.acadiasoft.net:qs/ore.git" branch: "master" commit: "eddc0a9955" git-subrepo: version: "0.4.6" origin: "https://github.com/ingydotnet/git-subrepo" commit: "73a0129"
2 parents 6ab3829 + eddc0a9 commit 65dbf2d

50 files changed

Lines changed: 6030 additions & 121 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Docker/.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ DEBIAN_TAG=11.7
33
# it's recommended to include CMAKE_BUILD_TYPE and BOOST_VARIANT in QL_TAG, ORE_TAG, BOOST_TAG
44
# to distinguish a release build from a debug build
55

6-
QL_TAG=1.31.1_f5b9affc
6+
QL_TAG=1.31.1_ddda9430
77
ORE_TAG=latest
88

99
# debug or release

Docs/UserGuide/curve_configurations/capfloorvolatility.tex

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -347,10 +347,20 @@ \subsubsection{Cap Floor Volatility Structures}
347347
As referenced above, the allowable values are \lstinline!TermVolatilities! or \lstinline!OptionletVolatilities!. As we are describing here a surface with interpolation on optionlet volatilities, this should be set to \lstinline!OptionletVolatilities! as shown in Listing \ref{lst:capfloorvol_surface_configuration_opt}.
348348

349349
\item \lstinline!TimeInterpolation!:
350-
Indicates the interpolation and extrapolation, if allowed by the \lstinline!Extrapolation! node, in the time direction. As \lstinline!InterpolateOn! is set to \lstinline!OptionletVolatilities! here, the interpolation is used to interpolate the optionlet volatilities only i.e.\ there is no interpolation on the term cap floor volatility curve. The allowable values are \lstinline!Linear!, \lstinline!LinearFlat!, \lstinline!BackwardFlat!, \lstinline!Cubic! and \lstinline!CubicFlat!. If not set, \lstinline!LinearFlat! is assumed. Note that \lstinline!Linear! indicates linear interpolation and linear extrapolation. \lstinline!LinearFlat! indicates linear interpolation and flat extrapolation. Analogous meanings apply for \lstinline!Cubic! and \lstinline!CubicFlat!.
350+
Indicates the interpolation and extrapolation, if allowed by the \lstinline!Extrapolation! node, in the time
351+
direction. As \lstinline!InterpolateOn! is set to \lstinline!OptionletVolatilities! here, the interpolation is used to
352+
interpolate the optionlet volatilities only i.e.\ there is no interpolation on the term cap floor volatility curve. The
353+
allowable values are \lstinline!Linear!, \lstinline!LinearFlat!, \lstinline!BackwardFlat!, \lstinline!Cubic!
354+
and \lstinline!CubicFlat!. If not set, \lstinline!LinearFlat! is assumed. Note that \lstinline!Linear! indicates linear
355+
interpolation and linear extrapolation. \lstinline!LinearFlat! indicates linear interpolation and flat
356+
extrapolation. Analogous meanings apply for \lstinline!Cubic! and \lstinline!CubicFlat!.
351357

352358
\item \lstinline!StrikeInterpolation!:
353-
Indicates the interpolation and extrapolation, if allowed by the \lstinline!Extrapolation! node, in the strike direction. Again, as \lstinline!InterpolateOn! is set to \lstinline!OptionletVolatilities! here, the interpolation is used to interpolate the optionlet volatilities in the strike direction. The allowable values are \lstinline!Linear!, \lstinline!LinearFlat!, \lstinline!Cubic! and \lstinline!CubicFlat!. If not set, \lstinline!LinearFlat! is assumed.
359+
Indicates the interpolation and extrapolation, if allowed by the \lstinline!Extrapolation! node, in the strike direction. Again, as \lstinline!InterpolateOn! is set to \lstinline!OptionletVolatilities! here, the interpolation is used to interpolate the optionlet volatilities in the strike direction. The allowable values are \lstinline!Linear!, \lstinline!LinearFlat!, \lstinline!Cubic! and \lstinline!CubicFlat! or one of the SABR variants Hagan2002Lognormal, Hagan2002Normal, Hagan2002NormalZeroBeta, Antonov2015FreeBoundaryNormal, KienitzLawsonSwaynePde, FlochKennedy. The SABR variants are only supported for InterpolateOn = OptionVolatilities (or if InputType = OptionletVolatilities). If not set, \lstinline!LinearFlat! is assumed.
360+
361+
\item ParametricSmileConfiguration: Optional. Applies to SABR only. If not given, default values are used. Allows to specify initial values
362+
for calibrated parameters, to exclude single parameters from calibration and to set calibration parameters. See
363+
listing \ref{lst:capfloorvol_parametric_smile_config}.
354364

355365
\item \lstinline!QuoteIncludesIndexName! [Optional]:
356366
If true, the quote labels that are looked up in the market data to build the surface include the index name as e.g. in \lstinline!CAPFLOOR/RATE_NVOL/USD/USD-LIBOR-3M/1Y/3M/0/0/0.01!. If false, the index name is not include as in \lstinline!CAPFLOOR/RATE_NVOL/USD/1Y/3M/0/0/0.01!. If the flag is not given, it defaults to false. Including the index name in the market quotes allows to build cap surfaces on different underlying indices with the same tenor. The flag also affects shift quotes as e.g. \lstinline!CAPFLOOR/SHIFT/USD/USD-LIBOR-3M/5Y! (index included in quote) vs. \lstinline!CAPFLOOR/SHIFT/USD/5Y! (index not included in quote).
@@ -557,3 +567,39 @@ \subsubsection{Cap Floor Volatility Structures}
557567
\caption{Cap floor surface with optionlet volatilities input.}
558568
\label{lst:capfloorvol_optionlet_surface_configuration}
559569
\end{longlisting}
570+
571+
\begin{longlisting}
572+
\begin{minted}[fontsize=\footnotesize]{xml}
573+
<ParametricSmileConfiguration>
574+
<Parameters>
575+
<Parameter>
576+
<Name>alpha</Name>
577+
<InitialValue>0.0050</InitialValue>
578+
<IsFixed>false</IsFixed>
579+
</Parameter>
580+
<Parameter>
581+
<Name>beta</Name>
582+
<InitialValue>0.0</InitialValue>
583+
<IsFixed>true</IsFixed>
584+
</Parameter>
585+
<Parameter>
586+
<Name>nu</Name>
587+
<InitialValue>0.30</InitialValue>
588+
<IsFixed>false</IsFixed>
589+
</Parameter>
590+
<Parameter>
591+
<Name>rho</Name>
592+
<InitialValue>0.0</InitialValue>
593+
<IsFixed>false</IsFixed>
594+
</Parameter>
595+
</Parameters>
596+
<Calibration>
597+
<MaxCalibrationAttempts>10</MaxCalibrationAttempts>
598+
<ExitEarlyErrorThreshold>0.005</ExitEarlyErrorThreshold>
599+
<MaxAcceptableError>0.05</MaxAcceptableError>
600+
</Calibration>
601+
</ParametricSmileConfiguration>
602+
\end{minted}
603+
\caption{Cap floor surface with optionlet volatilities input.}
604+
\label{lst:capfloorvol_parametric_smile_config}
605+
\end{longlisting}

Docs/UserGuide/parameterisation/curveconfig.tex

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,38 @@ \subsubsection{Swaption Volatility Structures}
4242
<CurveDescription>EUR normal swaption volatilities</CurveDescription>
4343
<Dimension>ATM</Dimension>
4444
<VolatilityType>Normal</VolatilityType>
45+
<Interpolation>Hagan2002NormalZeroBeta</Interpolation>
46+
<ParametricSmileConfiguration>
47+
<Parameters>
48+
<Parameter>
49+
<Name>alpha</Name>
50+
<InitialValue>0.0050</InitialValue>
51+
<IsFixed>false</IsFixed>
52+
</Parameter>
53+
<Parameter>
54+
<Name>beta</Name>
55+
<InitialValue>0.0</InitialValue>
56+
<IsFixed>true</IsFixed>
57+
</Parameter>
58+
<Parameter>
59+
<Name>nu</Name>
60+
<InitialValue>0.30</InitialValue>
61+
<IsFixed>false</IsFixed>
62+
</Parameter>
63+
<Parameter>
64+
<Name>rho</Name>
65+
<InitialValue>0.0</InitialValue>
66+
<IsFixed>false</IsFixed>
67+
</Parameter>
68+
</Parameters>
69+
<Calibration>
70+
<MaxCalibrationAttempts>10</MaxCalibrationAttempts>
71+
<ExitEarlyErrorThreshold>0.005</ExitEarlyErrorThreshold>
72+
<MaxAcceptableError>0.05</MaxAcceptableError>
73+
</Calibration>
74+
</ParametricSmileConfiguration>
4575
<Extrapolation>Flat</Extrapolation>
76+
<OutputVolatilityType>Normal</OutputVolatilityType>
4677
<DayCounter>Actual/365 (Fixed)</DayCounter>
4778
<Calendar>TARGET</Calendar>
4879
<BusinessDayConvention>Following</BusinessDayConvention>
@@ -74,7 +105,16 @@ \subsubsection{Swaption Volatility Structures}
74105
\item VolatilityType: Specifies the type of market volatility inputs. \\
75106
Allowable values: {\tt Normal, Lognormal, ShiftedLognormal} \\
76107
In the case of {\tt ShiftedLognormal}, a matrix of shifts (by option and swap tenor) has to be provided in the market data input.
77-
\item Extrapolation: Specifies the extrapolation behaviour in all dimensions. \\ Allowable values: {\tt Linear, Flat, None}
108+
\item Interpolation: Optional. Possible values: Linear, Hagan2002Lognormal, Hagan2002Normal, Hagan2002NormalZeroBeta,
109+
Antonov2015FreeBoundaryNormal, KienitzLawsonSwaynePde, FlochKennedy. If not given, defaults to Linear.
110+
\item ParametricSmileConfiguration: Optional. Applies to SABR only. If not given, default values are used. Allows to
111+
specify initial values for calibrated parameters, to exclude single parameters from calibration and to set calibration
112+
parameters.
113+
\item Extrapolation: Specifies the extrapolation behaviour in all dimensions. \\ Allowable values: {\tt Linear, Flat,
114+
None}
115+
\item OutputVolatilityType: Optional, defaults to input volatility type and applies to SABR variants only. For
116+
Interpolation = Linear it must be set to the input VolatilityType or (better) omitted. Possible values: Normal,
117+
Lognormal (alias for ShiftedLognormal, shift is always implied from input data), ShiftedLognormal.
78118
\item DayCounter: The term structure's day counter used in date to time conversions
79119
\item Calendar: The term structure's calendar used in option tenor to date conversions
80120
\item BusinessDayConvention: The term structure's business day convention used in option tenor to date conversion

0 commit comments

Comments
 (0)