|
29 | 29 | #include <ored/portfolio/bondoption.hpp> |
30 | 30 | #include <ored/portfolio/bondrepo.hpp> |
31 | 31 | #include <ored/portfolio/bondtotalreturnswap.hpp> |
| 32 | +#include <ored/portfolio/builders/asianoption.hpp> |
| 33 | +#include <ored/portfolio/builders/bond.hpp> |
| 34 | +#include <ored/portfolio/builders/bondoption.hpp> |
| 35 | +#include <ored/portfolio/builders/bondrepo.hpp> |
| 36 | +#include <ored/portfolio/builders/bondtotalreturnswap.hpp> |
| 37 | +#include <ored/portfolio/builders/cachingenginebuilder.hpp> |
| 38 | +#include <ored/portfolio/builders/capfloor.hpp> |
| 39 | +#include <ored/portfolio/builders/capflooredaverageonindexedcouponleg.hpp> |
| 40 | +#include <ored/portfolio/builders/capflooredcpileg.hpp> |
| 41 | +#include <ored/portfolio/builders/capfloorediborleg.hpp> |
| 42 | +#include <ored/portfolio/builders/capfloorednonstandardyoyleg.hpp> |
| 43 | +#include <ored/portfolio/builders/capflooredovernightindexedcouponleg.hpp> |
| 44 | +#include <ored/portfolio/builders/capflooredyoyleg.hpp> |
| 45 | +#include <ored/portfolio/builders/cdo.hpp> |
| 46 | +#include <ored/portfolio/builders/cliquetoption.hpp> |
| 47 | +#include <ored/portfolio/builders/cms.hpp> |
| 48 | +#include <ored/portfolio/builders/cmsspread.hpp> |
| 49 | +#include <ored/portfolio/builders/commodityapo.hpp> |
| 50 | +#include <ored/portfolio/builders/commodityapomodelbuilder.hpp> |
| 51 | +#include <ored/portfolio/builders/commodityasianoption.hpp> |
| 52 | +#include <ored/portfolio/builders/commodityforward.hpp> |
| 53 | +#include <ored/portfolio/builders/commodityoption.hpp> |
| 54 | +#include <ored/portfolio/builders/commodityspreadoption.hpp> |
| 55 | +#include <ored/portfolio/builders/commodityswap.hpp> |
| 56 | +#include <ored/portfolio/builders/commodityswaption.hpp> |
| 57 | +#include <ored/portfolio/builders/cpicapfloor.hpp> |
| 58 | +#include <ored/portfolio/builders/creditdefaultswap.hpp> |
| 59 | +#include <ored/portfolio/builders/creditdefaultswapoption.hpp> |
| 60 | +#include <ored/portfolio/builders/creditlinkedswap.hpp> |
| 61 | +#include <ored/portfolio/builders/currencyswap.hpp> |
| 62 | +#include <ored/portfolio/builders/durationadjustedcms.hpp> |
| 63 | +#include <ored/portfolio/builders/equityasianoption.hpp> |
| 64 | +#include <ored/portfolio/builders/equitybarrieroption.hpp> |
| 65 | +#include <ored/portfolio/builders/equitycompositeoption.hpp> |
| 66 | +#include <ored/portfolio/builders/equitydigitaloption.hpp> |
| 67 | +#include <ored/portfolio/builders/equitydoublebarrieroption.hpp> |
| 68 | +#include <ored/portfolio/builders/equitydoubletouchoption.hpp> |
| 69 | +#include <ored/portfolio/builders/equityforward.hpp> |
| 70 | +#include <ored/portfolio/builders/equityfuturesoption.hpp> |
| 71 | +#include <ored/portfolio/builders/equityoption.hpp> |
| 72 | +#include <ored/portfolio/builders/equitytouchoption.hpp> |
| 73 | +#include <ored/portfolio/builders/forwardbond.hpp> |
| 74 | +#include <ored/portfolio/builders/fxasianoption.hpp> |
| 75 | +#include <ored/portfolio/builders/fxbarrieroption.hpp> |
| 76 | +#include <ored/portfolio/builders/fxdigitalbarrieroption.hpp> |
| 77 | +#include <ored/portfolio/builders/fxdigitaloption.hpp> |
| 78 | +#include <ored/portfolio/builders/fxdoublebarrieroption.hpp> |
| 79 | +#include <ored/portfolio/builders/fxdoubletouchoption.hpp> |
| 80 | +#include <ored/portfolio/builders/fxforward.hpp> |
| 81 | +#include <ored/portfolio/builders/fxoption.hpp> |
| 82 | +#include <ored/portfolio/builders/fxtouchoption.hpp> |
| 83 | +#include <ored/portfolio/builders/indexcreditdefaultswap.hpp> |
| 84 | +#include <ored/portfolio/builders/indexcreditdefaultswapoption.hpp> |
| 85 | +#include <ored/portfolio/builders/multilegoption.hpp> |
| 86 | +#include <ored/portfolio/builders/quantoequityoption.hpp> |
| 87 | +#include <ored/portfolio/builders/quantovanillaoption.hpp> |
| 88 | +#include <ored/portfolio/builders/swap.hpp> |
| 89 | +#include <ored/portfolio/builders/swaption.hpp> |
| 90 | +#include <ored/portfolio/builders/vanillaoption.hpp> |
| 91 | +#include <ored/portfolio/builders/varianceswap.hpp> |
| 92 | +#include <ored/portfolio/builders/yoycapfloor.hpp> |
32 | 93 | #include <ored/portfolio/capfloor.hpp> |
33 | 94 | #include <ored/portfolio/cdo.hpp> |
34 | 95 | #include <ored/portfolio/cliquetoption.hpp> |
|
120 | 181 | #define REG_LEGBUILDER(NAME, CLASS) \ |
121 | 182 | ore::data::EngineBuilderFactory::instance().addLegBuilder([]() { return boost::make_shared<CLASS>(); }); |
122 | 183 |
|
| 184 | +#define REG_AMC_ENGINE_BUILDER(CLASS) \ |
| 185 | + ore::data::EngineBuilderFactory::instance().addAmcEngineBuilder( \ |
| 186 | + [](const boost::shared_ptr<QuantExt::CrossAssetModel>& cam, const std::vector<ore::data::Date>& grid) { \ |
| 187 | + return boost::make_shared<CLASS>(cam, grid); \ |
| 188 | + }); |
| 189 | + |
123 | 190 | namespace ore::analytics { |
124 | 191 |
|
125 | 192 | void initBuilders() { |
@@ -241,6 +308,11 @@ void initBuilders() { |
241 | 308 | REG_LEGBUILDER("DigitalCMSSpreadLegBuilder", ore::data::DigitalCMSSpreadLegBuilder) |
242 | 309 | REG_LEGBUILDER("EquityLegBuilder", ore::data::EquityLegBuilder) |
243 | 310 | REG_LEGBUILDER("EquityMarginLegBuilder", ore::data::EquityMarginLegBuilder) |
| 311 | + |
| 312 | + REG_AMC_ENGINE_BUILDER(ore::data::CamAmcCurrencySwapEngineBuilder) |
| 313 | + REG_AMC_ENGINE_BUILDER(ore::data::LgmAmcBermudanSwaptionEngineBuilder) |
| 314 | + REG_AMC_ENGINE_BUILDER(ore::data::CamAmcSwapEngineBuilder) |
| 315 | + REG_AMC_ENGINE_BUILDER(ore::data::CamAmcFxOptionEngineBuilder) |
244 | 316 | } |
245 | 317 |
|
246 | 318 | } // namespace ore::analytics |
0 commit comments