Skip to content

Commit 43726b5

Browse files
pcaspersjenkins
authored andcommitted
QPR-12337 remove outdated sections, wip
1 parent 041cce7 commit 43726b5

1 file changed

Lines changed: 149 additions & 188 deletions

File tree

Docs/UserGuide/parameterisation/pricingengines.tex

Lines changed: 149 additions & 188 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,75 @@ \subsection{Pricing Engines: {\tt pricingengine.xml}}
55

66
The pricing engine configuration file is provided to select pricing models and pricing engines by product type.
77

8+
%--------------------------------------------------------
9+
\subsubsection{Product Type: BondRepo}
10+
%--------------------------------------------------------
11+
12+
Used by trade type: BondRepo
13+
14+
Available Model/Engine pairs:
15+
16+
\begin{itemize}
17+
\item DiscountedCashflows/DiscountingRepoEngine
18+
\item Accrual/AccrualRepoEngine
19+
\end{itemize}
20+
21+
Engine description:
22+
23+
DiscountedCashflows/DiscountingRepoEngine builds a DiscountingBondRepoEngine. A sample configuration is shown in listing
24+
\ref{lst:peconfig_BondRepo_DiscountedCashflows_DiscountingRepoEngine}.
25+
26+
The parameters have the following meaning:
27+
28+
\begin{itemize}
29+
\item IncludeSecurityLeg: include the security leg in the valuation
30+
\item SensitivityTemplate [optional]: the sensitivity template to use
31+
\end{itemize}
32+
33+
\begin{longlisting}
34+
\begin{minted}[fontsize=\footnotesize]{xml}
35+
<Product type="BondRepo">
36+
<Model>DiscountedCashflows</Model>
37+
<ModelParameters>
38+
<Parameter name="IncludeSecurityLeg">true</Parameter>
39+
</ModelParameters>
40+
<Engine>DiscountingRepoEngine</Engine>
41+
<EngineParameters>
42+
<Parameter name="SensitivityTemplate">IR_Analytical</Parameter>
43+
</EngineParameters>
44+
</Product>
45+
\end{minted}
46+
\caption{Configuration for Product BondRepo, Model DiscountedCashflows, Engine DiscountingRepoEngine}
47+
\label{lst:peconfig_BondRepo_DiscountedCashflows_DiscountingRepoEngine}
48+
\end{longlisting}
49+
50+
Accrual/AccrualRepoEngine builds a AccrualBondRepoEngine. A sample configuration is shown in listing
51+
\ref{lst:peconfig_BondRepo_Accrual_AccrualBondRepoEngine}.
52+
53+
The parameters have the following meaning:
54+
55+
\begin{itemize}
56+
\item IncludeSecurityLeg: include the security leg in the valuation
57+
\item SensitivityTemplate [optional]: the sensitivity template to use
58+
\end{itemize}
59+
60+
\begin{longlisting}
61+
\begin{minted}[fontsize=\footnotesize]{xml}
62+
<Product type="BondRepo">
63+
<Model>Accrual</Model>
64+
<ModelParameters>
65+
<Parameter name="IncludeSecurityLeg">true</Parameter>
66+
</ModelParameters>
67+
<Engine>AccrualRepoEngine</Engine>
68+
<EngineParameters>
69+
<Parameter name="SensitivityTemplate">IR_Analytical</Parameter>
70+
</EngineParameters>
71+
</Product>
72+
\end{minted}
73+
\caption{Configuration for Product BondRepo, Model Accrual, Engine DiscountingBondRepoEngine}
74+
\label{lst:peconfig_BondRepo_Accrual_AccrualBondRepoEngine}
75+
\end{longlisting}
76+
877
%--------------------------------------------------------
978
\subsubsection{Product Type: BondTRS}
1079
%--------------------------------------------------------
@@ -1104,6 +1173,41 @@ \subsubsection{Product Type: EquityAsianOptionGeometricStrike}
11041173
\label{lst:peconfig_EquityAsianOptionGeometricStrike_ScriptedTrade_ScriptedTrade}
11051174
\end{longlisting}
11061175

1176+
%--------------------------------------------------------
1177+
\subsubsection{Product Type: EquityEuropeanCompositeOption}
1178+
%--------------------------------------------------------
1179+
1180+
Used by trade type: EquityOption if a composite option is built
1181+
1182+
Available Model/Engine pairs: BlackScholes/AnalyticEuropeanEngine
1183+
1184+
Engine description:
1185+
1186+
BlackScholes/AnalyticEuropeanEngine builds a AnalyticEuropeanEngine (with a vol composed from the relevant equity and fx
1187+
vol surfaces). A sample configuration is shown in listing
1188+
\ref{lst:peconfig_EquityEuropeanCompositeOption_BlackScholes_AnalyticEuropeanEngine}
1189+
1190+
The parameters have the following meaning:
1191+
1192+
\begin{itemize}
1193+
\item SensitivityTemplate [optional]: the sensitivity template to use
1194+
\end{itemize}
1195+
1196+
\begin{longlisting}
1197+
\begin{minted}[fontsize=\footnotesize]{xml}
1198+
<Product type="EquityEuropeanCompositeOption">
1199+
<Model>BlackScholes</Model>
1200+
<ModelParameters/>
1201+
<Engine>AnalyticEuropeanEngine</Engine>
1202+
<EngineParameters>
1203+
<Parameter name="SensitivityTemplate">EQ_Analytical</Parameter>
1204+
</EngineParameters>
1205+
</Product>
1206+
\end{minted}
1207+
\caption{Configuration for Product EquityEuropeanCompositeOption, Model BlackScholes, Engine AnalyticEuropeanEngine}
1208+
\label{lst:peconfig_EquityEuropeanCompositeOption_BlackScholes_AnalyticEuropeanEngine}
1209+
\end{longlisting}
1210+
11071211
%--------------------------------------------------------
11081212
\subsubsection{Product Type: EquityFutureOption}
11091213
%--------------------------------------------------------
@@ -1845,228 +1949,85 @@ \subsubsection{Product Type: FxDigitalBarrierOption}
18451949
\label{lst:peconfig_FxDigitalBarrierOption_GarmanKohlhagen_FdBlackScholesBarrierEngine}
18461950
\end{longlisting}
18471951

1848-
1849-
% ===================== template ========================
1850-
18511952
%--------------------------------------------------------
1852-
\subsubsection{Product Type: }
1953+
\subsubsection{Product Type: FxForward}
18531954
%--------------------------------------------------------
18541955

1855-
Used by trade type:
1956+
Used by trade type: FxForward
18561957

18571958
Available Model/Engine pairs:
18581959

1960+
\begin{itemize}
1961+
\item DiscountedCashflows/DiscountingFxForwardEngine
1962+
\item CrossAssetModel/AMC (for use in AMC simulations only)
1963+
\end{itemize}
1964+
18591965
Engine description:
18601966

1861-
builds a . A sample configuration is shown in listing \ref{lst:peconfig_}
1967+
DiscountedCashflows/DiscountingFxForwardEngine builds a DiscountingFxForwardEngine. A sample configuration is shown in
1968+
listing \ref{lst:peconfig_FxForward_DiscountedCashflows_DiscountingFxForwardEngine}.
18621969

18631970
The parameters have the following meaning:
18641971

18651972
\begin{itemize}
1866-
\item
18671973
\item SensitivityTemplate [optional]: the sensitivity template to use
18681974
\end{itemize}
18691975

18701976
\begin{longlisting}
18711977
\begin{minted}[fontsize=\footnotesize]{xml}
1872-
1873-
\end{minted}
1874-
\caption{Configuration for Product , Model , Engine }
1875-
\label{lst:peconfig_}
1876-
\end{longlisting}
1877-
1878-
1879-
1880-
The
1881-
following is an overview over the Example section's {\tt pricingengine.xml}. Further below we discuss the Bermudan Swaption engine parametrisation in more detail.
1882-
1883-
\begin{longlisting}
1884-
%\hrule\medskip
1885-
\begin{minted}[fontsize=\footnotesize]{xml}
1886-
<PricingEngines>
1887-
<Product type="Swap">
1888-
<Model>DiscountedCashflows</Model>
1889-
<ModelParameters/>
1890-
<Engine>DiscountingSwapEngine</Engine>
1891-
<EngineParameters/>
1892-
</Product>
1893-
<Product type="CrossCurrencySwap">
1894-
<Model>DiscountedCashflows</Model>
1895-
<ModelParameters/>
1896-
<Engine>DiscountingCrossCurrencySwapEngine</Engine>
1897-
<EngineParameters/>
1898-
</Product>
1899-
<Product type="FxForward">
1978+
<Product type="FxForward">
19001979
<Model>DiscountedCashflows</Model>
19011980
<ModelParameters/>
19021981
<Engine>DiscountingFxForwardEngine</Engine>
1903-
<EngineParameters/>
1904-
</Product>
1905-
<Product type="FxOption">
1906-
<Model>GarmanKohlhagen</Model>
1907-
<ModelParameters/>
1908-
<Engine>AnalyticEuropeanEngine</Engine>
1909-
<EngineParameters/>
1910-
</Product>
1911-
<Product type="FxOptionAmerican">
1912-
<Model>GarmanKohlhagen</Model>
1913-
<ModelParameters/>
1914-
<Engine>FdBlackScholesVanillaEngine</Engine>
1915-
<EngineParameters>
1916-
<Parameter name="Scheme">Douglas</Parameter>
1917-
<Parameter name="TimeGridPerYear">100</Parameter>
1918-
<Parameter name="XGrid">100</Parameter>
1919-
<Parameter name="DampingSteps">0</Parameter>
1920-
<!-- optional, prevents too small time grids for increased
1921-
Greek precision when expiry is near, set to 1 if omitted -->
1922-
<Parameter name="TimeGridMinimumSize">1</Parameter>
1923-
</EngineParameters>
1924-
</Product>
1925-
<Product type="EuropeanSwaption">
1926-
<Model>BlackBachelier</Model> <!-- depends on input vol -->
1927-
<ModelParameters/>
1928-
<Engine>BlackBachelierSwaptionEngine</Engine>
1929-
<EngineParameters/>
1930-
</Product>
1931-
<Product type="Bond">
1932-
<Model>DiscountedCashflows</Model>
1933-
<ModelParameters/>
1934-
<Engine>DiscountingRiskyBondEngine</Engine>
1935-
<EngineParameters>
1936-
<Parameter name="TimestepPeriod">6M</Parameter>
1937-
</EngineParameters>
1938-
</Product>
1939-
<Product type="BermudanSwaption">
1940-
<Model>LGM</Model>
1941-
<ModelParameters>
1942-
<Parameter name="Calibration">Bootstrap</Parameter>
1943-
<Parameter name="BermudanStrategy">CoterminalATM</Parameter>
1944-
<!-- ccy specific reversions -->
1945-
<Parameter name="Reversion_EUR">0.03</Parameter>
1946-
<Parameter name="Reversion_USD">0.04</Parameter>
1947-
<!-- reversion to use if no ccy specific value is given -->
1948-
<Parameter name="Reversion">0.02</Parameter>
1949-
<Parameter name="ReversionType">HullWhite</Parameter>
1950-
<Parameter name="Volatility">0.01</Parameter>
1951-
<Parameter name="VolatilityType">Hagan</Parameter>
1952-
<Parameter name="ShiftHorizon">0.5</Parameter>
1953-
<Parameter name="Tolerance">0.0001</Parameter>
1954-
</ModelParameters>
1955-
<Engine>Grid</Engine>
1956-
<EngineParameters>
1957-
<Parameter name="sy">3.0</Parameter>
1958-
<Parameter name="ny">10</Parameter>
1959-
<Parameter name="sx">3.0</Parameter>
1960-
<Parameter name="nx">10</Parameter>
1961-
</EngineParameters>
1962-
</Product>
1963-
<Product type="CapFloor">
1964-
<Model>IborCapModel</Model>
1965-
<ModelParameters/>
1966-
<Engine>IborCapEngine</Engine>
1967-
<EngineParameters/>
1968-
</Product>
1969-
<Product type="CapFlooredIborLeg">
1970-
<Model>BlackOrBachelier</Model>
1971-
<ModelParameters/>
1972-
<Engine>BlackIborCouponPricer</Engine>
1973-
<EngineParameters>
1974-
<!-- Black76 or BivariateLognormal -->
1975-
<TimingAdjustment>Black76</TimingAdjustment>
1976-
<!-- Correlation Parameter for BivariateLognormal -->
1977-
<Correlation>1.0</Correlation>
1978-
</EngineParameters>
1979-
</Product>
1980-
<Product type="EquityForward">
1981-
<Model>DiscountedCashflows</Model>
1982-
<ModelParameters/>
1983-
<Engine>DiscountingEquityForwardEngine</Engine>
1984-
<EngineParameters/>
1985-
</Product>
1986-
<Product type="EquityOption">
1987-
<Model>BlackScholesMerton</Model>
1988-
<ModelParameters/>
1989-
<Engine>AnalyticEuropeanEngine</Engine>
1990-
<EngineParameters/>
1991-
</Product>
1992-
<Product type="Bond">
1993-
<Model>DiscountedCashflows</Model>
1994-
<ModelParameters/>
1995-
<Engine>DiscountingRiskyBondEngine</Engine>
19961982
<EngineParameters>
1997-
<Parameter name="TimestepPeriod">6M</Parameter>
1998-
</EngineParameters>
1999-
</Product>
2000-
<Product type="CreditDefaultSwap">
2001-
<Model>DiscountedCashflows</Model>
2002-
<ModelParameters/>
2003-
<Engine>MidPointCdsEngine</Engine>
2004-
<EngineParameters/>
2005-
</Product>
2006-
<Product type="CMS">
2007-
<Model>Hagan</Model><!-- or LinearTSR -->
2008-
<ModelParameters/>
2009-
<Engine>Analytic</Engine> <!-- or Numerical -->
2010-
<EngineParameters>
2011-
<!-- Alternative Yield Curve Models: ExactYield, ParallelShifts, NonParallelShifts -->
2012-
<Parameter name="YieldCurveModel">Standard</Parameter>
2013-
<Parameter name="MeanReversion_EUR">0.01</Parameter>
2014-
<Parameter name="MeanReversion_USD">0.02</Parameter>
2015-
<Parameter name="MeanReversion">0.0</Parameter>
2016-
</EngineParameters>
2017-
</Product>
2018-
<Product type="CMSSpread">
2019-
<Model>BrigoMercurio</Model>
2020-
<ModelParameters/>
2021-
<Engine>Analytic</Engine>
2022-
<EngineParameters>
2023-
<Parameter name="IntegrationPoints">16</Parameter>
1983+
<Parameter name="SensitivityTemplate">FX_Analytical</Parameter>
20241984
</EngineParameters>
2025-
</Product>
2026-
<GlobalParameters>
2027-
<Parameter name="ContinueOnCalibrationError">true</Parameter>
2028-
<!-- typically not present in a user configuration, but used internally -->
2029-
<Parameter name="Calibrate">true</Parameter>
2030-
<Parameter name="GenerateAdditionalResults">true</Parameter>
2031-
<Parameter name="RunType">NPV</Parameter>
2032-
</GlobalParameters>
1985+
</Product>
20331986
\end{minted}
2034-
\caption{Pricing engine configuration}
2035-
\label{lst:pricingengine_config}
1987+
\caption{Configuration for Product FxForward, Model DiscountedCashflows, Engine DiscountingFxForwardEngine}
1988+
\label{lst:peconfig_FxForward_DiscountedCashflows_DiscountingFxForwardEngine}
20361989
\end{longlisting}
20371990

2038-
These settings will be taken into account when the engine factory is asked to build the respective pricing engines and required models, and to calibrate the required model.
1991+
CrossAssetModel/AMC builds a McCamFxForwardEngine for use in AMC simulations. We refer to the AMC module documentation
1992+
for further details.
20391993

2040-
\medskip
2041-
For example, in case of the Bermudan Swaption, the parameters are interpreted as follows:
1994+
% ===================== template ========================
20421995

2043-
\begin{itemize}
2044-
\item The only model currently supported for Bermudan Swaption pricing is the LGM selected here.
1996+
%--------------------------------------------------------
1997+
\subsubsection{Product Type: }
1998+
%--------------------------------------------------------
20451999

2046-
\item The first block of model parameters then provides initial values for the model (Reversion, Volatility) and chooses
2047-
the parametrisation of the LGM model with ReversionType and VolatilityType choices {\em HullWhite} and {\em
2048-
Hagan}. Notice the possibility to specify a currency-specific reversion. Calibration and BermudanStrategy can be set
2049-
to {\em None} in order to skip model calibration. Alternatively, Calibration is set to {\em Bootstrap} and
2050-
BermudanStrategy to {\em CoterminalATM} in order to calibrate to instrument-specific co-terminal ATM Swaptions,
2051-
i.e. chosen to match the instruments first expiry and final maturity. If {\em CoterminalDealStrike} is chosen, the
2052-
co-terminal swaptions will match the fixed rate of the deal (if the deal has changing fixed rates, the first rate is
2053-
matched). Finally if the ShiftHorizon parameter is given, its value times the remaining maturity time of the deal is
2054-
chosen as the horizon shift parameter for the LGM model. If not given, this parameter defaults to $0.5$.
2000+
Used by trade type:
2001+
2002+
Available Model/Engine pairs:
20552003

2056-
\item The second block of engine parameters specifies the Numerical Swaption engine parameters which determine the
2057-
number of standard deviations covered in the probability density integrals (sy and sx), and the number of grid points
2058-
used per standard deviation (ny and nx).
2004+
Engine description:
2005+
2006+
builds a . A sample configuration is shown in listing \ref{lst:peconfig_}
2007+
2008+
The parameters have the following meaning:
2009+
2010+
\begin{itemize}
2011+
\item
2012+
\item SensitivityTemplate [optional]: the sensitivity template to use
20592013
\end{itemize}
20602014

2061-
To see the configuration options for the alternative CMS engines (Hagan Numerical, LinearTSR) or the Black Ibor coupon
2062-
pricer (CapFlooredIborLeg), please refer to the commented parts in {\tt Examples/Input/pricingengine.xml}.
2015+
\begin{longlisting}
2016+
\begin{minted}[fontsize=\footnotesize]{xml}
2017+
2018+
\end{minted}
2019+
\caption{Configuration for Product , Model , Engine }
2020+
\label{lst:peconfig_}
2021+
\end{longlisting}
20632022

2064-
\medskip
2065-
This file is relevant in particular for structured products which are on the roadmap of future ORE releases. But it is also
2066-
intended to allow the selection of optimised pricing engines for vanilla products such as Interest Rate Swaps.
20672023

2068-
\medskip
2024+
2025+
%--------------------------------------------------------
2026+
\subsubsection{Global Parameters}
2027+
%--------------------------------------------------------
2028+
20692029
In addition to product specific settings there is also a block with global parameters with the following meaning:
2030+
20702031
\begin{itemize}
20712032
\item ContinueOnCalibrationError: If set to true an exceedence of a prescribed model calibration tolerance (for e.g. the
20722033
LGM model) will not cause the trade building to fail, instead a warning is logged and the trade is processed

0 commit comments

Comments
 (0)