You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
\item InterpolationMethod [Optional]: The variable on which the interpolation is performed. The allowable values are
63
63
Linear, LogLinear, Cubic, Hermite, LinearFlat, LogLinearFlat, CubicFlat, HermiteFlat, BackwardFlat, ForwardFlat. This is different to yield curves above in that Flat versions
64
64
of the standard methods are defined, with each of these if there is no Spot price than any extrapolation between $T_0$ and the
65
-
first future price will be flat (i.e. the first future price will be copied back "Flat" to $T_0$).
65
+
first future price will be flat (i.e. the first future price will be copied back ``Flat'' to $T_0$).
66
66
If the element is omitted or left blank, then it defaults to \emph{Linear}.
67
67
\item Conventions [Optional]: The conventions to use, if omited it is assumed that these quotes are Outright prices.
68
68
\item Extrapolation [Optional]: Set to \emph{True} or \emph{False} to enable or disable extrapolation respectively. If
Note that, similar to the procedure outlined above for the absolute strike surface, quote strings are created from the configuration to be looked up in the market. For the put deltas, quote strings of the form \lstinline!COMMODITY_OPTION/RATE_LNVOL/{N}/{C}/e_n/DEL/{T}/Put/d_m! are created. Here, \lstinline!d_m! are the \lstinline!PutDeltas! and \lstinline!{T}! is the delta type i.e.\ either \lstinline!Spot! or \lstinline!Fwd!. Similarly for the call deltas, quote strings of the form \lstinline!COMMODITY_OPTION/RATE_LNVOL/{N}/{C}/e_n/DEL/{T}/Call/d_j! are created where \lstinline!d_j! are the \lstinline!CallDeltas!. For ATM, quote strings of the form \lstinline!COMMODITY_OPTION/RATE_LNVOL/{N}/{C}/e_n/DEL/ATM/{A}[/DEL/{T}]! are created where \lstinline!{A}! is the \lstinline!AtmType! i.e.\ \lstinline!AtmSpot!, \lstinline!AtmFwd! or \lstinline!AtmDeltaNeutral! and \lstinline!{T}! is the optional delta type.
394
394
395
-
Also, it is worth adding a note here on the interpolation for a delta based surface. Assume we want the volatility at time $t$ and absolute strike $s$ i.e. at the $(t, s)$ node. For the maturity time $t$, a delta "slice" i.e. a set of (delta, vol) pairs for that time $t$, is obtained by interpolating, or extrapolating, the variance in the time direction on each delta column. Then for each (delta, vol) pair at time $t$, an absolute strike value is deduced to give a slice at time $t$ in terms of absolute strike i.e. a set of (strike, vol) pairs at time $t$. This strike versus volatility curve is then interpolated, or extrapolated, to give the vol at the $(t, s)$.
395
+
Also, it is worth adding a note here on the interpolation for a delta based surface. Assume we want the volatility at time $t$ and absolute strike $s$ i.e. at the $(t, s)$ node. For the maturity time $t$, a delta ``slice'' i.e. a set of (delta, vol) pairs for that time $t$, is obtained by interpolating, or extrapolating, the variance in the time direction on each delta column. Then for each (delta, vol) pair at time $t$, an absolute strike value is deduced to give a slice at time $t$ in terms of absolute strike i.e. a set of (strike, vol) pairs at time $t$. This strike versus volatility curve is then interpolated, or extrapolated, to give the vol at the $(t, s)$.
396
396
397
397
Listing \ref{lst:comm_vol_apo_surface_config} outlines the configuration for the APO volatility surface. This currently only supports a \lstinline!QuoteType! of \lstinline!ImpliedVolatility! and \lstinline!VolatilityType! must be \lstinline!Lognormal!. This configuration takes a base commodity volatility surface and builds a surface that can be queried for volatilities to price APOs directly i.e.\ using the volatility directly in a Black 76 formula along with the average future price. It uses the approach described in the Section entitled \textit{Commodity Average Price Option - Future Settlement Prices} in the Product Catalogue to go from future option volatilities to APO volatilities.
Copy file name to clipboardExpand all lines: Docs/UserGuide/curve_configurations/default_curves_from_cds.tex
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ \subsubsection{Default Curves from CDS}
6
6
7
7
\begin{itemize}
8
8
\item
9
-
\lstinline!CurveId!: Unique identifier for the bootstrapped default curve. For index term curves a suffix \lstinline!_5Y! should be appended to the name indicating the index term, since this is the prefered name looked up by index cds and index cds option pricers. If such a curve is not found, the pricers will fall back to the specified credit curve id without suffix, i.e. following this naming convention is not mandatory, but recommended.
9
+
\lstinline!CurveId!: Unique identifier for the bootstrapped default curve. For index term curves a suffix \lstinline!_5Y! should be appended to the name indicating the index term, since this is the preferred name looked up by index cds and index cds option pricers. If such a curve is not found, the pricers will fall back to the specified credit curve id without suffix, i.e. following this naming convention is not mandatory, but recommended.
10
10
11
11
\item\lstinline!CurveDescription! [Optional]:
12
12
A description of the default curve. It is for information only and may be left blank.
The usual ``raw'' sensitivity analysis is performed by bumping the "raw" rates (zero rates, hazard rates, inflation zero rates, optionlet vols).
476
+
The usual ``raw'' sensitivity analysis is performed by bumping the ``raw'' rates (zero rates, hazard rates, inflation zero rates, optionlet vols).
477
477
This is followed by the Jacobi transformation that turns ``raw'' sensitivities into sensitivities in the par domain (Deposit/FRA/Swap rates, FX Forwards, CC Basis Swap spreads,
478
478
CDS spreads, ZC and YOY Inflation Swap rates, flat Cap/Floor vols). The conversion is controlled by the additional {\tt ParConversion} data blocks
479
479
in {\tt sensitivity.xml} where the assumed par instruments and corresponding conventions are coded, as shown below for three types of discount curves.
@@ -670,7 +670,7 @@ \subsubsection{Stand-alone Par Conversion Utility}
670
670
\label{example:marketrisk_parconversionl}
671
671
672
672
This example ({\tt python run\_parconversion.py}) demonstrates ORE's capability to convert external computed zero sensitivities (e.g Zero rates) to par sensitivities (e.g. to Swap rates)
673
-
that is implemented by means of a Jacobi transformation of the "raw" sensitivities (e.g. to zero rates), see a sketch of the
673
+
that is implemented by means of a Jacobi transformation of the ``raw'' sensitivities (e.g. to zero rates), see a sketch of the
674
674
methodology in \cite{methods} and section \ref{sec:sensitivity} for configuration details.
675
675
676
676
To perform a par sensitivity analysis, the following required change in {\tt ore.xml} is required
@@ -716,7 +716,7 @@ \subsubsection{Stand-alone Par Conversion Utility}
716
716
\item baseNpvColumn: The base npv of the trade / nettingset / portfolio in currency.
717
717
\end{enumerate}
718
718
719
-
This is followed by the Jacobi transformation that turns "raw" sensitivities into sensitivities in the par domain (Deposit/FRA/Swap rates, FX Forwards, CC Basis Swap spreads,
719
+
This is followed by the Jacobi transformation that turns ``raw'' sensitivities into sensitivities in the par domain (Deposit/FRA/Swap rates, FX Forwards, CC Basis Swap spreads,
720
720
CDS spreads, ZC and YOY Inflation Swap rates, flat Cap/Floor vols). The conversion is controlled by the additional {\tt ParConversion} data blocks
721
721
in {\tt sensitivity.xml} where the assumed par instruments and corresponding conventions are coded, as shown below for three types of discount curves.
722
722
@@ -2208,15 +2208,15 @@ \subsection{American Monte Carlo}\label{example:amc}
2208
2208
The cases in this section, folder {\tt AmericanMonteCarlo}, demonstrate how to use American Monte Carlo Simulation (AMC)
2209
2209
to generate exposures in ORE.
2210
2210
\begin{itemize}
2211
-
\item We start with benchmarking against "classic" exposure simulation, i.e.
2211
+
\item We start with benchmarking against ``classic'' exposure simulation, i.e.
2212
2212
we run both AMC and classic simulation on a small IR/FX portfolio, almost vanilla, that
2213
2213
consists of a Bermudan Swaption, Single and Cross Currency Swaps, FX Swap and FX Option,
2214
2214
and we compare the resulting AMC vs. classic exposures. \\
2215
2215
Run with {\tt python run\_benchmark.py}
2216
2216
\item Scripted Bermudan Swaption and LPI Swap: This case shows that the scripted trade
2217
2217
framework works with AMC too, demonstrated here with a scripted Bermudan Swaption and an LPI Swap. \\
2218
2218
Run with: {\tt python run\_scriptedberm.py}
2219
-
\item FX TaRF: FxTaRF product is implemented using the scripted trade framework "under the hood"
2219
+
\item FX TaRF: FxTaRF product is implemented using the scripted trade framework ``under the hood''
2220
2220
with the payoff script embedded into C++, so that it is neither explicit in the trade XML nor
2221
2221
in the script library.\\
2222
2222
Run with: {\tt python run\_fxtarf.py}
@@ -2229,7 +2229,7 @@ \subsubsection{Benchmarking AMC vs Classic Simulation}
2229
2229
2230
2230
This example demonstrates how to use American Monte Carlo simulation (AMC) to generate exposures in ORE.
2231
2231
For a sketch of the methodology and comments on its implementation in ORE see \cite{methods}.
2232
-
Moreover we discuss the essential configuration chnages for applying AMC.
2232
+
Moreover we discuss the essential configuration changes for applying AMC.
2233
2233
2234
2234
Calling
2235
2235
@@ -2860,7 +2860,7 @@ \subsubsection{NPV Sensitivities with AAD and GPUs}
2860
2860
\item as above but using the Computation Graph, see {\tt UseCG=true} in {\tt pricingengine\_cg.xml}, which
2861
2861
is the basis for the following two approaches ((14 sec on Apple M2 Max))
2862
2862
\item using AAD, see {\tt pricingengine\_ad.xml} ((2.2 sec on Apple M2 Max))
2863
-
\item using the external device if available, see {\tt pricingengine\_gpu.xml} (2.3 sec on Apple M2 Max with "OpenCL/Apple/Apple M2 Max" device)
2863
+
\item using the external device if available, see {\tt pricingengine\_gpu.xml} (2.3 sec on Apple M2 Max with ``OpenCL/Apple/Apple M2 Max'' device)
2864
2864
\end{itemize}
2865
2865
to compare sensitivities and performance. In the latter case we have set the external device in
2866
2866
{\tt pricingengine\_gpu.xml} to ``BasicCpu/Default/Default'' which mimics an external device on the CPU.
The example in folder {\tt Examples/Example\_40} demonstrates ORE's par sensitivity analysis (e.g. to Swap rates)
1823
-
that is implemented by means of a Jacobi transformation of the "raw" sensitivities (e.g. to zero rates), see a sketch of the
1823
+
that is implemented by means of a Jacobi transformation of the ``raw'' sensitivities (e.g. to zero rates), see a sketch of the
1824
1824
methodology in \cite{methods} and section \ref{sec:sensitivity} for configuration details.
1825
1825
1826
1826
To perform a par sensitivity analysis, the following required change in {\tt ore.xml} is required
@@ -1851,8 +1851,8 @@ \subsection{Par Sensitivity Analysis}% Example 40
1851
1851
\item CapFloor volatilities
1852
1852
\end{itemize}
1853
1853
1854
-
The usual sensitivity analysis is performed by bumping the "raw" rates (zero rates, hazard rates, inflation zero rates, optionlet vols).
1855
-
This is followed by the Jacobi transformation that turns "raw" sensitivities into sensitivities in the par domain (Deposit/FRA/Swap rates, FX Forwards, CC Basis Swap spreads,
1854
+
The usual sensitivity analysis is performed by bumping the ``raw'' rates (zero rates, hazard rates, inflation zero rates, optionlet vols).
1855
+
This is followed by the Jacobi transformation that turns ``raw'' sensitivities into sensitivities in the par domain (Deposit/FRA/Swap rates, FX Forwards, CC Basis Swap spreads,
1856
1856
CDS spreads, ZC and YOY Inflation Swap rates, flat Cap/Floor vols). The conversion is controlled by the additional {\tt ParConversion} data blocks
1857
1857
in {\tt sensitivity.xml} where the assumed par instruments and corresponding conventions are coded, as shown below for three types of discount curves.
1858
1858
@@ -2051,7 +2051,7 @@ \subsection{Initial Margin: ISDA SIMM and IM Schedule}% Example 44
2051
2051
2052
2052
\subsubsection*{IM Schedule}
2053
2053
2054
-
As an additonal case in this example we demonstrate how to use the IM Schedule method to compute initial margin.
2054
+
As an additional case in this example we demonstrate how to use the IM Schedule method to compute initial margin.
2055
2055
The related input file is {\tt Input/ore\_schedule.xml}. It is also run when calling {\tt python run.py}, and results are written to folder
2056
2056
{\tt Output/IM\_SCHEDULE}.
2057
2057
The basic input is provided in CRIF file format where ORE expects two lines per trade, one with RiskClass = PV and one with RiskClass = Notional,
@@ -2169,7 +2169,7 @@ \subsection{Zero to Par sensitivity Conversion Analysis}% Example 50
The example in folder {\tt Examples/Example\_50} demonstrates ORE's capability to convert external computed zero sensitivities (e.g Zero rates) to par sensitivities (e.g. to Swap rates)
2172
-
that is implemented by means of a Jacobi transformation of the "raw" sensitivities (e.g. to zero rates), see a sketch of the
2172
+
that is implemented by means of a Jacobi transformation of the ``raw'' sensitivities (e.g. to zero rates), see a sketch of the
2173
2173
methodology in \cite{methods} and section \ref{sec:sensitivity} for configuration details.
2174
2174
2175
2175
To perform a par sensitivity analysis, the following required change in {\tt ore.xml} is required
@@ -2215,7 +2215,7 @@ \subsection{Zero to Par sensitivity Conversion Analysis}% Example 50
2215
2215
\item baseNpvColumn: The base npv of the trade / nettingset / portfolio in currency.
2216
2216
\end{enumerate}
2217
2217
2218
-
This is followed by the Jacobi transformation that turns "raw" sensitivities into sensitivities in the par domain (Deposit/FRA/Swap rates, FX Forwards, CC Basis Swap spreads,
2218
+
This is followed by the Jacobi transformation that turns ``raw'' sensitivities into sensitivities in the par domain (Deposit/FRA/Swap rates, FX Forwards, CC Basis Swap spreads,
2219
2219
CDS spreads, ZC and YOY Inflation Swap rates, flat Cap/Floor vols). The conversion is controlled by the additional {\tt ParConversion} data blocks
2220
2220
in {\tt sensitivity.xml} where the assumed par instruments and corresponding conventions are coded, as shown below for three types of discount curves.
0 commit comments