|
22 | 22 | #include <ored/model/calibrationinstruments/cpicapfloor.hpp> |
23 | 23 | #include <ored/model/calibrationinstruments/yoycapfloor.hpp> |
24 | 24 | #include <ored/model/calibrationinstruments/yoyswap.hpp> |
| 25 | +#include <ored/portfolio/asianoption.hpp> |
| 26 | +#include <ored/portfolio/barrieroption.hpp> |
| 27 | +#include <ored/portfolio/barrieroptionwrapper.hpp> |
| 28 | +#include <ored/portfolio/bond.hpp> |
| 29 | +#include <ored/portfolio/bondoption.hpp> |
| 30 | +#include <ored/portfolio/bondrepo.hpp> |
| 31 | +#include <ored/portfolio/bondtotalreturnswap.hpp> |
| 32 | +#include <ored/portfolio/capfloor.hpp> |
| 33 | +#include <ored/portfolio/cdo.hpp> |
| 34 | +#include <ored/portfolio/cliquetoption.hpp> |
| 35 | +#include <ored/portfolio/commodityapo.hpp> |
| 36 | +#include <ored/portfolio/commoditydigitalapo.hpp> |
| 37 | +#include <ored/portfolio/commoditydigitaloption.hpp> |
| 38 | +#include <ored/portfolio/commodityforward.hpp> |
| 39 | +#include <ored/portfolio/commoditylegbuilder.hpp> |
25 | 40 | #include <ored/portfolio/commoditylegdata.hpp> |
| 41 | +#include <ored/portfolio/commodityoption.hpp> |
| 42 | +#include <ored/portfolio/commodityoptionstrip.hpp> |
| 43 | +#include <ored/portfolio/commodityspreadoption.hpp> |
| 44 | +#include <ored/portfolio/commodityswap.hpp> |
| 45 | +#include <ored/portfolio/commodityswaption.hpp> |
| 46 | +#include <ored/portfolio/compositeinstrumentwrapper.hpp> |
| 47 | +#include <ored/portfolio/compositetrade.hpp> |
26 | 48 | #include <ored/portfolio/convertiblebondreferencedata.hpp> |
| 49 | +#include <ored/portfolio/creditdefaultswap.hpp> |
| 50 | +#include <ored/portfolio/creditdefaultswapoption.hpp> |
| 51 | +#include <ored/portfolio/creditlinkedswap.hpp> |
| 52 | +#include <ored/portfolio/crosscurrencyswap.hpp> |
| 53 | +#include <ored/portfolio/durationadjustedcmslegbuilder.hpp> |
27 | 54 | #include <ored/portfolio/durationadjustedcmslegdata.hpp> |
| 55 | +#include <ored/portfolio/equitybarrieroption.hpp> |
| 56 | +#include <ored/portfolio/equityderivative.hpp> |
| 57 | +#include <ored/portfolio/equitydigitaloption.hpp> |
| 58 | +#include <ored/portfolio/equitydoublebarrieroption.hpp> |
| 59 | +#include <ored/portfolio/equitydoubletouchoption.hpp> |
| 60 | +#include <ored/portfolio/equityeuropeanbarrieroption.hpp> |
| 61 | +#include <ored/portfolio/equityforward.hpp> |
| 62 | +#include <ored/portfolio/equityfuturesoption.hpp> |
| 63 | +#include <ored/portfolio/equityfxlegbuilder.hpp> |
28 | 64 | #include <ored/portfolio/equityfxlegdata.hpp> |
| 65 | +#include <ored/portfolio/equityoption.hpp> |
| 66 | +#include <ored/portfolio/equityswap.hpp> |
| 67 | +#include <ored/portfolio/equitytouchoption.hpp> |
| 68 | +#include <ored/portfolio/failedtrade.hpp> |
| 69 | +#include <ored/portfolio/forwardbond.hpp> |
| 70 | +#include <ored/portfolio/forwardrateagreement.hpp> |
| 71 | +#include <ored/portfolio/fxaverageforward.hpp> |
| 72 | +#include <ored/portfolio/fxbarrieroption.hpp> |
| 73 | +#include <ored/portfolio/fxderivative.hpp> |
| 74 | +#include <ored/portfolio/fxdigitalbarrieroption.hpp> |
| 75 | +#include <ored/portfolio/fxdigitaloption.hpp> |
| 76 | +#include <ored/portfolio/fxdoublebarrieroption.hpp> |
| 77 | +#include <ored/portfolio/fxdoubletouchoption.hpp> |
| 78 | +#include <ored/portfolio/fxeuropeanbarrieroption.hpp> |
| 79 | +#include <ored/portfolio/fxforward.hpp> |
| 80 | +#include <ored/portfolio/fxkikobarrieroption.hpp> |
| 81 | +#include <ored/portfolio/fxoption.hpp> |
| 82 | +#include <ored/portfolio/fxswap.hpp> |
| 83 | +#include <ored/portfolio/fxtouchoption.hpp> |
| 84 | +#include <ored/portfolio/indexcreditdefaultswap.hpp> |
| 85 | +#include <ored/portfolio/indexcreditdefaultswapdata.hpp> |
| 86 | +#include <ored/portfolio/indexcreditdefaultswapoption.hpp> |
| 87 | +#include <ored/portfolio/indexing.hpp> |
| 88 | +#include <ored/portfolio/inflationswap.hpp> |
| 89 | +#include <ored/portfolio/instrumentwrapper.hpp> |
29 | 90 | #include <ored/portfolio/legdata.hpp> |
30 | 91 | #include <ored/portfolio/legdatafactory.hpp> |
| 92 | +#include <ored/portfolio/multilegoption.hpp> |
31 | 93 | #include <ored/portfolio/referencedata.hpp> |
32 | 94 | #include <ored/portfolio/referencedatafactory.hpp> |
| 95 | +#include <ored/portfolio/swap.hpp> |
| 96 | +#include <ored/portfolio/swaption.hpp> |
| 97 | +#include <ored/portfolio/vanillaoption.hpp> |
| 98 | +#include <ored/portfolio/varianceswap.hpp> |
33 | 99 |
|
34 | 100 | #include <boost/thread/lock_types.hpp> |
35 | 101 | #include <boost/thread/shared_mutex.hpp> |
|
47 | 113 |
|
48 | 114 | #define REG_BONDBUILDER(NAME, CLASS) ore::data::BondFactory::instance().addBuilder(NAME, boost::make_shared<CLASS>()); |
49 | 115 |
|
| 116 | +#define REG_TRADEBUILDER(NAME, CLASS) \ |
| 117 | + ore::data::TradeFactory::instance().addBuilder(NAME, boost::make_shared<ore::data::TradeBuilder<CLASS>>()); |
| 118 | + |
50 | 119 | namespace ore::analytics { |
51 | 120 |
|
52 | 121 | void initBuilders() { |
@@ -92,6 +161,65 @@ void initBuilders() { |
92 | 161 | REG_REFDATUM("ConvertibleBond", ore::data::BondBasketReferenceDatum) |
93 | 162 |
|
94 | 163 | REG_BONDBUILDER("Bond", ore::data::VanillaBondBuilder) |
| 164 | + |
| 165 | + REG_TRADEBUILDER("CrossCurrencySwap", ore::data::CrossCurrencySwap) |
| 166 | + REG_TRADEBUILDER("CommoditySpreadOption", ore::data::CommoditySpreadOption) |
| 167 | + REG_TRADEBUILDER("EquityFutureOption", ore::data::EquityFutureOption) |
| 168 | + REG_TRADEBUILDER("BondTRS", ore::data::BondTRS) |
| 169 | + REG_TRADEBUILDER("CommodityOption", ore::data::CommodityOption) |
| 170 | + REG_TRADEBUILDER("CapFloor", ore::data::CapFloor) |
| 171 | + REG_TRADEBUILDER("FxDigitalOption", ore::data::FxDigitalOption) |
| 172 | + REG_TRADEBUILDER("CommoditySwaption", ore::data::CommoditySwaption) |
| 173 | + REG_TRADEBUILDER("FxDigitalBarrierOption", ore::data::FxDigitalBarrierOption) |
| 174 | + REG_TRADEBUILDER("ForwardRateAgreement", ore::data::ForwardRateAgreement) |
| 175 | + REG_TRADEBUILDER("CommodityDigitalAveragePriceOption", ore::data::CommodityDigitalAveragePriceOption) |
| 176 | + REG_TRADEBUILDER("CommoditySwap", ore::data::CommoditySwap) |
| 177 | + REG_TRADEBUILDER("EquitySwap", ore::data::EquitySwap) |
| 178 | + REG_TRADEBUILDER("FxForward", ore::data::FxForward) |
| 179 | + REG_TRADEBUILDER("BondRepo", ore::data::BondRepo) |
| 180 | + REG_TRADEBUILDER("FxAverageForward", ore::data::FxAverageForward) |
| 181 | + REG_TRADEBUILDER("FxEuropeanBarrierOption", ore::data::FxEuropeanBarrierOption) |
| 182 | + REG_TRADEBUILDER("FxTouchOption", ore::data::FxTouchOption) |
| 183 | + REG_TRADEBUILDER("EquityAsianOption", ore::data::EquityAsianOption) |
| 184 | + REG_TRADEBUILDER("FxAsianOption", ore::data::FxAsianOption) |
| 185 | + REG_TRADEBUILDER("CommodityAsianOption", ore::data::CommodityAsianOption) |
| 186 | + REG_TRADEBUILDER("Swaption", ore::data::Swaption) |
| 187 | + REG_TRADEBUILDER("EquityVarianceSwap", ore::data::EqVarSwap) |
| 188 | + REG_TRADEBUILDER("FxVarianceSwap", ore::data::FxVarSwap) |
| 189 | + REG_TRADEBUILDER("CommodityVarianceSwap", ore::data::ComVarSwap) |
| 190 | + REG_TRADEBUILDER("FxDoubleTouchOption", ore::data::FxDoubleTouchOption) |
| 191 | + REG_TRADEBUILDER("FxDoubleBarrierOption", ore::data::FxDoubleBarrierOption) |
| 192 | + REG_TRADEBUILDER("EquityBarrierOption", ore::data::EquityBarrierOption) |
| 193 | + REG_TRADEBUILDER("FxSwap", ore::data::FxSwap) |
| 194 | + REG_TRADEBUILDER("EquityTouchOption", ore::data::EquityTouchOption) |
| 195 | + REG_TRADEBUILDER("EquityDigitalOption", ore::data::EquityDigitalOption) |
| 196 | + REG_TRADEBUILDER("CompositeTrade", ore::data::CompositeTrade) |
| 197 | + REG_TRADEBUILDER("MultiLegOption", ore::data::MultiLegOption) |
| 198 | + REG_TRADEBUILDER("Swap", ore::data::Swap) |
| 199 | + REG_TRADEBUILDER("IndexCreditDefaultSwap", ore::data::IndexCreditDefaultSwap) |
| 200 | + REG_TRADEBUILDER("CommodityForward", ore::data::CommodityForward) |
| 201 | + REG_TRADEBUILDER("EquityCliquetOption", ore::data::EquityCliquetOption) |
| 202 | + REG_TRADEBUILDER("CommodityDigitalOption", ore::data::CommodityDigitalOption) |
| 203 | + REG_TRADEBUILDER("EquityForward", ore::data::EquityForward) |
| 204 | + REG_TRADEBUILDER("IndexCreditDefaultSwapOption", ore::data::IndexCreditDefaultSwapOption) |
| 205 | + REG_TRADEBUILDER("CommodityAveragePriceOption", ore::data::CommodityAveragePriceOption) |
| 206 | + REG_TRADEBUILDER("CreditDefaultSwapOption", ore::data::CreditDefaultSwapOption) |
| 207 | + REG_TRADEBUILDER("FailedTrade", ore::data::FailedTrade) |
| 208 | + REG_TRADEBUILDER("ForwardBond", ore::data::ForwardBond) |
| 209 | + REG_TRADEBUILDER("EquityDoubleTouchOption", ore::data::EquityDoubleTouchOption) |
| 210 | + REG_TRADEBUILDER("CommodityOptionStrip", ore::data::CommodityOptionStrip) |
| 211 | + REG_TRADEBUILDER("SyntheticCDO", ore::data::SyntheticCDO) |
| 212 | + REG_TRADEBUILDER("Bond", ore::data::Bond) |
| 213 | + REG_TRADEBUILDER("CreditLinkedSwap", ore::data::CreditLinkedSwap) |
| 214 | + REG_TRADEBUILDER("EquityEuropeanBarrierOption", ore::data::EquityEuropeanBarrierOption) |
| 215 | + REG_TRADEBUILDER("InflationSwap", ore::data::InflationSwap) |
| 216 | + REG_TRADEBUILDER("EquityDoubleBarrierOption", ore::data::EquityDoubleBarrierOption) |
| 217 | + REG_TRADEBUILDER("BondOption", ore::data::BondOption) |
| 218 | + REG_TRADEBUILDER("CreditDefaultSwap", ore::data::CreditDefaultSwap) |
| 219 | + REG_TRADEBUILDER("FxKIKOBarrierOption", ore::data::FxKIKOBarrierOption) |
| 220 | + REG_TRADEBUILDER("FxBarrierOption", ore::data::FxBarrierOption) |
| 221 | + REG_TRADEBUILDER("EquityOption", ore::data::EquityOption) |
| 222 | + REG_TRADEBUILDER("FxOption", ore::data::FxOption) |
95 | 223 | } |
96 | 224 |
|
97 | 225 | } // namespace ore::analytics |
0 commit comments