33#include <boost/make_shared.hpp>
41 const std::vector<Real>&, const bool, const string&, const string&> {
47 string keyImpl(
const string&
id,
const string& key,
const std::vector<Date>& dates,
const Date&
maturity,
48 const std::vector<Real>& strikes,
const bool isAmerican,
const std::string& discountCurve,
49 const std::string& securitySpread)
override {
63 QuantLib::ext::shared_ptr<PricingEngine>
engineImpl(
const string&
id,
const string& key,
const std::vector<Date>& dates,
64 const Date&
maturity,
const std::vector<Real>& strikes,
65 const bool isAmerican,
const std::string& discountCurve,
66 const std::string& securitySpread)
override;
76 QuantLib::ext::shared_ptr<QuantExt::LGM>
model(
const string&
id,
const string& key,
const std::vector<Date>& dates,
77 const Date&
maturity,
const std::vector<Real>& strikes,
78 const bool isAmerican);
87 QuantLib::ext::shared_ptr<PricingEngine>
engineImpl(
const string&
id,
const string& key,
const std::vector<Date>& dates,
88 const Date&
maturity,
const std::vector<Real>& strikes,
89 const bool isAmerican,
const std::string& discountCurve,
90 const std::string& securitySpread)
override;
99 QuantLib::ext::shared_ptr<PricingEngine>
engineImpl(
const string&
id,
const string& key,
const std::vector<Date>& dates,
100 const Date&
maturity,
const std::vector<Real>& strikes,
101 const bool isAmerican,
const std::string& discountCurve,
102 const std::string& securitySpread)
override;
111 QuantLib::ext::shared_ptr<PricingEngine>
engineImpl(
const string&
id,
const string& key,
const std::vector<Date>& dates,
112 const Date&
maturity,
const std::vector<Real>& strikes,
113 const bool isAmerican,
const std::string& discountCurve,
114 const std::string& securitySpread)
override;
121 const std::vector<Date>& simulationDates)
125 string keyImpl(
const string&
id,
const string& ccy,
const std::vector<Date>& dates,
const Date&
maturity,
126 const std::vector<Real>& strikes,
const bool isAmerican,
const std::string& discountCurve,
127 const std::string& securitySpread)
override {
128 return ccy +
"_" + std::to_string(isAmerican) + discountCurve + securitySpread;
130 QuantLib::ext::shared_ptr<PricingEngine>
engineImpl(
const string&
id,
const string& key,
const std::vector<Date>& dates,
131 const Date&
maturity,
const std::vector<Real>& strikes,
132 const bool isAmerican,
const std::string& discountCurve,
133 const std::string& securitySpread)
override;
135 const QuantLib::ext::shared_ptr<QuantExt::CrossAssetModel>
cam_;
Abstract template engine builder class.
Abstract template EngineBuilder class that can cache engines and coupon pricers.
const string & engine() const
Return the engine name.
const set< string > & tradeTypes() const
Return the possible trade types.
const string & model() const
Return the model name.
European Swaption Engine Builder.
EuropeanSwaptionEngineBuilder()
QuantLib::ext::shared_ptr< PricingEngine > engineImpl(const string &id, const string &key, const std::vector< Date > &dates, const Date &maturity, const std::vector< Real > &strikes, const bool isAmerican, const std::string &discountCurve, const std::string &securitySpread) override
const std::vector< Date > simulationDates_
string keyImpl(const string &id, const string &ccy, const std::vector< Date > &dates, const Date &maturity, const std::vector< Real > &strikes, const bool isAmerican, const std::string &discountCurve, const std::string &securitySpread) override
const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > cam_
QuantLib::ext::shared_ptr< PricingEngine > engineImpl(const string &id, const string &key, const std::vector< Date > &dates, const Date &maturity, const std::vector< Real > &strikes, const bool isAmerican, const std::string &discountCurve, const std::string &securitySpread) override
LGMAmcSwaptionEngineBuilder(const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > &cam, const std::vector< Date > &simulationDates)
Implementation of BermudanAmericanSwaptionEngineBuilder using LGM FD pricer.
LGMFDSwaptionEngineBuilder()
QuantLib::ext::shared_ptr< PricingEngine > engineImpl(const string &id, const string &key, const std::vector< Date > &dates, const Date &maturity, const std::vector< Real > &strikes, const bool isAmerican, const std::string &discountCurve, const std::string &securitySpread) override
Implementation of BermudanAmericanSwaptionEngineBuilder using LGM Grid pricer.
LGMGridSwaptionEngineBuilder()
QuantLib::ext::shared_ptr< PricingEngine > engineImpl(const string &id, const string &key, const std::vector< Date > &dates, const Date &maturity, const std::vector< Real > &strikes, const bool isAmerican, const std::string &discountCurve, const std::string &securitySpread) override
Implementation of LGMBermudanAmericanSwaptionEngineBuilder using MC pricer.
QuantLib::ext::shared_ptr< PricingEngine > engineImpl(const string &id, const string &key, const std::vector< Date > &dates, const Date &maturity, const std::vector< Real > &strikes, const bool isAmerican, const std::string &discountCurve, const std::string &securitySpread) override
LGMMCSwaptionEngineBuilder()
Abstract LGMSwaptionEngineBuilder class.
LGMSwaptionEngineBuilder(const string &engine)
Swaption engine builder base class.
SwaptionEngineBuilder(const string &model, const string &engine, const set< string > &tradeTypes)
string keyImpl(const string &id, const string &key, const std::vector< Date > &dates, const Date &maturity, const std::vector< Real > &strikes, const bool isAmerican, const std::string &discountCurve, const std::string &securitySpread) override
Classes and functions for log message handling.
Serializable Credit Default Swap.