Skip to content

Commit 77a7a14

Browse files
Roland Lichtersjenkins
authored andcommitted
QPR-12370 update docs
1 parent 6f07f78 commit 77a7a14

1 file changed

Lines changed: 50 additions & 4 deletions

File tree

Docs/UserGuide/userguide.tex

Lines changed: 50 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1243,7 +1243,7 @@ \section{Examples}\label{sec:examples}
12431243
\hline
12441244
43 & Credit Portfolio Model \\
12451245
\hline
1246-
44 & ISDA SIMM Model \\
1246+
44 & Initial Margin: ISDA SIMM and IM Schedule \\
12471247
\hline
12481248
45 & Collateralized Bond Obligation \\
12491249
\hline
@@ -3241,12 +3241,14 @@ \subsection{Credit Portfolio Model}% Example 43
32413241
The last demo case in this table can be activated by uncommenting the corresponding section at the end of the {\tt run.py} script.
32423242

32433243
%--------------------------------------------------------------------
3244-
\subsection{ISDA SIMM Model}% Example 44
3244+
\subsection{Initial Margin: ISDA SIMM and IM Schedule}% Example 44
32453245
\label{example:44}
32463246
%--------------------------------------------------------------------
32473247

32483248
This example demonstrates the calculation of initial margin using ISDA's Standard Initial Margin Model (SIMM) based on a provided
3249-
sensitivity file in ISDA's Common Risk Interchange Format (CRIF).
3249+
sensitivity file in ISDA's Common Risk Interchange Format (CRIF). In addition, we show how to use the standard "IM Schdule" method to compute
3250+
initial margin.
3251+
32503252
ORE covers all SIMM versions since inception to date, i.e.\ 1.0, 1.1, 1.2, 1.3, 1.3.38, 2.0, 2.1, 2.2, 2.3, 2.4 (=2.3.8), 2.5, 2.5A, 2.6 (=2.5.6).
32513253
All versions have been tested against the respective ISDA SIMM model unit test suites and pass these tests.
32523254
Any new SIMM versions will be added with each ORE release.
@@ -3274,7 +3276,7 @@ \subsection{ISDA SIMM Model}% Example 44
32743276
\end{itemize}
32753277

32763278
\medskip
3277-
There are four input files -- {\tt ore\_SIMM2.4\_1D.xml}, {\tt ore\_SIMM2.4\_10D.xml}, {\tt ore\_SIMM2.6\_1D.xml}, {\tt ore\_SIMM2.6\_10D.xml} -- with corresponding folders in the {\tt Output/} directory.
3279+
There are four SIMM-related input files -- {\tt ore\_SIMM2.4\_1D.xml}, {\tt ore\_SIMM2.4\_10D.xml}, {\tt ore\_SIMM2.6\_1D.xml}, {\tt ore\_SIMM2.6\_10D.xml} -- with corresponding folders in the {\tt Output/} directory.
32783280
The relevant inputs in the files are:
32793281

32803282
\begin{itemize}
@@ -3293,6 +3295,26 @@ \subsection{ISDA SIMM Model}% Example 44
32933295
\medskip
32943296
\centerline{\tt python ore.py}
32953297

3298+
\subsubsection*{IM Schedule}
3299+
3300+
As an additonal case in this example we demonstrate how to use the IM Schedule method to compute initial margin.
3301+
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
3302+
{\tt Output/IM\_SCHEDULE}.
3303+
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,
3304+
so that the amounts in these CRIF lines are interpeted as NPV respectively notional.
3305+
Further required columns are product class and end date, as shown in the example {\tt Input/crif\_schedule.csv}.
3306+
3307+
To run the IM Schedule analytic, the following minimal addition to {\tt Input/ore\_schedule.xml} is required.
3308+
\begin{minted}[fontsize=\scriptsize]{xml}
3309+
<Analytics>
3310+
<Analytic type="imschedule">
3311+
<Parameter name="active">Y</Parameter>
3312+
<Parameter name="crif">crif_schedule.csv</Parameter>
3313+
<Parameter name="calculationCurrency">USD</Parameter>
3314+
</Analytic>
3315+
</Analytics>
3316+
\end{minted}
3317+
32963318
%--------------------------------------------------------
32973319
\subsection{Collateralized Bond Obligation}% Example 45
32983320
%--------------------------------------------------------
@@ -3904,6 +3926,7 @@ \subsubsection{Analytics}\label{sec:analytics}
39043926
\item stress
39053927
\item parametricVar
39063928
\item simm
3929+
\item imschedule
39073930
\end{itemize}
39083931

39093932
Each {\tt Analytic} section contains a list of key/value pairs to parameterise the analysis of the form {\tt <Parameter
@@ -4464,6 +4487,29 @@ \subsubsection{Analytics}\label{sec:analytics}
44644487

44654488
The SIMM analytic requires minimal market data input and today's market configuration - FX rates for conversions calculation currency, USD and result currency.
44664489

4490+
\medskip The {\tt imschedule} 'analytic' provides initial margin calculation using the standard "IM Schedule" method that is based on
4491+
trade NPV, notional, end date and product class. ORE expects the inputs in the form of a CRIF file.
4492+
Listing \ref{lst:ore_simm} shows a configuration example.
4493+
4494+
\begin{listing}[H]
4495+
\begin{minted}[fontsize=\footnotesize]{xml}
4496+
<Analytics>
4497+
<Analytic type="imschedule">
4498+
<Parameter name="active">Y</Parameter>
4499+
<Parameter name="crif">schedule_crif.csv</Parameter>
4500+
<Parameter name="calculationCurrency">USD</Parameter>
4501+
</Analytic>
4502+
<Analytics>
4503+
\end{minted}
4504+
\caption{ORE analytic: IM Schedule}
4505+
\label{lst:ore_schedule}
4506+
\end{listing}
4507+
4508+
The input CRIF file here has two lines per trade, for RiskClass = PV respectively RiskClass Notional.
4509+
Additonally required columns are product class and end date, see example 44.
4510+
The idea is that the inputs can be externally provided. Therefore the IM Schedule analytic does not require a portfolio.
4511+
The alternative -- ORE uses a portfolio to compute NPV, imply product class and end date -- has not been implemented yet.
4512+
44674513
%--------------------------------------------------------
44684514
\subsection{Market: {\tt todaysmarket.xml}}\label{sec:market}
44694515
%--------------------------------------------------------

0 commit comments

Comments
 (0)