Skip to content

Commit f82d530

Browse files
committed
QPR-13703 update docs
1 parent 5081f2d commit f82d530

2 files changed

Lines changed: 36 additions & 19 deletions

File tree

Docs/UserGuide/curve_configurations/yieldcurves.tex

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,10 @@ \subsubsection*{Simple Segment}
194194
floating rates on the instruments underlying the quotes listed in the \lstinline!Quote! nodes during the bootstrap
195195
procedure. This is an optional node. If it is left blank or omitted, then the projection curve is assumed to equal the
196196
curve being bootstrapped i.e.\ the current CurveId. The \lstinline!PillarChoice! node determines the bootstrap pillars
197-
that are used (MaturityDate, LastRelevantDate, if not given 'LastRelevantDate' is the default value).
197+
that are used (MaturityDate, LastRelevantDate, NoPillar, StartDate, StartDateAndMaturityDate,
198+
StartDateAndLastRelevantDate; if not given 'LastRelevantDate' is the default
199+
value). The \lstinline!DuplicatePillarPolcicy! node determined how curve instruments within the same segment with
200+
identical pillar dates are handled (Keep Last, KeepFirst, KeepAll, ThrowError; if not given 'KeepLast' is used).
198201
199202
The \lstinline!Priority! node determines the priority of the segment, this has to be a non-negative integer. A lower
200203
number means a higher priority (more ``important'') segment. If two adjacent segments overlap w.r.t. the pillar dates of
@@ -223,6 +226,7 @@ \subsubsection*{Simple Segment}
223226
</Quotes>
224227
<Conventions> </Conventions>
225228
<PillarChoice> </PillarChoice>
229+
<DuplicatePillarPolicy> </DuplicatePillarPolicy>
226230
<Priority> </Priority>
227231
<MinDistance> </MinDistance>
228232
<ProjectionCurve> </ProjectionCurve>
@@ -261,11 +265,10 @@ \subsubsection*{Average OIS Segment}
261265
quote for an Average OIS instrument (a typical example in a USD Overnight Index Swap) consists of two quotes, a vanilla
262266
IRS quote and an OIS-LIBOR basis swap spread quote. The IDs of these two quotes are stored in the
263267
\lstinline!CompositeQuote! node. The \lstinline!RateQuote! node holds the ID of the vanilla IRS quote and the
264-
\lstinline!SpreadQuote! node holds the ID of the OIS-LIBOR basis swap spread quote. The \lstinline!PillarChoice! node
265-
determines the bootstrap pillars that are used (MaturityDate, LastRelevantDate, if not given `LastRelevantDate' is the
266-
default value).
268+
\lstinline!SpreadQuote! node holds the ID of the OIS-LIBOR basis swap spread quote.
267269
268-
For the \lstinline!Priority! and \lstinline!MinDistance! nodes see the explanation under ``Simple Segment''.
270+
For the \lstinline!PillarChoice!, \lstinline!DuplicatePillarPolicy!, \lstinline!Priority! and \lstinline!MinDistance!
271+
nodes see the explanation under ``Simple Segment''.
269272
270273
\begin{listing}[H]
271274
%\hrule\medskip
@@ -279,6 +282,7 @@ \subsubsection*{Average OIS Segment}
279282
</Quotes>
280283
<Conventions> </Conventions>
281284
<PillarChoice> </PillarChoice>
285+
<DuplicatePillarPolicy> </DuplicatePillarPolicy>
282286
<Priority> </Priority>
283287
<MinDistance> </MinDistance>
284288
<ProjectionCurve> </ProjectionCurve>
@@ -313,13 +317,13 @@ \subsubsection*{Tenor Basis Segment}
313317
node has the value \emph{Tenor Basis Two Swaps}. Again, the structure is similar to the simple segment in Listing
314318
\ref{lst:simple_segment} except that there are two projection curve nodes. There is a \lstinline!ProjectionCurveReceive!
315319
node for the index with the shorter tenor. This node holds the CurveId of a curve for projecting the floating rates on
316-
the receiving side. Similarly, there is a \lstinline!ProjectionCurvePay! node for the index of the pay side. The deprecated
317-
values are short for receive, and long for pay. These are optional nodes. If they are left blank or omitted, then the projection
318-
curve is assumed to equal the curve being bootstrapped i.e.\ the current CurveId. However, at least one of the nodes
319-
needs to be populated to allow the bootstrap to proceed. The \lstinline!PillarChoice! node determines the bootstrap pillars
320-
that are used (MaturityDate, LastRelevantDate, if not given `LastRelevantDate' is the default value).
320+
the receiving side. Similarly, there is a \lstinline!ProjectionCurvePay! node for the index of the pay side. The
321+
deprecated values are short for receive, and long for pay. These are optional nodes. If they are left blank or omitted,
322+
then the projection curve is assumed to equal the curve being bootstrapped i.e.\ the current CurveId. However, at least
323+
one of the nodes needs to be populated to allow the bootstrap to proceed.
321324
322-
For the \lstinline!Priority! and \lstinline!MinDistance! nodes see the explanation under ``Simple Segment''.
325+
For the \lstinline!PillarChoice!, \lstinline!DuplicatePillarPolicy!, \lstinline!Priority! and \lstinline!MinDistance!
326+
nodes see the explanation under ``Simple Segment''.
323327
324328
\begin{listing}[H]
325329
%\hrule\medskip
@@ -333,6 +337,7 @@ \subsubsection*{Tenor Basis Segment}
333337
</Quotes>
334338
<Conventions> </Conventions>
335339
<PillarChoice> </PillarChoice>
340+
<DuplicatePillarPolicy> </DuplicatePillarPolicy>
336341
<Priority> </Priority>
337342
<MinDistance> </MinDistance>
338343
<ProjectionCurvePay> </ProjectionCurvePay>
@@ -350,8 +355,7 @@ \subsubsection*{Cross Currency Segment}
350355
for FX forward instruments. The \lstinline!DiscountCurve! node holds the CurveId of a curve used to discount cash flows
351356
in the other currency i.e.\ the currency in the currency pair that is not equal to the currency in Listing
352357
\ref{lst:top_level_yc}. The \lstinline!SpotRate! node holds the ID of a spot FX quote for the currency pair that is
353-
looked up in the {\tt market.txt} file. The \lstinline!PillarChoice! node determines the bootstrap pillars that are used
354-
(MaturityDate, LastRelevantDate, if not given `LastRelevantDate' is the default value).
358+
looked up in the {\tt market.txt} file.
355359
356360
\begin{listing}[H]
357361
%\hrule\medskip
@@ -365,6 +369,7 @@ \subsubsection*{Cross Currency Segment}
365369
</Quotes>
366370
<Conventions> </Conventions>
367371
<PillarChoice> </PillarChoice>
372+
<DuplicatePillarPolicy> </DuplicatePillarPolicy>
368373
<Priority> </Priority>
369374
<MinDistance> </MinDistance>
370375
<DiscountCurve> </DiscountCurve>
@@ -388,7 +393,8 @@ \subsubsection*{Cross Currency Segment}
388393
the other currency. If it is left blank or omitted, then it is assumed to equal the CurveId provided in the
389394
\lstinline!DiscountCurve! node in this segment.
390395
391-
For the \lstinline!Priority! and \lstinline!MinDistance! nodes see the explanation under ``Simple Segment''.
396+
For the \lstinline!PillarChoice!, \lstinline!DuplicatePillarPolicy!, \lstinline!Priority! and \lstinline!MinDistance!
397+
nodes see the explanation under ``Simple Segment''.
392398
393399
\begin{listing}[H]
394400
%\hrule\medskip
@@ -402,6 +408,7 @@ \subsubsection*{Cross Currency Segment}
402408
</Quotes>
403409
<Conventions> </Conventions>
404410
<PillarChoice> </PillarChoice>
411+
<DuplicatePillarPolicy> </DuplicatePillarPolicy>
405412
<Priority> </Priority>
406413
<MinDistance> </MinDistance>
407414
<DiscountCurve> </DiscountCurve>

Docs/UserGuide/parameterisation/curveconfig.tex

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1263,11 +1263,21 @@ \subsubsection{Bootstrap Configuration}
12631263
\item \lstinline!DontThrowSteps! [Optional]:
12641264
This node is used only if \lstinline!DontThrow! is \lstinline!true!. The meaning of this node is given in the description of the \lstinline!DontThrow! node. This node should hold a positive integer. If omitted, the default value is 10.
12651265
1266-
\item \lstinline!Global! [Optional]: This nodes specifies whether the curve should use a global bootstrap over all
1267-
instruments of the curve (true) or iterative bootstrap (false, default value). If global bootstrap is used, only the
1268-
Accuracy field of the BootstrapConfig is relevant and specifies the accuracy of the global optimizer. If a cycle is
1269-
present in the dependency graph of the curves, all members of the cycle must use global bootstrap, in this case a
1270-
global optimization is run over all instrument of all members of the cycle simultaneously.
1266+
\item \lstinline!Global! [Optional]: Defaults to false. This nodes specifies whether the curve should use a global
1267+
bootstrap over all instruments of the curve (true) or iterative bootstrap (false, default value). If global bootstrap
1268+
is used, only the fields Accuracy and SmoothnessLambda of the BootstrapConfig are relevant. Accurcy specifies the
1269+
accuracy of the global optimizer in this case. Global bootstrap is required to build curves that form a cycle in the
1270+
dependency graph, in this case all members of the cycle must have Global set to true in their bootstrap configs. In
1271+
this case a global optimization is run over all instrument of all members of the cycle simultaneously. Global
1272+
bootstrap is also required if according to the PillarChoice configuration of each segment there are curve instrument
1273+
without or with more than one associated curve pillar date. Finally, global bootstrap can be preferable over iterative
1274+
bootstrap if the latter requires an outer convergence loop, i.e. if a pillar choice is not set to LastRelevatDate or
1275+
if the interpolation is non-local.
1276+
1277+
\item \lstinline!SmoothnessLambda! [Optional]: Defaults to zero. Only applies if GLobal is set to true. If positive,
1278+
penalty components are included in the global optimization used to build a curve. For each adjacent pair of discrete
1279+
forward rates $F_i$, $F_{i+1}$ between curve interpolation pillars, the term $\lambda\cdot(F_{i+1} - F_i)$ is added to
1280+
the target function vector of which the MSE is optimized.
12711281
12721282
\end{itemize}
12731283

0 commit comments

Comments
 (0)