Skip to content

Commit 6cf95e7

Browse files
author
jenkins
committed
git subrepo pull (merge) ore
subrepo: subdir: "ore" merged: "507d02588e" upstream: origin: "git@gitlab.acadiasoft.net:qs/ore.git" branch: "master" commit: "2fe17e820e" git-subrepo: version: "0.4.6" origin: "https://github.com/ingydotnet/git-subrepo" commit: "110b9eb"
2 parents 55d22c7 + 2fe17e8 commit 6cf95e7

32 files changed

Lines changed: 2187 additions & 861 deletions

Docs/UserGuide/tradedata/swaption.tex

Lines changed: 73 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,79 @@ \subsubsection{Swaption}
142142
\item \lstinline!ExerciseFeeSettlementConvention![Optional]: The roll convention used to compute the exercise fee settlement date from
143143
the exercise date. Defaults to \emph{Unadjusted} if not given. Allowable values: See Table \ref{tab:convention} Roll Convention.
144144

145-
\item An \lstinline!ExerciseDates! node where exactly one \lstinline!ExerciseDate! date element must be given for \emph{European} style swaptions, and for \emph{Bermudan} style swaptions at least two \lstinline!ExerciseDate! date elements must be given. \\
145+
\item An \lstinline!ExerciseDates! node where for \emph{European} style swaptions exactly one \lstinline!ExerciseDate! date element must be given. \emph{Bermudan} style swaptions can have \lstinline!ExerciseDate! elements given directly (at least two \lstinline!ExerciseDate! elements must be given), or Rules or Dates based exercise dates. See Listings \ref{lst:bermudan_swaption_exercisedates}, \ref{lst:bermudan_swaption_rules} and \ref{lst:bermudan_swaption_dates}.
146+
147+
148+
\begin{listing}[H]
149+
\begin{minted}[fontsize=\footnotesize]{xml}
150+
<SwaptionData>
151+
<OptionData>
152+
<LongShort>Long</LongShort>
153+
<Style>Bermudan</Style>
154+
<Settlement>Physical</Settlement>
155+
<ExerciseDates>
156+
<ExerciseDate>2027-03-02</ExerciseDate>
157+
<ExerciseDate>2028-03-02</ExerciseDate>
158+
<ExerciseDate>2029-03-02</ExerciseDate>
159+
</ExerciseDates>
160+
...
161+
</OptionData>
162+
...
163+
\end{minted}
164+
\caption{Bermudan Swaption ExerciseDate:s}
165+
\label{lst:bermudan_swaption_exercisedates}
166+
\end{listing}
167+
168+
\begin{listing}[H]
169+
\begin{minted}[fontsize=\footnotesize]{xml}
170+
<SwaptionData>
171+
<OptionData>
172+
<LongShort>Long</LongShort>
173+
<Style>Bermudan</Style>
174+
<Settlement>Physical</Settlement>
175+
<ExerciseDates>
176+
<Rules>
177+
<StartDate>2027-03-02</StartDate>
178+
<EndDate>2029-03-02</EndDate>
179+
<Tenor>1Y</Tenor>
180+
<Calendar>US</Calendar>
181+
<Convention>MF</Convention>
182+
<Rules>
183+
</ExerciseDates>
184+
...
185+
</OptionData>
186+
...
187+
\end{minted}
188+
\caption{Bermudan Swaption Rules based}
189+
\label{lst:bermudan_swaption_rules}
190+
\end{listing}
191+
192+
\begin{listing}[H]
193+
\begin{minted}[fontsize=\footnotesize]{xml}
194+
<SwaptionData>
195+
<OptionData>
196+
<LongShort>Long</LongShort>
197+
<Style>Bermudan</Style>
198+
<Settlement>Physical</Settlement>
199+
<ExerciseDates>
200+
<Dates>
201+
<Calendar>NullCalendar</Calendar>
202+
<Convention>Unadjusted</Convention>
203+
<Dates>
204+
<Date>2027-03-02</Date>
205+
<Date>2028-03-02</Date>
206+
<Date>2029-03-02</Date>
207+
<Dates>
208+
<Dates>
209+
</ExerciseDates>
210+
...
211+
</OptionData>
212+
...
213+
\end{minted}
214+
\caption{Bermudan Swaption Dates based}
215+
\label{lst:bermudan_swaption_dates}
216+
\end{listing}
217+
146218

147219
\item \lstinline!Premiums! [Optional]: Option premium node with amounts paid by the option buyer to the option seller.
148220

Docs/UserGuide/userguide.tex

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6000,6 +6000,7 @@ \subsection{Sensitivity Analysis: {\tt sensitivity.xml}}\label{sec:sensitivity}
60006000
\item {\tt ShiftType:} Both absolute or relative shifts can be used to compute a sensitivity, specified by the key words
60016001
{\tt Absolute} resp. {\tt Relative}.
60026002
\item {\tt ShiftSize:} The size of the shift to apply.
6003+
\item {\tt ShiftScheme:} The finite difference scheme to use ({\tt Forward}, {\tt Backward}, {\tt Central}), if not given, this parameter defaults to {\tt Forward}
60036004
\item {\tt ShiftTenors:} For curves, the tenor buckets to apply shifts to, given as a comma separated list of periods.
60046005
\item {\tt ShiftExpiries:} For volatility surfaces, the option expiry buckets to apply shifts to, given as a comma
60056006
separated list of periods.
@@ -6012,6 +6013,53 @@ \subsection{Sensitivity Analysis: {\tt sensitivity.xml}}\label{sec:sensitivity}
60126013
\item {\tt CurveType:} In the context of Yield Curves used to identify an equity ``risk free'' rate forecasting curve; set to {\tt EquityForecast} in this case
60136014
\end{itemize}
60146015

6016+
The ShiftType, ShiftSize, ShiftScheme nodes take an optional attribute key that allows to configure different values for
6017+
different sensitivity templates. The sensitivity templates are defined in the pricing engine configuration. This is best
6018+
explained by an example: In Example 15 the product type BermudanSwaption has a sensitivity template \verb+IR_FD+
6019+
attached, see \ref{lst:sensi_template}. This can be used to specify different shifts for trades that were built against
6020+
this engine configuration, see \ref{lst:sensi_config_template}: For Bermudan swaptions a larger shift size of 10bp and a
6021+
central difference scheme is used to compute discount curve sensitivities in EUR. Since no separate shift type is
6022+
specified, the default shift type {\tt Absolute} is used. Note regarding the reports:
6023+
6024+
\begin{itemize}
6025+
\item the sensi scenario report contains scenario NPVs related to the possibly product specific configured shift sizes
6026+
\item the sensi report contains renormalized sensitivities, i.e. sensitivities are always expressed w.r.t. the default shift sizes
6027+
\item the sensi config report only contains the default configuration
6028+
\end{itemize}
6029+
6030+
\begin{longlisting}
6031+
\begin{minted}[fontsize=\scriptsize]{xml}
6032+
<Product type="BermudanSwaption">
6033+
<Model>LGM</Model>
6034+
<ModelParameters>
6035+
...
6036+
</ModelParameters>
6037+
<Engine>Grid</Engine>
6038+
<EngineParameters>
6039+
...
6040+
<Parameter name="SensitivityTemplate">IR_FD</Parameter>
6041+
</EngineParameters>
6042+
</Product>
6043+
\end{minted}
6044+
\caption{Sensitivity template definition}
6045+
\label{lst:sensi_template}
6046+
\end{longlisting}
6047+
6048+
\begin{longlisting}
6049+
\begin{minted}[fontsize=\scriptsize]{xml}
6050+
<DiscountCurve ccy="EUR">
6051+
<ShiftType>Absolute</ShiftType>
6052+
<ShiftSize>0.0001</ShiftSize>
6053+
<ShiftScheme>Forward</ShiftScheme>
6054+
<ShiftSize key="IR_FD">0.001</ShiftSize>
6055+
<ShiftScheme key="IR_FD">Central</ShiftScheme>
6056+
<ShiftTenors>6M,1Y,2Y,3Y,5Y,7Y,10Y,15Y,20Y</ShiftTenors>
6057+
</DiscountCurve>
6058+
\end{minted}
6059+
\caption{Sensitivity template definition}
6060+
\label{lst:lst:sensi_config_template}
6061+
\end{longlisting}
6062+
60156063
The cross gamma filter section contains a list of pairs of sensitivity keys. For each possible pair of sensitivity keys
60166064
matching the given strings, a cross gamma sensitivity is computed. The given pair of keys can be (and usually are)
60176065
shorter than the actual sensitivity keys. In this case only the prefix of the actual key is matched. For example, the

0 commit comments

Comments
 (0)