|
18 | 18 |
|
19 | 19 | #include <orea/app/initbuilders.hpp> |
20 | 20 |
|
| 21 | +#include <ored/model/calibrationinstrumentfactory.hpp> |
| 22 | +#include <ored/model/calibrationinstruments/cpicapfloor.hpp> |
| 23 | +#include <ored/model/calibrationinstruments/yoycapfloor.hpp> |
| 24 | +#include <ored/model/calibrationinstruments/yoyswap.hpp> |
21 | 25 | #include <ored/portfolio/commoditylegdata.hpp> |
22 | 26 | #include <ored/portfolio/durationadjustedcmslegdata.hpp> |
23 | 27 | #include <ored/portfolio/equityfxlegdata.hpp> |
|
30 | 34 | #define REG_LEGDATA(NAME, CLASS) \ |
31 | 35 | ore::data::LegDataFactory::instance().addBuilder(NAME, &ore::data::createLegData<CLASS>); |
32 | 36 |
|
| 37 | +#define REG_CALIBRATION_INSTR(NAME, CLASS) \ |
| 38 | + ore::data::CalibrationInstrumentFactory::instance().addBuilder(NAME, \ |
| 39 | + &ore::data::createCalibrationInstrument<CLASS>); |
| 40 | + |
33 | 41 | namespace ore::analytics { |
34 | 42 |
|
35 | 43 | void initBuilders() { |
@@ -60,6 +68,10 @@ void initBuilders() { |
60 | 68 | REG_LEGDATA("CommodityFloating", ore::data::CommodityFloatingLegData) |
61 | 69 | REG_LEGDATA("DurationAdjustedCMS", ore::data::DurationAdjustedCmsLegData) |
62 | 70 | REG_LEGDATA("EquityMargin", ore::data::EquityMarginLegData) |
| 71 | + |
| 72 | + REG_CALIBRATION_INSTR("CpiCapFloor", ore::data::CpiCapFloor); |
| 73 | + REG_CALIBRATION_INSTR("YoYCapFloor", ore::data::YoYCapFloor); |
| 74 | + REG_CALIBRATION_INSTR("YoYSwap", ore::data::YoYSwap); |
63 | 75 | } |
64 | 76 |
|
65 | 77 | } // namespace ore::analytics |
0 commit comments