Energy basis swap. More...
#include <ql/experimental/commodities/energybasisswap.hpp>
Inherits EnergySwap.
Public Member Functions | |
EnergyBasisSwap (const Calendar &calendar, const ext::shared_ptr< CommodityIndex > &spreadIndex, const ext::shared_ptr< CommodityIndex > &payIndex, const ext::shared_ptr< CommodityIndex > &receiveIndex, bool spreadToPayLeg, const Currency &payCurrency, const Currency &receiveCurrency, const PricingPeriods &pricingPeriods, const CommodityUnitCost &basis, const CommodityType &commodityType, const ext::shared_ptr< SecondaryCosts > &secondaryCosts, const Handle< YieldTermStructure > &payLegTermStructure, const Handle< YieldTermStructure > &receiveLegTermStructure, const Handle< YieldTermStructure > &discountTermStructure) | |
const ext::shared_ptr< CommodityIndex > & | payIndex () const |
const ext::shared_ptr< CommodityIndex > & | receiveIndex () const |
const CommodityUnitCost & | basis () const |
Protected Member Functions | |
void | performCalculations () const |
Protected Attributes | |
ext::shared_ptr< CommodityIndex > | spreadIndex_ |
ext::shared_ptr< CommodityIndex > | payIndex_ |
ext::shared_ptr< CommodityIndex > | receiveIndex_ |
bool | spreadToPayLeg_ |
CommodityUnitCost | basis_ |
Handle< YieldTermStructure > | payLegTermStructure_ |
Handle< YieldTermStructure > | receiveLegTermStructure_ |
Handle< YieldTermStructure > | discountTermStructure_ |
Energy basis swap.
|
protectedvirtual |
In case a pricing engine is not used, this method must be overridden to perform the actual calculations and set any needed results. In case a pricing engine is used, the default implementation can be used.
Reimplemented from Instrument.