Skip to content

Commit ddc0afe

Browse files
author
jenkins
committed
git subrepo pull (merge) ore
subrepo: subdir: "ore" merged: "d622aa40a1" upstream: origin: "git@gitlab.acadiasoft.net:qs/ore.git" branch: "master" commit: "4fb05d722f" git-subrepo: version: "0.4.6" origin: "https://github.com/ingydotnet/git-subrepo" commit: "73a0129"
2 parents 87aa370 + 4fb05d7 commit ddc0afe

280 files changed

Lines changed: 66028 additions & 43308 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Docs/ScriptedTrade/scriptedtrade.tex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,9 @@
101101

102102
\begin{document}
103103

104-
\title{ORE+ Trade Scripting Module}
104+
\title{ORE Scripted Trade Module}
105105
\author{Quaternion Risk Management}
106-
\date{22 June 2023}
106+
\date{12 February 2024}
107107
\maketitle
108108

109109
\newpage
@@ -210,7 +210,7 @@ \subsection{Daycounter}
210210
\subsection{Compact Trade XML}\label{compactXml}
211211
\input{docs/compacttradexml.tex}
212212

213-
\subsection{A comment on the Payment Currency in Scripted Trades}\label{sss:payccy_st}
213+
\subsection{Payment Currency}\label{sss:payccy_st}
214214
\input{docs/noteonpayccy.tex}
215215

216216
\subsection{Convenience Trade Wrappers}

Docs/UserGuide/allowablevalues.tex

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ \subsection{Allowable Values}
146146
\emph{US-NYSE, New York stock exchange} & US NYSE Calendar \\ \hline
147147
\emph{US with Libor impact} & US Calendar for Libor fixings \\ \hline
148148
\emph{US-NERC} & US NERC Calendar \\ \hline
149+
\emph{US-SOFR} & US SOFR fixing Calendar \\ \hline
149150
\emph{AR, ARG, ARS} & Argentina Calendar \\ \hline
150151
\emph{AU, AUD, AUS} & Australia Calendar \\ \hline
151152
\emph{AT, AUT, ATS} & Austria Calendar \\ \hline
@@ -211,6 +212,7 @@ \subsection{Allowable Values}
211212
\emph{XLON} & UK London Stock Exchange \\ \hline
212213
\emph{XLME} & UK London Metal Exchange \\ \hline
213214
\emph{XNYS} & US New York Stock Exchange Calendar \\ \hline
215+
\emph{XPAR} & Paris stock exchange \\ \hline
214216
\emph{WMR} & Thomson Reuters QM/Reuters Spot \\ \hline
215217
\emph{WeekendsOnly} & Weekends Only Calendar \\ \hline
216218
\emph{ICE\_FuturesUS} & ICE Futures U.S. Currency, Stock and Credit Index, Metal, Nat Gas, Power, Oil and Environmental \\ \hline
@@ -235,7 +237,7 @@ \subsection{Allowable Values}
235237
% \emph{LNB\_NYB\_ZUB} & UK, US and Switzerland Calendar \\ \hline
236238
% \emph{LNB\_NYB\_TRB} & UK, US and Canada Calendar \\ \hline
237239
% \emph{LNB\_NYB\_TKB} & UK, US and Japan Calendar \\ \hline
238-
% \emph{NullCalendar} & Null Calendar, i.e. all days are business days \\ \hline
240+
\emph{NullCalendar, Null} & Null Calendar, i.e. all days are business days \\ \hline
239241
\caption{Allowable Values for Calendar. Combinations of calendars can be provided using comma separated calendar names.}
240242
\label{tab:calendar}
241243
\end{longtable}

Docs/UserGuide/curve_configurations/yieldcurves.tex

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,18 @@ \subsubsection{Yield Curves}
8383
\hline
8484
Linear & Linear interpolation \\ \hline
8585
LogLinear & Linear interpolation on the natural log of the interpolation variable \\ \hline
86-
NaturalCubic & Monotonic Kruger cubic interpolation with second derivative at left and right \\ \hline
87-
FinancialCubic & Monotonic Kruger cubic interpolation with second derivative at left and
88-
first derivative at right \\ \hline
86+
NaturalCubic & Monotonic Kruger cubic interpolation with zero second derivative at left and right \\ \hline
87+
FinancialCubic & Monotonic Kruger cubic interpolation with zero second derivative at left and
88+
zero first derivative at right \\ \hline
8989
ConvexMonotone & Convex Monotone Interpolation (Hagan, West) \\ \hline
9090
Quadratic & Quadratic interpolation \\ \hline
9191
LogQuadratic & Quadratic interpolation on the natural log of the interpolation variable \\ \hline
92+
LogNaturalCubic & Monotonic Kruger cubic interpolation with zero second derivative at left and right \\hline
93+
LogFinancialCubic & Monotonic Kruger cubic interpolation with zero second derivative at left and
94+
zero first derivative at right \\hline
95+
LogCubicSpline & Non-monotonic cubic spline interpolation with zero second derivative at left and right \\hline
9296
Hermite & Hermite cubic spline interpolation \\ \hline
93-
CubicSpline & Non-monotonic cubic spline interpolation with second derivative at left and right \\ \hline
97+
CubicSpline & Non-monotonic cubic spline interpolation with zero second derivative at left and right \\ \hline
9498
DefaultLogMixedLinearCubic & Mixed interpolation, first linear, then monotonic Kruger cubic spline \\ \hline
9599
MonotonicLogMixedLinearCubic & Mixed interpolation, first linear, then monotonic natural cubic spline \\ \hline
96100
KrugerLogMixedLinearCubic & Mixed interpolation, first linear, then non-monotonic Kruger cubic spline \\ \hline

Docs/UserGuide/tradedata/accumulator.tex

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ \subsubsection{Accumulators and Decumulators}
4343
<Date>2025-03-03</Date>
4444
<Date>2029-03-03</Date>
4545
</Dates>
46-
</Dates>
46+
</Dates>
4747
</SettlementDates>
4848
<RangeBounds>
4949
<RangeBound>
@@ -204,7 +204,7 @@ \subsubsection{Accumulators and Decumulators}
204204
205205
Allowable values: See \lstinline!Currency! in Table \ref{tab:allow_stand_data}. The strike may be any positive real number. The currency provided in this node may be quoted as corresponding minor currency to the underlying major currency. If omitted, local strikes should be used in each \lstinline!RangeBound! node.
206206
207-
\item Currency: The payout currency. The result of the payout formula above is treated to be in this currency. Note that for (non-quanto) FxAccumulators this should be the domestic (\lstinline!CCY2!) currency. For non-quanto Equity- and CommodityAccumulators this should be the currency the equity or commodity is quoted in. Notice section \ref{sss:payccy_st}. \\
207+
\item Currency: The payout currency. The result of the payout formula above is treated to be in this currency. Note that for (non-quanto) FxAccumulators this should be the domestic (\lstinline!CCY2!) currency. For non-quanto Equity- and CommodityAccumulators this should be the currency the equity or commodity is quoted in. Notice section ``Payment Currency'' in ore/Docs/ScriptedTrade. \\
208208
209209
Allowable values: See Table \ref{tab:currency} \lstinline!Currency!.
210210
@@ -309,7 +309,7 @@ \subsubsection{Accumulators and Decumulators}
309309
310310
% scripted trade representation type 01
311311
312-
Accumulators can also be represented as scripted trades, refer to Section \ref{app:scriptedtrade} for an
312+
Accumulators can also be represented as scripted trades, refer to the separate documentation in ore/Docs/ScriptedTrade for an
313313
introduction. Listing \ref{lst:fxaccumulator01} shows the structure of an Accumulator (type 01) example, here on a FX
314314
underlying (EQ or COMM underlyings are possible as well).
315315
@@ -378,12 +378,12 @@ \subsubsection{Accumulators and Decumulators}
378378
\item Strike: The strike value the bought currency is purchased at.
379379
\item FixedAmount: The unleveraged notional amount accumulated at each fixing date
380380
\item LongShort: 1 for a long, -1 for a short position
381-
\item Underlying: See Section \ref{data_index} for allowable values.
382-
\item PayCcy: The payment currency of the trade. Notice section \ref{sss:payccy_st}.
381+
\item Underlying: See ore/Docs/ScriptedTrade's Index section for allowable values.
382+
\item PayCcy: The payment currency of the trade. Notice section Notice section ``Payment Currency'' in ore/Docs/ScriptedTrade.
383383
\item StartDate: The start date. American knock out events are monitored from this date on. Notice that the start date
384384
must be given in the scripted trade representation for European knock outs, although it is not used for this variant.
385-
\item FixingDates: The fixing dates, given as a ScheduleData, or DerivedSchedule (see \ref{app:scriptedtrade}).
386-
\item SettlementDates: The fixing dates, given as a ScheduleData, or DerivedSchedule (see \ref{app:scriptedtrade}).
385+
\item FixingDates: The fixing dates, given as a ScheduleData, or DerivedSchedule (see ore/Docs/ScriptedTrade).
386+
\item SettlementDates: The fixing dates, given as a ScheduleData, or DerivedSchedule (see ore/Docs/ScriptedTrade).
387387
\item RangeUpperBound: Values of upperbounds for the leverage ranges. If a given range has no upperbound add 100000
388388
\item RangeLowerBound: Values of lowerbounds for the leverage ranges. If a given range has no lowerbound add 0
389389
\item RangeLeverages: Values of leverages for the leverage ranges.
@@ -455,7 +455,7 @@ \subsubsection{Accumulators and Decumulators}
455455
456456
% scripted trade representation type 02
457457
458-
Accumulators of Type 02 can also be represented as scripted trades, refer to Section \ref{app:scriptedtrade} for an
458+
Accumulators of Type 02 can also be represented as scripted trades, see ore/Docs/ScriptedTrade for an
459459
introduction. Listing \ref{lst:eqaccumulator02} shows the structure of an Accumulator (Type 02) example, here on an
460460
equity underlying. FX and COMM underlyings are possible as well.
461461
@@ -551,16 +551,16 @@ \subsubsection{Accumulators and Decumulators}
551551
are non-negative values.
552552
\item LongShort: The position, allowable values are ``Long'' and ``Short''
553553
\item Underlying: The underlying index \\
554-
See Section \ref{data_index} for allowable values.
555-
\item PayCcy: The payment currency. See the appendix for allowable currency codes. Notice section \ref{sss:payccy_st}.
556-
\item ObservationDates: The observation date schedule. See section \ref{app:scriptedtrade} on how this is set up.
554+
See ore/Docs/ScriptedTrade's Index section for allowable values.
555+
\item PayCcy: The payment currency. See the appendix for allowable currency codes. Notice section Notice section ``Payment Currency'' in ore/Docs/ScriptedTrade.
556+
\item ObservationDates: The observation date schedule. See ore/Docs/ScriptedTrade on how this is set up.
557557
\item KnowOutSettlementDates: The settlement dates associated to the observation dates in case of a knock out event, the
558-
number of observation and knock out settlement dates must be equal. See section \ref{app:scriptedtrade} on how this is
558+
number of observation and knock out settlement dates must be equal. See ore/Docs/ScriptedTrade on how this is
559559
set up.
560-
\item ObservationPeriodEndDates: The last date for each observation period. See section \ref{app:scriptedtrade} on how
560+
\item ObservationPeriodEndDates: The last date for each observation period. See ore/Docs/ScriptedTrade on how
561561
this is set up.
562562
\item SettlementDates: The settlement dates for each observation period, the number of settlement dates and the number
563-
of observation period end dates must be equal. See section \ref{app:scriptedtrade} on how this is set up.
563+
of observation period end dates must be equal. See ore/Docs/ScriptedTrade on how this is set up.
564564
\item RangeUpperBounds: The multiplier for the ``number of days below'' in the payoff. Allowable values are non-negative numbers.
565565
\item RangeLowerBounds: The multiplier for the ``number of days above'' in the payoff. Allowable values are non-negative numbers.
566566
\item RangeLeverages: The multiplier for the defined ranges. Allowable values are non-negative numbers.

Docs/UserGuide/tradedata/balanceguaranteedswap.tex

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
\subsubsection{Balance Guaranteed Swap (BGS)}
22

3+
A Balance Guaranteed Swap is similar to an amortizing interest rate swap, but the
4+
notional amortization matches actual prepayments of a Reference Security which can
5+
be either a tranche or a reference pool of assets, or securitized interest backed
6+
by a pool of assets. The BGS differs from an amortizing swap in that the notional
7+
amortizations are uncertain.
8+
9+
BGS are priced in ORE yusing an auxiliary Flexi Swap as a proxy. The amortization schedule
10+
of the Flexi Swap is set up as the notional schedule of the BGS assuming a zero
11+
CPR (Conditional Prepayment Rate). The lower notional bound of the Flexi Swap is
12+
constructed assuming a MaxCPR (Maximum Conditional Prepayment Rate) which is
13+
dependent on the Reference Security. The MaxCPR is estimated on the basis of
14+
the current CPR, historical CPRs and / or expert judgement as to provide a
15+
(hypothetical) sufficiently realistic hedge for the BGS. The option holder in
16+
the Flexi Swap is the payer of the structured leg (i.e. the leg replicating the
17+
payments of the reference security) in the BGS.
18+
319
The \lstinline!BalanceGuaranteedSwapData! node is the trade data container for trade type \emph{BalanceGuaranteedSwap}. A BGS must have two legs, one fixed and one floating. Each leg typically has an amortising notional and is represented by a \lstinline!LegData! trade component sub-node, described in section \ref{ss:leg_data}.
420
The \lstinline!BalanceGuaranteedSwapData! node also contains a \lstinline!ReferenceSecurity! sub-node specifying the Asset Backed Security to which the notional schedule of the BGS is linked.
521
%and a \lstinline!MaxCPR! sub-node indicating the maximum allowable prepayment.

0 commit comments

Comments
 (0)