Cash flow dependent on a single commodity spot price or futures settlement price on a given pricing date. More...
#include <qle/cashflows/commodityindexedcashflow.hpp>
Inheritance diagram for CommodityIndexedCashFlow:Public Types | |
| enum class | PaymentTiming { InAdvance , InArrears , RelativeToExpiry } |
Public Member Functions | |
| CommodityIndexedCashFlow (QuantLib::Real quantity, const QuantLib::Date &pricingDate, const QuantLib::Date &paymentDate, const ext::shared_ptr< CommodityIndex > &index, QuantLib::Real spread=0.0, QuantLib::Real gearing=1.0, bool useFuturePrice=false, const Date &contractDate=Date(), const ext::shared_ptr< FutureExpiryCalculator > &calc=nullptr, QuantLib::Natural dailyExpiryOffset=QuantLib::Null< QuantLib::Natural >(), const ext::shared_ptr< FxIndex > &fxIndex=nullptr) | |
Constructor taking an explicit pricingDate and paymentDate. | |
| CommodityIndexedCashFlow (QuantLib::Real quantity, const QuantLib::Date &startDate, const QuantLib::Date &endDate, const ext::shared_ptr< CommodityIndex > &index, QuantLib::Natural paymentLag, const QuantLib::Calendar &paymentCalendar, QuantLib::BusinessDayConvention paymentConvention, QuantLib::Natural pricingLag, const QuantLib::Calendar &pricingLagCalendar, QuantLib::Real spread=0.0, QuantLib::Real gearing=1.0, PaymentTiming paymentTiming=PaymentTiming::InArrears, bool isInArrears=true, bool useFuturePrice=false, bool useFutureExpiryDate=true, QuantLib::Natural futureMonthOffset=0, const ext::shared_ptr< FutureExpiryCalculator > &calc=nullptr, const QuantLib::Date &paymentDateOverride=Date(), const QuantLib::Date &pricingDateOverride=Date(), QuantLib::Natural dailyExpiryOffset=QuantLib::Null< QuantLib::Natural >(), const ext::shared_ptr< FxIndex > &fxIndex=nullptr, const bool spotAveragingFrontCoupon=false, const QuantLib::Calendar &pricingCalendar=QuantLib::Calendar(), bool includeEndDate=true, bool excludeStartDate=true) | |
Inspectors | |
| const QuantLib::Date & | pricingDate () const |
| bool | useFutureExpiryDate () const |
| QuantLib::Natural | futureMonthOffset () const |
| QuantLib::Real | periodQuantity () const override |
| QuantLib::Natural | dailyExpiryOffset () const |
CommodityCashFlow interface | |
| const std::vector< std::pair< QuantLib::Date, ext::shared_ptr< CommodityIndex > > > & | indices () const override |
| Return a map of pricing date and corresponding commodity index. | |
| const ext::shared_ptr< CommodityIndex > & | spotIndex () const |
| const std::set< QuantLib::Date > & | spotAveragingPricingDates () const |
| bool | isAveragingFrontMonthCashflow (const QuantLib::Date &asof) const |
| QuantLib::Date | lastPricingDate () const override |
| QuantLib::Real | fixing () const override |
Event interface | |
| QuantLib::Date | date () const override |
CashFlow interface | |
| QuantLib::Real | amount () const override |
Public Member Functions inherited from CommodityCashFlow | |
| CommodityCashFlow (QuantLib::Real quantity, QuantLib::Real spread, QuantLib::Real gearing, bool useFuturePrice, const ext::shared_ptr< CommodityIndex > &index, const ext::shared_ptr< FxIndex > &fxIndex) | |
| QuantLib::Real | quantity () const |
| QuantLib::Real | spread () const |
| QuantLib::Real | gearing () const |
| bool | useFuturePrice () const |
| ext::shared_ptr< CommodityIndex > | index () const |
| ext::shared_ptr< FxIndex > | fxIndex () const |
| void | accept (QuantLib::AcyclicVisitor &v) override |
Visitability | |
| void | accept (QuantLib::AcyclicVisitor &v) override |
| void | setPeriodQuantity (QuantLib::Real periodQuantity) |
| Allow the full calculation period quantity to be updated. | |
Additional Inherited Members | |
Protected Attributes inherited from CommodityCashFlow | |
| QuantLib::Real | quantity_ |
| QuantLib::Real | spread_ |
| QuantLib::Real | gearing_ |
| bool | useFuturePrice_ |
| ext::shared_ptr< CommodityIndex > | index_ |
| ext::shared_ptr< FxIndex > | fxIndex_ |
| QuantLib::Real | amount_ |
Cash flow dependent on a single commodity spot price or futures settlement price on a given pricing date.
| CommodityIndexedCashFlow | ( | QuantLib::Real | quantity, |
| const QuantLib::Date & | startDate, | ||
| const QuantLib::Date & | endDate, | ||
| const ext::shared_ptr< CommodityIndex > & | index, | ||
| QuantLib::Natural | paymentLag, | ||
| const QuantLib::Calendar & | paymentCalendar, | ||
| QuantLib::BusinessDayConvention | paymentConvention, | ||
| QuantLib::Natural | pricingLag, | ||
| const QuantLib::Calendar & | pricingLagCalendar, | ||
| QuantLib::Real | spread = 0.0, |
||
| QuantLib::Real | gearing = 1.0, |
||
| PaymentTiming | paymentTiming = PaymentTiming::InArrears, |
||
| bool | isInArrears = true, |
||
| bool | useFuturePrice = false, |
||
| bool | useFutureExpiryDate = true, |
||
| QuantLib::Natural | futureMonthOffset = 0, |
||
| const ext::shared_ptr< FutureExpiryCalculator > & | calc = nullptr, |
||
| const QuantLib::Date & | paymentDateOverride = Date(), |
||
| const QuantLib::Date & | pricingDateOverride = Date(), |
||
| QuantLib::Natural | dailyExpiryOffset = QuantLib::Null< QuantLib::Natural >(), |
||
| const ext::shared_ptr< FxIndex > & | fxIndex = nullptr, |
||
| const bool | spotAveragingFrontCoupon = false, |
||
| const QuantLib::Calendar & | pricingCalendar = QuantLib::Calendar(), |
||
| bool | includeEndDate = true, |
||
| bool | excludeStartDate = true |
||
| ) |
Constructor taking a period startDate, endDate and some conventions. The pricing date and payment date are derived from the start date and end date using the conventions.