Skip to content

Commit 30221b4

Browse files
rolandlichtersjenkins
authored andcommitted
Resolve QPR-9557 QPR-12159 (rate curve segment priorities and mixed interpolations)
1 parent 52dfb3a commit 30221b4

12 files changed

Lines changed: 461 additions & 104 deletions

File tree

Docs/UserGuide/curve_configurations/yieldcurves.tex

Lines changed: 65 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ \subsubsection{Yield Curves}
1313
<Segments> </Segments>
1414
<InterpolationVariable> </InterpolationVariable>
1515
<InterpolationMethod> </InterpolationMethod>
16+
<MixedInterpolationCutoff> </MixedInterpolationCutoff>
1617
<YieldCurveDayCounter> </YieldCurveDayCounter>
1718
<Tolerance> </Tolerance>
1819
<Extrapolation> </Extrapolation>
@@ -40,6 +41,8 @@ \subsubsection{Yield Curves}
4041
\emph{Discount}.
4142
\item InterpolationMethod [Optional]: The interpolation method to use. The allowable values are given in Table
4243
\ref{tab:allow_interp_methods}. If the element is omitted or left blank, then it defaults to \emph{LogLinear}.
44+
\item MixedInterpolationCutoff [Optional]: If a mixed interpolation method is used, the number of segments to which the
45+
first interpolation method is applied. Defaults to 1.
4346
\item YieldCurveDayCounter [Optional]: The day count basis used internally by the yield curve to calculate the time between
4447
dates. In particular, if the curve is queried for a zero rate without specifying the day count basis, the zero rate that
4548
is returned has this basis. If the element is omitted or left blank, then it defaults to \emph{A365}.
@@ -88,6 +91,10 @@ \subsubsection{Yield Curves}
8891
LogQuadratic & Quadratic interpolation on the natural log of the interpolation variable \\ \hline
8992
Hermite & Hermite cubic spline interpolation \\ \hline
9093
CubicSpline & Non-monotonic cubic spline interpolation with second derivative at left and right \\ \hline
94+
DefaultLogMixedLinearCubic & Mixed interpolation, first linear, then monotonic Kruger cubic spline \\ \hline
95+
MonotonicLogMixedLinearCubic & Mixed interpolation, first linear, then monotonic natural cubic spline \\ \hline
96+
KrugerLogMixedLinearCubic & Mixed interpolation, first linear, then non-monotonic Kruger cubic spline \\ \hline
97+
LogMixedLinearCubicNaturalSpline & Mixed interpolation, first linear, then non-monotonic natural cubic spline \\ \hline
9198
ExponentialSplines & Exponential Spline curve fitting, for Fitted Bond Curves only \\ \hline
9299
NelsonSiegel & Nelson-Siegel curve fitting, for Fitted Bond Curves only \\ \hline
93100
Svensson & Svensson curve fitting, for Fitted Bond Curves only \\ \hline
@@ -149,7 +156,22 @@ \subsubsection*{Simple Segment}
149156
floating rates on the instruments underlying the quotes listed in the \lstinline!Quote! nodes during the bootstrap
150157
procedure. This is an optional node. If it is left blank or omitted, then the projection curve is assumed to equal the
151158
curve being bootstrapped i.e.\ the current CurveId. The \lstinline!PillarChoice! node determines the bootstrap pillars
152-
that are used (MaturityDate, LastRelevantDate).
159+
that are used (MaturityDate, LastRelevantDate, if not given 'LastRelevantDate' is the default value).
160+
161+
The \lstinline!Priority! node determines the priority of the segment, this has to be a non-negative integer. A lower
162+
number means a higher priority (more ``important'') segment. If two adjacent segments overlap w.r.t. the pillar dates of
163+
their instruments, instruments from the segment with lower priority are removed until the overlap is resolved. In
164+
addition, a minimum distance (measured in calendar days) between the segments is preserved. This distance is given in
165+
the \lstinline!MinDistance! node for the instruments of the current and following segment. If not given, the priority of
166+
a segment defaults to 0 (highest possible priority), the minimum distance defaults to $1$. Consider the example given in
167+
\ref{lst:priorities_min_distances}. In this case:
168+
\begin{itemize}
169+
\item instruments from the start of the second segment with pillar date strictly earlier than $d_1 + 5$, where $d_1$ is
170+
the maximum pillar date of instruments in the first segment, will be removed
171+
\item instruments from the end of the second segment with pillar date strictly later than $d_3 - 10$, where $d_3$ is the
172+
mininum pillar date of instruments in the third segment, will be removed
173+
\end{itemize}
174+
153175
154176
\begin{listing}[H]
155177
%\hrule\medskip
@@ -163,13 +185,37 @@ \subsubsection*{Simple Segment}
163185
</Quotes>
164186
<Conventions> </Conventions>
165187
<PillarChoice> </PillarChoice>
188+
<Priority> </Priority>
189+
<MinDistance> </MinDistance>
166190
<ProjectionCurve> </ProjectionCurve>
167191
</Simple>
168192
\end{minted}
169193
\caption{Simple yield curve segment}
170194
\label{lst:simple_segment}
171195
\end{listing}
172196
197+
\begin{listing}[H]
198+
%\hrule\medskip
199+
\begin{minted}[fontsize=\footnotesize]{xml}
200+
<Simple>
201+
...
202+
<Priority>0</Priority>
203+
<MinDistance>5</MinDistance>
204+
</Simple>
205+
<Simple>
206+
...
207+
<Priority>2</Priority>
208+
<MinDistance>10</MinDistance>
209+
</Simple>
210+
<Simple>
211+
...
212+
<Priority>1</Priority>
213+
</Simple>
214+
\end{minted}
215+
\caption{Example for priorities and min distances}
216+
\label{lst:priorities_min_distances}
217+
\end{listing}
218+
173219
\subsubsection*{Average OIS Segment}
174220
When the node name is \lstinline!AverageOIS!, the \lstinline!Type! node has the value \emph{Average OIS} and the node
175221
has the structure shown in Listing \ref{lst:average_ois_segment}. This segment is used to hold quotes for Average OIS
@@ -178,7 +224,10 @@ \subsubsection*{Average OIS Segment}
178224
IRS quote and an OIS-LIBOR basis swap spread quote. The IDs of these two quotes are stored in the
179225
\lstinline!CompositeQuote! node. The \lstinline!RateQuote! node holds the ID of the vanilla IRS quote and the
180226
\lstinline!SpreadQuote! node holds the ID of the OIS-LIBOR basis swap spread quote. The \lstinline!PillarChoice! node
181-
determines the bootstrap pillars that are used (MaturityDate, LastRelevantDate).
227+
determines the bootstrap pillars that are used (MaturityDate, LastRelevantDate, if not given 'LastRelevantDate' is the
228+
default value).
229+
230+
For the \lstinline!Priority! and \lstinline!MinDistance! nodes see the explanation under ``Simple Segment''.
182231
183232
\begin{listing}[H]
184233
%\hrule\medskip
@@ -192,6 +241,8 @@ \subsubsection*{Average OIS Segment}
192241
</Quotes>
193242
<Conventions> </Conventions>
194243
<PillarChoice> </PillarChoice>
244+
<Priority> </Priority>
245+
<MinDistance> </MinDistance>
195246
<ProjectionCurve> </ProjectionCurve>
196247
</AverageOIS>
197248
\end{minted}
@@ -229,7 +280,9 @@ \subsubsection*{Tenor Basis Segment}
229280
optional nodes. If they are left blank or omitted, then the projection curve is assumed to equal the curve being
230281
bootstrapped i.e.\ the current CurveId. However, at least one of the nodes needs to be populated to allow the bootstrap
231282
to proceed. The \lstinline!PillarChoice! node determines the bootstrap pillars that are used (MaturityDate,
232-
LastRelevantDate).
283+
LastRelevantDate, if not given 'LastRelevantDate' is the default value).
284+
285+
For the \lstinline!Priority! and \lstinline!MinDistance! nodes see the explanation under ``Simple Segment''.
233286
234287
\begin{listing}[H]
235288
%\hrule\medskip
@@ -243,6 +296,8 @@ \subsubsection*{Tenor Basis Segment}
243296
</Quotes>
244297
<Conventions> </Conventions>
245298
<PillarChoice> </PillarChoice>
299+
<Priority> </Priority>
300+
<MinDistance> </MinDistance>
246301
<ProjectionCurveLong> </ProjectionCurveLong>
247302
<ProjectionCurveShort> </ProjectionCurveShort>
248303
</TenorBasis>
@@ -259,7 +314,7 @@ \subsubsection*{Cross Currency Segment}
259314
in the other currency i.e.\ the currency in the currency pair that is not equal to the currency in Listing
260315
\ref{lst:top_level_yc}. The \lstinline!SpotRate! node holds the ID of a spot FX quote for the currency pair that is
261316
looked up in the {\tt market.txt} file. The \lstinline!PillarChoice! node determines the bootstrap pillars that are used
262-
(MaturityDate, LastRelevantDate).
317+
(MaturityDate, LastRelevantDate, if not given 'LastRelevantDate' is the default value).
263318
264319
\begin{listing}[H]
265320
%\hrule\medskip
@@ -273,6 +328,8 @@ \subsubsection*{Cross Currency Segment}
273328
</Quotes>
274329
<Conventions> </Conventions>
275330
<PillarChoice> </PillarChoice>
331+
<Priority> </Priority>
332+
<MinDistance> </MinDistance>
276333
<DiscountCurve> </DiscountCurve>
277334
<SpotRate> </SpotRate>
278335
</CrossCurrency>
@@ -294,6 +351,8 @@ \subsubsection*{Cross Currency Segment}
294351
the other currency. If it is left blank or omitted, then it is assumed to equal the CurveId provided in the
295352
\lstinline!DiscountCurve! node in this segment.
296353
354+
For the \lstinline!Priority! and \lstinline!MinDistance! nodes see the explanation under ``Simple Segment''.
355+
297356
\begin{listing}[H]
298357
%\hrule\medskip
299358
\begin{minted}[fontsize=\footnotesize]{xml}
@@ -306,6 +365,8 @@ \subsubsection*{Cross Currency Segment}
306365
</Quotes>
307366
<Conventions> </Conventions>
308367
<PillarChoice> </PillarChoice>
368+
<Priority> </Priority>
369+
<MinDistance> </MinDistance>
309370
<DiscountCurve> </DiscountCurve>
310371
<SpotRate> </SpotRate>
311372
<ProjectionCurveDomestic> </ProjectionCurveDomestic>

Examples/Example_53/ExpectedOutput/flows.csv

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,23 @@ OIS,Swap,7,0,2030-09-23,Interest,422.7356,GBP,0.0420400000,1.0055555556,2029-09-
99
OIS,Swap,8,0,2031-09-22,Interest,419.2322,GBP,0.0420400000,0.9972222222,2030-09-23,2031-09-22,0.0000,#N/A,#N/A,10000.0000,0.7187180414,301.3097616290,1.0000000000,301.3097616290,GBP,#N/A,#N/A,#N/A,#N/A
1010
OIS,Swap,9,0,2032-09-21,Interest,419.2322,GBP,0.0420400000,0.9972222222,2031-09-22,2032-09-21,0.0000,#N/A,#N/A,10000.0000,0.6918076316,290.0280507545,1.0000000000,290.0280507545,GBP,#N/A,#N/A,#N/A,#N/A
1111
OIS,Swap,10,0,2033-09-21,Interest,420.4000,GBP,0.0420400000,1.0000000000,2032-09-21,2033-09-21,0.0000,#N/A,#N/A,10000.0000,0.6652977580,279.6911774804,1.0000000000,279.6911774804,GBP,#N/A,#N/A,#N/A,#N/A
12-
OIS,Swap,1,1,2024-03-21,Interest,-234.2876,GBP,0.0469862511,0.4986301370,2023-09-21,2024-03-21,0.0000,2023-09-18,0.0469862511,10000.0000,0.9745444464,-228.3236876907,1.0000000000,-228.3236876907,GBP,#N/A,#N/A,#N/A,#N/A
13-
OIS,Swap,2,1,2024-09-23,InterestProjected,-266.9675,GBP,0.0523887926,0.5095890411,2024-03-21,2024-09-23,0.0000,2024-03-18,0.0523887926,10000.0000,0.9479684283,-253.0768046469,1.0000000000,-253.0768046469,GBP,#N/A,#N/A,#N/A,#N/A
14-
OIS,Swap,3,1,2025-03-21,InterestProjected,-269.7964,GBP,0.0550143464,0.4904109589,2024-09-23,2025-03-21,0.0000,2024-09-18,0.0550143464,10000.0000,0.9239315830,-249.2733998467,1.0000000000,-249.2733998467,GBP,#N/A,#N/A,#N/A,#N/A
15-
OIS,Swap,4,1,2025-09-22,InterestProjected,-268.8787,GBP,0.0530490351,0.5068493151,2025-03-21,2025-09-22,0.0000,2025-03-18,0.0530490351,10000.0000,0.9045448686,-243.2128220945,1.0000000000,-243.2128220945,GBP,#N/A,#N/A,#N/A,#N/A
16-
OIS,Swap,5,1,2026-03-23,InterestProjected,-210.8501,GBP,0.0422858665,0.4986301370,2025-09-22,2026-03-23,0.0000,2025-09-17,0.0422858665,10000.0000,0.8859813079,-186.8092245659,1.0000000000,-186.8092245659,GBP,#N/A,#N/A,#N/A,#N/A
17-
OIS,Swap,6,1,2026-09-21,InterestProjected,-209.5254,GBP,0.0420202083,0.4986301370,2026-03-23,2026-09-21,0.0000,2026-03-18,0.0420202083,10000.0000,0.8677609174,-181.8179725162,1.0000000000,-181.8179725162,GBP,#N/A,#N/A,#N/A,#N/A
18-
OIS,Swap,7,1,2027-03-22,InterestProjected,-209.9702,GBP,0.0421094016,0.4986301370,2026-09-21,2027-03-22,0.0000,2026-09-16,0.0421094016,10000.0000,0.8506747462,-178.6163186139,1.0000000000,-178.6163186139,GBP,#N/A,#N/A,#N/A,#N/A
19-
OIS,Swap,8,1,2027-09-21,InterestProjected,-201.9579,GBP,0.0402812268,0.5013698630,2027-03-22,2027-09-21,0.0000,2027-03-17,0.0402812268,10000.0000,0.8344275439,-168.5192609983,1.0000000000,-168.5192609983,GBP,#N/A,#N/A,#N/A,#N/A
20-
OIS,Swap,9,1,2028-03-21,InterestProjected,-193.6468,GBP,0.0388357531,0.4986301370,2027-09-21,2028-03-21,0.0000,2027-09-16,0.0388357531,10000.0000,0.8188101657,-158.5599429871,1.0000000000,-158.5599429871,GBP,#N/A,#N/A,#N/A,#N/A
21-
OIS,Swap,10,1,2028-09-21,InterestProjected,-192.8286,GBP,0.0382513158,0.5041095890,2028-03-21,2028-09-21,0.0000,2028-03-16,0.0382513158,10000.0000,0.8034762819,-154.9331669769,1.0000000000,-154.9331669769,GBP,#N/A,#N/A,#N/A,#N/A
22-
OIS,Swap,11,1,2029-03-21,InterestProjected,-187.7327,GBP,0.0378576933,0.4958904110,2028-09-21,2029-03-21,0.0000,2028-09-18,0.0378576933,10000.0000,0.7888106768,-148.0855352424,1.0000000000,-148.0855352424,GBP,#N/A,#N/A,#N/A,#N/A
23-
OIS,Swap,12,1,2029-09-21,InterestProjected,-189.0020,GBP,0.0374922491,0.5041095890,2029-03-21,2029-09-21,0.0000,2029-03-16,0.0374922491,10000.0000,0.7742551570,-146.3357907635,1.0000000000,-146.3357907635,GBP,#N/A,#N/A,#N/A,#N/A
24-
OIS,Swap,13,1,2030-03-21,InterestProjected,-184.9287,GBP,0.0372922558,0.4958904110,2029-09-21,2030-03-21,0.0000,2029-09-18,0.0372922558,10000.0000,0.7602094907,-140.5845685548,1.0000000000,-140.5845685548,GBP,#N/A,#N/A,#N/A,#N/A
25-
OIS,Swap,14,1,2030-09-23,InterestProjected,-189.8644,GBP,0.0372583268,0.5095890411,2030-03-21,2030-09-23,0.0000,2030-03-18,0.0372583268,10000.0000,0.7460061638,-141.6399756304,1.0000000000,-141.6399756304,GBP,#N/A,#N/A,#N/A,#N/A
26-
OIS,Swap,15,1,2031-03-21,InterestProjected,-183.2263,GBP,0.0373617825,0.4904109589,2030-09-23,2031-03-21,0.0000,2030-09-18,0.0373617825,10000.0000,0.7325162550,-134.2162252859,1.0000000000,-134.2162252859,GBP,#N/A,#N/A,#N/A,#N/A
27-
OIS,Swap,16,1,2031-09-22,InterestProjected,-190.3314,GBP,0.0375518712,0.5068493151,2031-03-21,2031-09-22,0.0000,2031-03-18,0.0375518712,10000.0000,0.7187180414,-136.7946123976,1.0000000000,-136.7946123976,GBP,#N/A,#N/A,#N/A,#N/A
28-
OIS,Swap,17,1,2032-03-22,InterestProjected,-188.8704,GBP,0.0378778617,0.4986301370,2031-09-22,2032-03-22,0.0000,2031-09-17,0.0378778617,10000.0000,0.7052522298,-133.2012943282,1.0000000000,-133.2012943282,GBP,#N/A,#N/A,#N/A,#N/A
29-
OIS,Swap,18,1,2032-09-21,InterestProjected,-191.9852,GBP,0.0382921315,0.5013698630,2032-03-22,2032-09-21,0.0000,2032-03-17,0.0382921315,10000.0000,0.6918076316,-132.8168314699,1.0000000000,-132.8168314699,GBP,#N/A,#N/A,#N/A,#N/A
30-
OIS,Swap,19,1,2033-03-21,InterestProjected,-192.2162,GBP,0.0387618282,0.4958904110,2032-09-21,2033-03-21,0.0000,2032-09-16,0.0387618282,10000.0000,0.6786023844,-130.4383643901,1.0000000000,-130.4383643901,GBP,#N/A,#N/A,#N/A,#N/A
31-
OIS,Swap,20,1,2033-09-21,InterestProjected,-197.8201,GBP,0.0392414860,0.5041095890,2033-03-21,2033-09-21,0.0000,2033-03-16,0.0392414860,10000.0000,0.6652977580,-131.6092647926,1.0000000000,-131.6092647926,GBP,#N/A,#N/A,#N/A,#N/A
12+
OIS,Swap,1,1,2024-03-21,Interest,-234.2876,GBP,0.0469862511,0.4986301370,2023-09-21,2024-03-21,0.0000,2023-09-18,0.0469862511,10000.0000,0.9739748722,-228.1902434955,1.0000000000,-228.1902434955,GBP,#N/A,#N/A,#N/A,#N/A
13+
OIS,Swap,2,1,2024-09-23,InterestProjected,-273.0912,GBP,0.0535904839,0.5095890411,2024-03-21,2024-09-23,0.0000,2024-03-18,0.0535904839,10000.0000,0.9479684283,-258.8818667901,1.0000000000,-258.8818667901,GBP,#N/A,#N/A,#N/A,#N/A
14+
OIS,Swap,3,1,2025-03-21,InterestProjected,-264.0141,GBP,0.0538352850,0.4904109589,2024-09-23,2025-03-21,0.0000,2024-09-18,0.0538352850,10000.0000,0.9258662750,-244.4417859763,1.0000000000,-244.4417859763,GBP,#N/A,#N/A,#N/A,#N/A
15+
OIS,Swap,4,1,2025-09-22,InterestProjected,-246.7204,GBP,0.0486772635,0.5068493151,2025-03-21,2025-09-22,0.0000,2025-03-18,0.0486772635,10000.0000,0.9045448686,-223.1696508453,1.0000000000,-223.1696508453,GBP,#N/A,#N/A,#N/A,#N/A
16+
OIS,Swap,5,1,2026-03-23,InterestProjected,-231.8918,GBP,0.0465057733,0.4986301370,2025-09-22,2026-03-23,0.0000,2025-09-17,0.0465057733,10000.0000,0.8855427010,-205.3500917700,1.0000000000,-205.3500917700,GBP,#N/A,#N/A,#N/A,#N/A
17+
OIS,Swap,6,1,2026-09-21,InterestProjected,-214.5822,GBP,0.0430343366,0.4986301370,2026-03-23,2026-09-21,0.0000,2026-03-18,0.0430343366,10000.0000,0.8677609174,-186.2060219454,1.0000000000,-186.2060219454,GBP,#N/A,#N/A,#N/A,#N/A
18+
OIS,Swap,7,1,2027-03-22,InterestProjected,-204.9157,GBP,0.0410957312,0.4986301370,2026-09-21,2027-03-22,0.0000,2026-09-16,0.0410957312,10000.0000,0.8507697862,-174.3360870958,1.0000000000,-174.3360870958,GBP,#N/A,#N/A,#N/A,#N/A
19+
OIS,Swap,8,1,2027-09-21,InterestProjected,-200.8121,GBP,0.0400526921,0.5013698630,2027-03-22,2027-09-21,0.0000,2027-03-17,0.0400526921,10000.0000,0.8344275439,-167.5631702903,1.0000000000,-167.5631702903,GBP,#N/A,#N/A,#N/A,#N/A
20+
OIS,Swap,9,1,2028-03-21,InterestProjected,-194.7795,GBP,0.0390629275,0.4986301370,2027-09-21,2028-03-21,0.0000,2027-09-16,0.0390629275,10000.0000,0.8187821848,-159.4820083682,1.0000000000,-159.4820083682,GBP,#N/A,#N/A,#N/A,#N/A
21+
OIS,Swap,10,1,2028-09-21,InterestProjected,-193.1806,GBP,0.0383211583,0.5041095890,2028-03-21,2028-09-21,0.0000,2028-03-16,0.0383211583,10000.0000,0.8034762819,-155.2160572415,1.0000000000,-155.2160572415,GBP,#N/A,#N/A,#N/A,#N/A
22+
OIS,Swap,11,1,2029-03-21,InterestProjected,-187.3901,GBP,0.0377886115,0.4958904110,2028-09-21,2029-03-21,0.0000,2028-09-18,0.0377886115,10000.0000,0.7888145582,-147.8160397882,1.0000000000,-147.8160397882,GBP,#N/A,#N/A,#N/A,#N/A
23+
OIS,Swap,12,1,2029-09-21,InterestProjected,-188.9511,GBP,0.0374821421,0.5041095890,2029-03-21,2029-09-21,0.0000,2029-03-16,0.0374821421,10000.0000,0.7742551570,-146.2963422745,1.0000000000,-146.2963422745,GBP,#N/A,#N/A,#N/A,#N/A
24+
OIS,Swap,13,1,2030-03-21,InterestProjected,-184.9780,GBP,0.0373022001,0.4958904110,2029-09-21,2030-03-21,0.0000,2029-09-18,0.0373022001,10000.0000,0.7602067819,-140.6215554232,1.0000000000,-140.6215554232,GBP,#N/A,#N/A,#N/A,#N/A
25+
OIS,Swap,14,1,2030-09-23,InterestProjected,-189.9016,GBP,0.0372656452,0.5095890411,2030-03-21,2030-09-23,0.0000,2030-03-18,0.0372656452,10000.0000,0.7460061638,-141.6677968596,1.0000000000,-141.6677968596,GBP,#N/A,#N/A,#N/A,#N/A
26+
OIS,Swap,15,1,2031-03-21,InterestProjected,-183.1913,GBP,0.0373546569,0.4904109589,2030-09-23,2031-03-21,0.0000,2030-09-18,0.0373546569,10000.0000,0.7325139450,-134.1902047426,1.0000000000,-134.1902047426,GBP,#N/A,#N/A,#N/A,#N/A
27+
OIS,Swap,16,1,2031-09-22,InterestProjected,-190.3646,GBP,0.0375584200,0.5068493151,2031-03-21,2031-09-22,0.0000,2031-03-18,0.0375584200,10000.0000,0.7187180414,-136.8184683861,1.0000000000,-136.8184683861,GBP,#N/A,#N/A,#N/A,#N/A
28+
OIS,Swap,17,1,2032-03-22,InterestProjected,-188.8388,GBP,0.0378715204,0.4986301370,2031-09-22,2032-03-22,0.0000,2031-09-17,0.0378715204,10000.0000,0.7052464150,-133.1778966933,1.0000000000,-133.1778966933,GBP,#N/A,#N/A,#N/A,#N/A
29+
OIS,Swap,18,1,2032-09-21,InterestProjected,-192.0697,GBP,0.0383089827,0.5013698630,2032-03-22,2032-09-21,0.0000,2032-03-17,0.0383089827,10000.0000,0.6918076316,-132.8752801585,1.0000000000,-132.8752801585,GBP,#N/A,#N/A,#N/A,#N/A
30+
OIS,Swap,19,1,2033-03-21,InterestProjected,-192.1331,GBP,0.0387450636,0.4958904110,2032-09-21,2033-03-21,0.0000,2032-09-16,0.0387450636,10000.0000,0.6786065307,-130.3827461026,1.0000000000,-130.3827461026,GBP,#N/A,#N/A,#N/A,#N/A
31+
OIS,Swap,20,1,2033-09-21,InterestProjected,-197.7568,GBP,0.0392289249,0.5041095890,2033-03-21,2033-09-21,0.0000,2033-03-16,0.0392289249,10000.0000,0.6652977580,-131.5671370475,1.0000000000,-131.5671370475,GBP,#N/A,#N/A,#N/A,#N/A
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
#TradeId,TradeType,Maturity,MaturityTime,NPV,NpvCurrency,NPV(Base),BaseCurrency,Notional,NotionalCurrency,Notional(Base),NettingSet,CounterParty
2-
OIS,Swap,2033-09-21,10.000000,-34.653454,GBP,-34.653454,GBP,10000.00,GBP,10000.00,CPTY,CPTY
2+
OIS,Swap,2033-09-21,10.000000,-34.038842,GBP,-34.038842,GBP,10000.00,GBP,10000.00,CPTY,CPTY

Examples/Example_53/Input/curveconfig.xml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,18 @@
1717
<Quote optional="false">IR_SWAP/RATE/GBP/20240321/1D/20240509</Quote>
1818
<Quote optional="false">IR_SWAP/RATE/GBP/20240509/1D/20240620</Quote>
1919
<Quote optional="false">IR_SWAP/RATE/GBP/20240620/1D/20240801</Quote>
20+
</Quotes>
21+
<Conventions>GBP-OIS</Conventions>
22+
<Priority>0</Priority>
23+
<MinDistance>5</MinDistance>
24+
</Simple>
25+
<Simple>
26+
<Type>OIS</Type>
27+
<Quotes>
28+
<Quote optional="true">IR_SWAP/RATE/GBP/2D/1D/1M</Quote>
29+
<Quote optional="true">IR_SWAP/RATE/GBP/2D/1D/2M</Quote>
30+
<Quote optional="true">IR_SWAP/RATE/GBP/2D/1D/3M</Quote>
31+
<Quote optional="true">IR_SWAP/RATE/GBP/2D/1D/6M</Quote>
2032
<Quote optional="true">IR_SWAP/RATE/GBP/2D/1D/1Y</Quote>
2133
<Quote optional="true">IR_SWAP/RATE/GBP/2D/1D/2Y</Quote>
2234
<Quote optional="true">IR_SWAP/RATE/GBP/2D/1D/3Y</Quote>
@@ -37,10 +49,12 @@
3749
<Quote optional="true">IR_SWAP/RATE/GBP/2D/1D/50Y</Quote>
3850
</Quotes>
3951
<Conventions>GBP-OIS</Conventions>
52+
<Priority>1</Priority>
4053
</Simple>
4154
</Segments>
4255
<InterpolationVariable>Discount</InterpolationVariable>
43-
<InterpolationMethod>CubicSpline</InterpolationMethod>
56+
<InterpolationMethod>DefaultLogMixedLinearCubic</InterpolationMethod>
57+
<MixedInterpolationCutoff>1</MixedInterpolationCutoff>
4458
<YieldCurveDayCounter>A365</YieldCurveDayCounter>
4559
<Tolerance>0.000000000001</Tolerance>
4660
</YieldCurve>

0 commit comments

Comments
 (0)