Skip to content

Commit dd5573e

Browse files
committed
merge conflict submodule v1.8.14.1
2 parents 1c7fb03 + 1a46992 commit dd5573e

504 files changed

Lines changed: 33395 additions & 18844 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.

Docker/Dockerfile-ORE-Dependencies

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,23 @@ RUN apt-get update \
2323
swig \
2424
lld \
2525
python3-dev \
26+
python3-pip \
27+
python3-venv \
28+
curl \
2629
-o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" \
2730
&& apt-get clean \
2831
&& rm -rf /var/lib/apt/lists/* \
2932
&& mv /usr/bin/ld /usr/bin/ld.backup \
30-
&& ln -s /usr/bin/lld /usr/bin/ld
33+
&& ln -s /usr/bin/lld /usr/bin/ld
34+
35+
RUN \
36+
curl -sSL https://get.docker.com -o install-docker.sh && \
37+
sh install-docker.sh --version 28
38+
39+
RUN python3 -m venv /venv
40+
ENV PATH="/venv/bin:$PATH"
41+
42+
RUN \
43+
pip3 install cibuildwheel==3.2.1 && \
44+
rm -rf ~/.cache/pip
45+

Docker/Dockerfile-Test

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,27 @@ FROM ${DOCKER_REPO}debian:${DEBIAN_TAG}
44

55
RUN apt-get update \
66
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
7-
ca-certificates dos2unix python3 python3-pip python3-venv python3-dev libxml2-utils xsltproc \
7+
ca-certificates dos2unix gnupg python3 python3-pip python3-venv python3-dev libxml2-utils xsltproc curl git \
88
-o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" \
99
&& update-ca-certificates \
1010
&& apt-get clean \
1111
&& rm -rf /var/lib/apt/lists/*
1212

13+
RUN sh -c 'curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg' \
14+
&& sh -c 'echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bullseye stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null' \
15+
&& apt-get update \
16+
&& apt-get install -f -y docker-ce-cli \
17+
-o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" \
18+
&& apt-get clean \
19+
&& rm -rf /var/lib/apt/lists/*
1320

1421
# Create and activate virtual environment
1522
RUN python3 -m venv /venv
1623
ENV PATH="/venv/bin:$PATH"
1724

1825
# Install Python packages inside the virtual environment
1926
RUN pip3 install --break-system-packages \
20-
matplotlib pandas pytest pytest-xdist pytest-timeout datacompy jsondiff lxml xmldiff jupyter xmldiff numpy scipy ipywidgets papermill \
27+
matplotlib pandas pytest pytest-xdist pytest-timeout pytest-rerunfailures datacompy jsondiff lxml jupyter xmldiff numpy scipy ipywidgets papermill python-dotenv requests xmlschema clang-format openpyxl \
2128
&& rm -rf ~/.cache/pip
2229

2330
CMD bash

Docker/Dockerfile-Wheels-Boost

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
ARG WHEEL_IMG
3+
FROM ${WHEEL_IMG}
4+
5+
RUN \
6+
curl -O -L https://archives.boost.io/release/1.83.0/source/boost_1_83_0.tar.gz && \
7+
tar xfz boost_1_83_0.tar.gz && \
8+
cd boost_1_83_0 && \
9+
./bootstrap.sh --with-libraries=date_time,filesystem,iostreams,log,regex,serialization,system,thread,timer && \
10+
./b2 install
11+

Docker/Dockerfile-Wheels-CIBW

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
2+
FROM ${DOCKER_REPO}ore-build-dependencies:${ORE_BUILD_VERSION}
3+
4+
ARG WHEEL_ARCH
5+
ARG WHEEL_IMAGE
6+
7+
ENV PATH="/venv/bin:$PATH"
8+
9+
ENV CIBW_BUILD="cp310-manylinux_${WHEEL_ARCH} cp312-manylinux_${WHEEL_ARCH}"
10+
ENV CIBW_MANYLINUX_X86_64_IMAGE=${WHEEL_IMAGE}
11+
ENV CIBW_MANYLINUX_AARCH64_IMAGE=${WHEEL_IMAGE}
12+
ENV CIBW_BEFORE_BUILD="chmod +x ORE-SWIG/Wheels-gitlab/before_all_linux.sh && ORE-SWIG/Wheels-gitlab/before_all_linux.sh"
13+
14+
WORKDIR /builds/qs/oreplus/ore
15+
RUN cibuildwheel --output-dir wheelhouse ORE-SWIG
16+
17+
COPY wheelhouse /wheelhouse
18+

Docker/Dockerfile-Wheels-ORE

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
2+
ARG WHEEL_IMG
3+
FROM ${WHEEL_IMG}
4+
5+
ARG CMAKE_BUILD_TYPE=Release
6+
ARG NUM_CORES=16
7+
8+
COPY CMakeLists.txt /ore/CMakeLists.txt
9+
COPY QuantLib /ore/QuantLib
10+
COPY QuantExt /ore/QuantExt
11+
COPY OREData /ore/OREData
12+
COPY OREAnalytics /ore/OREAnalytics
13+
COPY ThirdPartyLibs /ore/ThirdPartyLibs
14+
COPY cmake /ore/cmake
15+
16+
RUN \
17+
dnf -y install clang && \
18+
dnf -y install ccache && \
19+
dnf -y install ninja-build
20+
21+
ENV PATH="/usr/lib/ccache:$PATH"
22+
ENV CCACHE_DIR="/ccache"
23+
ENV CCACHE_MAXSIZE="10G"
24+
25+
WORKDIR /ore
26+
RUN \
27+
mkdir build && \
28+
cd build && \
29+
cmake .. -GNinja -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_CXX_FLAGS="-D BOOST_ENABLE_ASSERT_HANDLER $([ "$(uname -m)" = "x86_64" ] && echo "-mavx2")" -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DQL_BUILD_EXAMPLES=OFF -DQL_BUILD_TEST_SUITE=OFF -DQL_ENABLE_PARALLEL_UNIT_TEST_RUNNER=ON -DQL_ENABLE_SESSIONS=ON -DORE_BUILD_APP=OFF -DORE_BUILD_DOC=OFF -DORE_BUILD_EXAMPLES=OFF -DORE_BUILD_SWIG=OFF -DORE_BUILD_TESTS=OFF -DORE_ENABLE_OPENCL=OFF -DORE_ENABLE_PARALLEL_UNIT_TEST_RUNNER=ON -DORE_PYTHON_INTEGRATION=OFF
30+
31+
WORKDIR /ore/build
32+
RUN --mount=type=cache,target=/ccache/ ccache -z && \
33+
cmake --build . -- -j ${NUM_CORES} install && \
34+
ccache -s
35+

Docs/AMC/amc.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ \section{Overview}\label{overview}
191191
evolution model driving the XVA simulation, the scenario NPVs in the classic approach are in general not consistent in
192192
this sense unless the market scenarios are fully implied by the cross asset model. Here ``fully implied'' means that not
193193
only rate curves, but also market volatility and correlation term structures like FX volatility surfaces, swaption
194-
volatilties or CMS correlation term structures as well as other parmeters used by the single trade pricers have to be
194+
volatilities or CMS correlation term structures as well as other parameters used by the single trade pricers have to be
195195
deduced from the cross asset model, e.g. the mean reversion of the Hull White 1F model and a sutaible model volatility
196196
feeding into a Bermudan swaption pricer.
197197

@@ -613,7 +613,7 @@ \subsection{Multi Leg Options / MC pricing engine}
613613
\item \verb+IrCalibrationStrategy+ can be \verb+None+, \verb+CoterminalATM+, \verb+UnderlyingATM+
614614
\item \verb+FXCalibration+ can be \verb+None+ or \verb+Bootstrap+
615615
\item \verb+ExtrapolateFxVolatility+ can be \verb+true+ or \verb+false+; if false, no calibration instruments are used
616-
that require extrapolation of the market fx volatilty surface in option expiry direction
616+
that require extrapolation of the market fx volatility surface in option expiry direction
617617
\item \verb+Corr_Key1_Key2+: These entries describe the cross asset model correlations to be used; the syntax for
618618
\verb+Key1+ and \verb+Key2+ is the same as in the simulation configuration for the cross asset model, see \cite{oreug}.
619619
\end{enumerate}

Docs/BondPricingConfig/bondpricingconfig.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ \section{Overview}\label{overview}
143143

144144
\begin{itemize}
145145
\item ReferenceCurve: a rate curve determining the baseline discounting curve for bond valuation.
146-
\item CreditCurve [optional]: a credit curve determining the default probabilty during the lifetime of a bond. This can
146+
\item CreditCurve [optional]: a credit curve determining the default probability during the lifetime of a bond. This can
147147
e.g. be
148148
\begin{itemize}
149149
\item a CDS curve of the same issuer and seniority as the bond to proxy the credit risk
@@ -154,7 +154,7 @@ \section{Overview}\label{overview}
154154
\end{itemize}
155155
In all cases, the security spread can be used to represent additional credit / liquidity risk, see below.
156156
\item SecuritySpread [optional]: a single additional discounting spread. This can generally be interpreted as part of
157-
the credit risk (generating additional default probabilty) or as part of the baseline discounting (liquidity
157+
the credit risk (generating additional default probability) or as part of the baseline discounting (liquidity
158158
spread). Assumed to be zero if not given. Exception: If a price quote is given and the security spread is configured
159159
in the security curve config, but no market data is given for the security spread, the security spread is implied from
160160
the price quote.
@@ -216,7 +216,7 @@ \subsection{Credit Curve Config}
216216
The credit curve represents the survival probability entering the bond pricing. It also provides a recovery rate that is
217217
used as a fallback if the recovery rate from the security curve config is not available.
218218
219-
The curve config can either be explicitly set up or ore can auto-generate it. Listing
219+
The curve config can either be explicitly set up or ORE can auto-generate it. Listing
220220
\ref{lst:autogen_default_curve_config} shows an auto-generated config for the bond from section \ref{refdata}:
221221
222222
\begin{itemize}
@@ -257,7 +257,7 @@ \subsection{Security Curve Config}
257257
258258
The security curve config points to additional market data used for bond pricing.
259259
260-
It can be explicitly set up or ore can auto-generate it. Listing \ref{lst:autogen_security_curve_config} shows an
260+
It can be explicitly set up or ORE can auto-generate it. Listing \ref{lst:autogen_security_curve_config} shows an
261261
auto-generated config for the bond from section \ref{refdata}:
262262
263263
\begin{itemize}

Docs/CodingStandards/ore_coding_standards.tex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ \section*{git usage - pull requests}
165165
\textbf{Optional:} \texttt{\% git push bob bob\_widget}
166166
\item Once the coding task in complete, developer pushes the branch to the origin repo. Care should be taken not to push to origin/master.\\
167167
\texttt{\% git push origin bob\_widget}
168-
\item Then go to codebasehq.com \url{https://qrm.codebasehq.com/projects/openxva/repositories/openxva/tree/master} and click on "Merge Request" and then "New Merge Request" with the following details:
168+
\item Then go to codebasehq.com \url{https://qrm.codebasehq.com/projects/openxva/repositories/openxva/tree/master} and click on ``Merge Request'' and then ``New Merge Request'' with the following details:
169169
\begin{itemize}
170170
\item \textbf{Subject} A short description
171171
\item \textbf{User} The merge manager (currently Niall O'Sullivan)
@@ -182,9 +182,9 @@ \section*{git usage - pull requests}
182182

183183
The git workflow for the merge manager is as follows
184184
\begin{enumerate}
185-
\item Note that everyone who has a codebase account can preform these tasks, currently there is one designated manager who may delegate.
185+
\item Note that everyone who has a codebase account can perform these tasks, currently there is one designated manager who may delegate.
186186
\item go to merge requests in codebase
187-
\item if there are no conflicts, click on "merge request"
187+
\item if there are no conflicts, click on ``merge request''
188188
\item if there are conflicts, send it back to the developer
189189
\item Once the request has been merged, the temporary branch should be deleted. This is not strictly necessary but means origin is kept cleaner and avoids conflicts.\\
190190
\texttt{\% git push -{}-delete origin bob\_widget}
@@ -219,7 +219,7 @@ \subsection*{Policy on personal github accounts}
219219
This policy statement does not supersede your employment contract.
220220

221221
\subsection*{Policy on opensourcerisk.org forum accounts}
222-
Quaternion developers are permitted and encouraged to create a forum account and engage with the community. As we are representing Quaternion on the forum you should indicate this in your profile somehow, one example of this is to use the Quaternion "Q" logo as an avatar. There are no strict posting rules on the forum however if your account is associated with Quaternion it is expected that all posts and messages are formal and polite.
222+
Quaternion developers are permitted and encouraged to create a forum account and engage with the community. As we are representing Quaternion on the forum you should indicate this in your profile somehow, one example of this is to use the Quaternion ``Q'' logo as an avatar. There are no strict posting rules on the forum however if your account is associated with Quaternion it is expected that all posts and messages are formal and polite.
223223

224224
%-------------------------------------------------------------------------------
225225
\section*{ORE and ORE+ code layout}

Docs/CommodityModel/CommodityModel.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ \section{One Factor Model}
7272
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7373
\subsection{Time Dependent Multiplier}
7474
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
75-
Seasonality is observed in the market for both commodity future price curves and option volatilities. To incorporate the seasonality in the modelling a time dependent multiplier is introduced in the literature. Andersen \cite{Andersen} suggests\footnote{See section 7.2 in Andersen \cite{Andersen} for the discussion on dependence of seasonality adjustment to calendar days and expiry of future contracts.} that the time dependent variable depends on the maturity of the futures contract. By following this approach, we define it in the one factor case\footnote{Andersen worked on a two factor set up, where the first factor affects the short-end of the futures curve and has the form the $e^{b(T)}$, and the second factor has an additional term containing $e^{a(T)}h_{\infty}$ for long futures maturities.} as follows
75+
Seasonality is observed in the market for both commodity future price curves and option volatilities. To incorporate the seasonality in the modelling a time dependent multiplier is introduced in the literature. Andersen \cite{Andersen} suggests\footnote{See section 7.2 in Andersen \cite{Andersen} for the discussion on dependence of seasonality adjustment to calendar days and expiry of future contracts.} that the time dependent variable depends on the maturity of the futures contract. By following this approach, we define it in the one factor case\footnote{Andersen worked on a two factor set up, where the first factor affects the short-end of the futures curve and has the form $e^{b(T)}$, and the second factor has an additional term containing $e^{a(T)}h_{\infty}$ for long futures maturities.} as follows
7676
%
7777
$$
7878
m_i(T) = e^{b_i(T)}

Docs/ComputeEnvironment/computeenvironment.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,7 @@ \subsection{Populating the input variates}
455455

456456
where \verb+k+ loops over the dimensions (e.g. number of assets) and \verb+j+ loops over the time steps and \verb+rv+ is
457457
a vector of vectors storing the indices of the required random variates by dimensions and time steps. The external
458-
random variable contructor used in this case is
458+
random variable constructor used in this case is
459459

460460
\begin{minted}[fontsize=\footnotesize]{xml}
461461
ExternalRandomVariable::ExternalRandomVariable(std::size_t id)
@@ -650,7 +650,7 @@ \subsection{Variable management}
650650
\begin{itemize}
651651
\item input variables: {\tt x[offset + i]}, with x a buffer in the global address space
652652
\item input variates: {\tt r[offset + i]}, with r a buffer in the global address space
653-
\item intermediate variables: {\tt b[offset + i]}, with b a buffer in the global address space. It is refered to as the
653+
\item intermediate variables: {\tt b[offset + i]}, with b a buffer in the global address space. It is referred to as the
654654
values buffer. Note that this buffer also contains conditional expectation arguments and results and all output
655655
variables.
656656
\end{itemize}

0 commit comments

Comments
 (0)