26#include <boost/make_shared.hpp>
31QuantLib::ext::shared_ptr<FloatingRateCouponPricer>
33 const QuantLib::Period& rateComputationPeriod) {
36 QL_REQUIRE(!yts.empty(),
"engineFactory error: yield term structure not found for currency " << ccyCode);
41 auto [volIndex, volRateComputationPeriod] =
43 if (volIndex == index && volRateComputationPeriod != rateComputationPeriod &&
44 volRateComputationPeriod != 0 * Days && rateComputationPeriod != 0 * Days) {
45 ovs = Handle<OptionletVolatilityStructure>(QuantLib::ext::make_shared<QuantExt::ProxyOptionletVolatility>(
48 rateComputationPeriod));
51 return QuantLib::ext::make_shared<QuantExt::BlackOvernightIndexedCouponPricer>(ovs);
55 const QuantLib::Period& rateComputationPeriod) {
builder that returns an engine to price capped floored ibor legs
QuantLib::ext::shared_ptr< FloatingRateCouponPricer > engineImpl(const string &index, const QuantLib::Period &rateComputationPeriod) override
string keyImpl(const string &index, const QuantLib::Period &rateComputationPeriod) override
QuantLib::ext::shared_ptr< Market > market_
const string & configuration(const MarketContext &key)
Return a configuration (or the default one if key not found)
QuantLib::ext::shared_ptr< IborIndex > parseIborIndex(const string &s, const Handle< YieldTermStructure > &h)
Convert std::string to QuantLib::IborIndex.
Classes and functions for log message handling.
std::string to_string(const LocationInfo &l)
Serializable Credit Default Swap.
string conversion utilities