Skip to content

Commit 7e6e9d4

Browse files
author
jenkins
committed
git subrepo pull (merge) ore
subrepo: subdir: "ore" merged: "7e9622a493" upstream: origin: "git@gitlab.acadiasoft.net:qs/ore.git" branch: "master" commit: "3794cc5c9f" git-subrepo: version: "0.4.6" origin: "https://github.com/ingydotnet/git-subrepo" commit: "73a0129"
2 parents 6803497 + 3794cc5 commit 7e6e9d4

2 files changed

Lines changed: 5 additions & 10 deletions

File tree

Docs/UserGuide/userguide.tex

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7210,9 +7210,6 @@ \subsubsection*{Trade Features}
72107210
Some trade features are not yet supported by the multileg option engine:
72117211

72127212
\begin{enumerate}
7213-
\item legs with fx resetting feature
7214-
\item legs with naked option = true
7215-
\item coupon types are restricted to Ibor and CMS
72167213
\item exercise flows (like a notional exchange common to cross currency swaptions) are not supported
72177214
\end{enumerate}
72187215

@@ -7228,12 +7225,6 @@ \subsubsection*{State interpolation for exercise decisions}
72287225
simulated path. Currently this is done using a simple linear interpolation while from a pure methodology point of view a
72297226
Brownian Bridge would be preferable. In our tests we do not see a big impact of this approximation though.
72307227

7231-
\subsubsection*{Missing recalibration of the MCMultiLegOptionEngine}
7232-
7233-
The MC Multi Leg Option Engine builder uses the \verb+CrossAssetModelBuilder+ to set up the pricing model. This class
7234-
does not implement the \verb+ModelBuidler+ interface meaning that the model is not recalibrated in a sensitivity
7235-
analysis run. Therefore the sensitivities calculated by this engine are not valid.
7236-
72377228
\subsubsection*{Basis Function Selection}
72387229

72397230
Currently the basis function system is generated by specifying the type of the functions and the order, see

OREData/ored/portfolio/bondposition.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,11 @@ void BondPosition::build(const boost::shared_ptr<ore::data::EngineFactory>& engi
7474

7575
maturity_ = Date::minDate();
7676
for (auto const& u : data_.underlyings()) {
77-
bonds_.push_back(BondFactory::instance().build(engineFactory, engineFactory->referenceData(), u.name()));
77+
try {
78+
bonds_.push_back(BondFactory::instance().build(engineFactory, engineFactory->referenceData(), u.name()));
79+
} catch (const std::exception& e) {
80+
QL_FAIL("Build failed for underlying " << u.type() << " (" << u.name() << "): " << e.what());
81+
}
7882
weights_.push_back(u.weight());
7983
bidAskAdjustments_.push_back(u.bidAskAdjustment());
8084
maturity_ = std::max(bonds_.back().bond->maturityDate(), maturity_);

0 commit comments

Comments
 (0)