47 const std::string& startDate,
const std::string& endDate,
const std::string& paymentCalendar,
48 const std::string& paymentLag,
const std::string& paymentConvention,
const std::string& pricingCalendar,
49 const std::string& paymentDate =
"", QuantLib::Real gearing = 1.0, QuantLib::Spread spread = 0.0,
51 QuantExt::CommodityQuantityFrequency::PerCalculationPeriod,
53 QuantLib::Natural futureMonthOffset = 0, QuantLib::Natural deliveryRollDays = 0,
bool includePeriodEnd =
true,
56 void build(
const QuantLib::ext::shared_ptr<ore::data::EngineFactory>& engineFactory)
override;
59 std::map<AssetClass, std::set<std::string>>
60 underlyingIndices(
const QuantLib::ext::shared_ptr<ReferenceDataManager>& referenceDataManager =
nullptr)
const override;
130 QuantLib::Leg
buildLeg(
const QuantLib::ext::shared_ptr<ore::data::EngineFactory>& engineFactory,
131 const std::string& configuration);
134 void buildStandardOption(
const QuantLib::ext::shared_ptr<ore::data::EngineFactory>& engineFactory,
const QuantLib::Leg& leg,
135 QuantLib::Date exerciseDate);
138 void buildApo(
const QuantLib::ext::shared_ptr<ore::data::EngineFactory>& engineFactory,
const QuantLib::Leg& leg,
139 QuantLib::Date exerciseDate,
const QuantLib::ext::shared_ptr<ore::data::EngineBuilder>& builder);
const boost::shared_ptr< FxIndex > & fxIndex() const
boost::shared_ptr< FxIndex > fxIndex_
Serializable obejct holding barrier data.
QuantLib::Spread spread() const
const std::string & currency() const
const std::string & name() const
QuantExt::CommodityQuantityFrequency commodityQuantityFrequency_
const std::string & pricingCalendar() const
bool includePeriodEnd() const
const ore::data::OptionData & optionData()
CommodityPriceType priceType_
QuantLib::Natural futureMonthOffset_
QuantExt::CommodityQuantityFrequency commodityQuantityFrequency() const
const std::string & paymentCalendar() const
ore::data::OptionData optionData_
const std::string & paymentDate() const
QuantLib::Real gearing() const
void buildApo(const QuantLib::ext::shared_ptr< ore::data::EngineFactory > &engineFactory, const QuantLib::Leg &leg, QuantLib::Date exerciseDate, const QuantLib::ext::shared_ptr< ore::data::EngineBuilder > &builder)
Build an average price option.
ore::data::BarrierData barrierData_
const ore::data::BarrierData & barrierData()
std::string paymentCalendar_
CommodityAveragePriceOption()
const std::string & paymentLag() const
CommodityPriceType priceType() const
const std::string & endDate() const
const std::string & paymentConvention() const
QuantLib::Natural deliveryRollDays() const
std::string pricingCalendar_
void buildStandardOption(const QuantLib::ext::shared_ptr< ore::data::EngineFactory > &engineFactory, const QuantLib::Leg &leg, QuantLib::Date exerciseDate)
Build a standard option.
QuantLib::Natural futureMonthOffset() const
QuantLib::Leg buildLeg(const QuantLib::ext::shared_ptr< ore::data::EngineFactory > &engineFactory, const std::string &configuration)
CommodityPayRelativeTo commodityPayRelativeTo_
QuantLib::Real quantity() const
QuantLib::Natural deliveryRollDays_
const std::string & startDate() const
bool hasCashflows() const override
const std::string & fxIndex() const
CommodityPayRelativeTo commodityPayRelativeTo() const
CommodityAveragePriceOption(const ore::data::Envelope &envelope, const ore::data::OptionData &optionData, QuantLib::Real quantity, QuantLib::Real strike, const std::string ¤cy, const std::string &name, CommodityPriceType priceType, const std::string &startDate, const std::string &endDate, const std::string &paymentCalendar, const std::string &paymentLag, const std::string &paymentConvention, const std::string &pricingCalendar, const std::string &paymentDate="", QuantLib::Real gearing=1.0, QuantLib::Spread spread=0.0, QuantExt::CommodityQuantityFrequency commodityQuantityFrequency=QuantExt::CommodityQuantityFrequency::PerCalculationPeriod, CommodityPayRelativeTo commodityPayRelativeTo=CommodityPayRelativeTo::CalculationPeriodEndDate, QuantLib::Natural futureMonthOffset=0, QuantLib::Natural deliveryRollDays=0, bool includePeriodEnd=true, const BarrierData &barrierData={}, const std::string &fxIndex="")
std::string paymentConvention_
QuantLib::Real strike() const
Serializable object holding generic trade data, reporting dimensions.
Serializable object holding option data.
Small XML Document wrapper class.
leg data for commodity leg types
CommodityQuantityFrequency
Serializable Credit Default Swap.
trade option data model and serialization
base trade data model and serialization