Skip to content

Commit 2480f19

Browse files
Merge remote-tracking branch 'origin/master' into github_modules
2 parents 5164f7a + 0530126 commit 2480f19

286 files changed

Lines changed: 923 additions & 1272 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.

App/ore.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include <iostream>
2828

2929
#include <orea/app/oreapp.hpp>
30+
#include <ored/utilities/initbuilders.hpp>
3031

3132
#ifdef BOOST_MSVC
3233
#include <orea/auto_link.hpp>
@@ -66,6 +67,8 @@ int main(int argc, char** argv) {
6667
return -1;
6768
}
6869

70+
ore::data::initBuilders();
71+
6972
string inputFile(argv[1]);
7073

7174
boost::shared_ptr<Parameters> params = boost::make_shared<Parameters>();

Docs/UserGuide/userguide.tex

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4910,6 +4910,21 @@ \subsubsection{Market}\label{sec:sim_market}
49104910
\item Extrapolation: This can be FlatFwd or FlatZero. If not given, the value defaults to FlatFwd.
49114911
\end{itemize}
49124912

4913+
For swap, yield, interest cap-floor, yoy inflation cap-floor, zc inflation cap-floor, cds, fx, equity, commodity
4914+
volatilities the smile dynamics can be specified as shown in listing \ref{lst:smile_dynamics_configuration} for swap
4915+
vols. The empty key serves as a default configuration for all keys for which no own smile dynamics node is present. The
4916+
allowed smile dynamics values are StickyStrike and StickyMoneyness. If not given, the smile dynamics defaults to
4917+
StickyStrike.
4918+
4919+
\begin{listing}
4920+
\begin{minted}[fontsize=\footnotesize]{xml}
4921+
<SmileDynamics key="">StickyStrike</SmileDynamics>
4922+
<SmileDynamics key="EUR-ESTER">StickyMoneyness</SmileDynamics>
4923+
\end{minted}
4924+
\caption{Smile Configuration Node}
4925+
\label{lst:smile_dynamics_configuration}
4926+
\end{listing}
4927+
49134928
\begin{longlisting}
49144929
%\hrule\medskip
49154930
\begin{minted}[fontsize=\footnotesize]{xml}

OREAnalytics/orea/app/oreapp.cpp

Lines changed: 0 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -322,8 +322,6 @@ OREApp::OREApp(boost::shared_ptr<Parameters> params, bool console)
322322

323323
// Read setup
324324
readSetup();
325-
326-
dummyRegisterBuildersForWindows();
327325
}
328326

329327
OREApp::OREApp(const boost::shared_ptr<InputParameters>& inputs, const std::string& logFile, Size logLevel,
@@ -350,71 +348,6 @@ OREApp::OREApp(const boost::shared_ptr<InputParameters>& inputs, const std::stri
350348
Log::instance().registerLogger(boost::make_shared<FileLogger>(logFilePath));
351349
Log::instance().setMask(logLevel);
352350
Log::instance().switchOn();
353-
354-
dummyRegisterBuildersForWindows();
355-
}
356-
357-
void OREApp::dummyRegisterBuildersForWindows() {
358-
TradeFactory::instance().addBuilder("Swap", boost::make_shared<TradeBuilder<Swap>>(), true);
359-
TradeFactory::instance().addBuilder("Swaption", boost::make_shared<TradeBuilder<Swaption>>(), true);
360-
TradeFactory::instance().addBuilder("CapFloor", boost::make_shared<TradeBuilder<CapFloor>>(), true);
361-
TradeFactory::instance().addBuilder("ForwardRateAgreement",
362-
boost::make_shared<TradeBuilder<ForwardRateAgreement>>(), true);
363-
TradeFactory::instance().addBuilder("FxForward", boost::make_shared<TradeBuilder<FxForward>>(), true);
364-
TradeFactory::instance().addBuilder("FxOption", boost::make_shared<TradeBuilder<FxOption>>(), true);
365-
TradeFactory::instance().addBuilder("FxSwap", boost::make_shared<TradeBuilder<FxSwap>>(), true);
366-
367-
EngineBuilderFactory::instance().addEngineBuilder([]() { return boost::make_shared<SwapEngineBuilder>(); });
368-
EngineBuilderFactory::instance().addEngineBuilder(
369-
[]() { return boost::make_shared<CrossCurrencySwapEngineBuilder>(); });
370-
EngineBuilderFactory::instance().addEngineBuilder([]() { return boost::make_shared<FxForwardEngineBuilder>(); });
371-
EngineBuilderFactory::instance().addEngineBuilder(
372-
[]() { return boost::make_shared<FxEuropeanOptionEngineBuilder>(); });
373-
EngineBuilderFactory::instance().addEngineBuilder(
374-
[]() { return boost::make_shared<FxEuropeanCSOptionEngineBuilder>(); });
375-
EngineBuilderFactory::instance().addEngineBuilder(
376-
[]() { return boost::make_shared<FxAmericanOptionFDEngineBuilder>(); });
377-
EngineBuilderFactory::instance().addEngineBuilder(
378-
[]() { return boost::make_shared<FxAmericanOptionBAWEngineBuilder>(); });
379-
EngineBuilderFactory::instance().addEngineBuilder([]() { return boost::make_shared<CapFloorEngineBuilder>(); });
380-
EngineBuilderFactory::instance().addEngineBuilder(
381-
[]() { return boost::make_shared<CapFlooredOvernightIndexedCouponLegEngineBuilder>(); });
382-
EngineBuilderFactory::instance().addEngineBuilder(
383-
[]() { return boost::make_shared<CapFlooredAverageONIndexedCouponLegEngineBuilder>(); });
384-
EngineBuilderFactory::instance().addEngineBuilder(
385-
[]() { return boost::make_shared<CapFlooredIborLegEngineBuilder>(); });
386-
EngineBuilderFactory::instance().addEngineBuilder(
387-
[]() { return boost::make_shared<LinearTSRCmsCouponPricerBuilder>(); });
388-
389-
EngineBuilderFactory::instance().addAmcEngineBuilder(
390-
[](const boost::shared_ptr<QuantExt::CrossAssetModel>& cam, const std::vector<Date>& grid) {
391-
return boost::make_shared<CamAmcCurrencySwapEngineBuilder>(cam, grid);
392-
});
393-
EngineBuilderFactory::instance().addAmcEngineBuilder(
394-
[](const boost::shared_ptr<QuantExt::CrossAssetModel>& cam, const std::vector<Date>& grid) {
395-
return boost::make_shared<CamAmcFxOptionEngineBuilder>(cam, grid);
396-
});
397-
EngineBuilderFactory::instance().addAmcEngineBuilder(
398-
[](const boost::shared_ptr<QuantExt::CrossAssetModel>& cam, const std::vector<Date>& grid) {
399-
return boost::make_shared<CamAmcSwapEngineBuilder>(cam, grid);
400-
});
401-
EngineBuilderFactory::instance().addAmcEngineBuilder(
402-
[](const boost::shared_ptr<QuantExt::CrossAssetModel>& cam, const std::vector<Date>& grid) {
403-
return boost::make_shared<LgmAmcBermudanSwaptionEngineBuilder>(cam, grid);
404-
});
405-
406-
EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<FixedLegBuilder>(); });
407-
EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<ZeroCouponFixedLegBuilder>(); });
408-
EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<FloatingLegBuilder>(); });
409-
EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<CashflowLegBuilder>(); });
410-
EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<CPILegBuilder>(); });
411-
EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<YYLegBuilder>(); });
412-
EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<CMSLegBuilder>(); });
413-
EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<CMBLegBuilder>(); });
414-
EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<DigitalCMSLegBuilder>(); });
415-
EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<CMSSpreadLegBuilder>(); });
416-
EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<DigitalCMSSpreadLegBuilder>(); });
417-
EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<EquityLegBuilder>(); });
418351
}
419352

420353
OREApp::~OREApp() {

OREAnalytics/orea/app/oreapp.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,8 +286,6 @@ class OREApp {
286286

287287
private:
288288
virtual ReportWriter* getReportWriterImpl() const { return new ReportWriter(); }
289-
// to be removed again once we have resolved the auto-registering problem on windows
290-
void dummyRegisterBuildersForWindows();
291289
};
292290

293291
} // namespace analytics

0 commit comments

Comments
 (0)