|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
Energy basis swap. More...
#include <energybasisswap.hpp>
Inheritance diagram for EnergyBasisSwap:
Collaboration diagram for EnergyBasisSwap:Public Member Functions | |
| EnergyBasisSwap (const Calendar &calendar, ext::shared_ptr< CommodityIndex > spreadIndex, ext::shared_ptr< CommodityIndex > payIndex, ext::shared_ptr< CommodityIndex > receiveIndex, bool spreadToPayLeg, const Currency &payCurrency, const Currency &receiveCurrency, const PricingPeriods &pricingPeriods, CommodityUnitCost basis, const CommodityType &commodityType, const ext::shared_ptr< SecondaryCosts > &secondaryCosts, Handle< YieldTermStructure > payLegTermStructure, Handle< YieldTermStructure > receiveLegTermStructure, Handle< YieldTermStructure > discountTermStructure) | |
| const ext::shared_ptr< CommodityIndex > & | payIndex () const |
| const ext::shared_ptr< CommodityIndex > & | receiveIndex () const |
| const CommodityUnitCost & | basis () const |
Public Member Functions inherited from EnergySwap | |
| EnergySwap (Calendar calendar, Currency payCurrency, Currency receiveCurrency, PricingPeriods pricingPeriods, const CommodityType &commodityType, const ext::shared_ptr< SecondaryCosts > &secondaryCosts) | |
| bool | isExpired () const override |
| returns whether the instrument might have value greater than zero. More... | |
| const Calendar & | calendar () const |
| const Currency & | payCurrency () const |
| const Currency & | receiveCurrency () const |
| const PricingPeriods & | pricingPeriods () const |
| const EnergyDailyPositions & | dailyPositions () const |
| const CommodityCashFlows & | paymentCashFlows () const |
| const CommodityType & | commodityType () const |
| Quantity | quantity () const override |
Public Member Functions inherited from EnergyCommodity | |
| EnergyCommodity (CommodityType commodityType, const ext::shared_ptr< SecondaryCosts > &secondaryCosts) | |
| virtual Quantity | quantity () const =0 |
| const CommodityType & | commodityType () const |
| void | setupArguments (PricingEngine::arguments *) const override |
| void | fetchResults (const PricingEngine::results *) const override |
Public Member Functions inherited from Commodity | |
| Commodity (ext::shared_ptr< SecondaryCosts > secondaryCosts) | |
| const ext::shared_ptr< SecondaryCosts > & | secondaryCosts () const |
| const SecondaryCostAmounts & | secondaryCostAmounts () const |
| const PricingErrors & | pricingErrors () const |
| void | addPricingError (PricingError::Level errorLevel, const std::string &error, const std::string &detail="") const |
Public Member Functions inherited from Instrument | |
| Instrument () | |
| Real | NPV () const |
| returns the net present value of the instrument. More... | |
| Real | errorEstimate () const |
| returns the error estimate on the NPV when available. More... | |
| const Date & | valuationDate () const |
| returns the date the net present value refers to. More... | |
| template<typename T > | |
| T | result (const std::string &tag) const |
| returns any additional result returned by the pricing engine. More... | |
| const std::map< std::string, ext::any > & | additionalResults () const |
| returns all additional result returned by the pricing engine. More... | |
| void | setPricingEngine (const ext::shared_ptr< PricingEngine > &) |
| set the pricing engine to be used. More... | |
Public Member Functions inherited from LazyObject | |
| LazyObject () | |
| ~LazyObject () override=default | |
| void | update () override |
| bool | isCalculated () const |
| void | forwardFirstNotificationOnly () |
| void | alwaysForwardNotifications () |
| void | recalculate () |
| void | freeze () |
| void | unfreeze () |
Public Member Functions inherited from Observable | |
| Observable ()=default | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| Observable (Observable &&)=delete | |
| Observable & | operator= (Observable &&)=delete |
| virtual | ~Observable ()=default |
| void | notifyObservers () |
Public Member Functions inherited from Observer | |
| Observer ()=default | |
| Observer (const Observer &) | |
| Observer & | operator= (const Observer &) |
| virtual | ~Observer () |
| std::pair< iterator, bool > | registerWith (const ext::shared_ptr< Observable > &) |
| void | registerWithObservables (const ext::shared_ptr< Observer > &) |
| Size | unregisterWith (const ext::shared_ptr< Observable > &) |
| void | unregisterWithAll () |
| virtual void | update ()=0 |
| virtual void | deepUpdate () |
Protected Member Functions | |
| void | performCalculations () const override |
Protected Member Functions inherited from EnergyCommodity | |
| Real | calculateUnitCost (const CommodityType &commodityType, const CommodityUnitCost &unitCost, const Date &evaluationDate) const |
| void | calculateSecondaryCostAmounts (const CommodityType &commodityType, Real totalQuantityValue, const Date &evaluationDate) const |
Protected Member Functions inherited from Instrument | |
| void | calculate () const override |
| virtual void | setupExpired () const |
| void | performCalculations () const override |
Protected Member Functions inherited from LazyObject | |
Additional Inherited Members | |
Public Types inherited from EnergyCommodity | |
| enum | DeliverySchedule { Constant , Window , Hourly , Daily , Weekly , Monthly , Quarterly , Yearly } |
| enum | QuantityPeriodicity { Absolute , PerHour , PerDay , PerWeek , PerMonth , PerQuarter , PerYear } |
| enum | PaymentSchedule { WindowSettlement , MonthlySettlement , QuarterlySettlement , YearlySettlement } |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
Static Protected Member Functions inherited from EnergyCommodity | |
| static Real | calculateFxConversionFactor (const Currency &fromCurrency, const Currency &toCurrency, const Date &evaluationDate) |
| static Real | calculateUomConversionFactor (const CommodityType &commodityType, const UnitOfMeasure &fromUnitOfMeasure, const UnitOfMeasure &toUnitOfMeasure) |
Energy basis swap.
Definition at line 34 of file energybasisswap.hpp.
| EnergyBasisSwap | ( | const Calendar & | calendar, |
| ext::shared_ptr< CommodityIndex > | spreadIndex, | ||
| ext::shared_ptr< CommodityIndex > | payIndex, | ||
| ext::shared_ptr< CommodityIndex > | receiveIndex, | ||
| bool | spreadToPayLeg, | ||
| const Currency & | payCurrency, | ||
| const Currency & | receiveCurrency, | ||
| const PricingPeriods & | pricingPeriods, | ||
| CommodityUnitCost | basis, | ||
| const CommodityType & | commodityType, | ||
| const ext::shared_ptr< SecondaryCosts > & | secondaryCosts, | ||
| Handle< YieldTermStructure > | payLegTermStructure, | ||
| Handle< YieldTermStructure > | receiveLegTermStructure, | ||
| Handle< YieldTermStructure > | discountTermStructure | ||
| ) |
| const ext::shared_ptr< CommodityIndex > & payIndex | ( | ) | const |
Definition at line 51 of file energybasisswap.hpp.
| const ext::shared_ptr< CommodityIndex > & receiveIndex | ( | ) | const |
Definition at line 54 of file energybasisswap.hpp.
| const CommodityUnitCost & basis | ( | ) | const |
Definition at line 57 of file energybasisswap.hpp.
|
overrideprotectedvirtual |
This method must implement any calculations which must be (re)done in order to calculate the desired results.
Implements LazyObject.
Definition at line 53 of file energybasisswap.cpp.
Here is the call graph for this function:
|
protected |
Definition at line 62 of file energybasisswap.hpp.
|
protected |
Definition at line 63 of file energybasisswap.hpp.
|
protected |
Definition at line 64 of file energybasisswap.hpp.
|
protected |
Definition at line 65 of file energybasisswap.hpp.
|
protected |
Definition at line 66 of file energybasisswap.hpp.
|
protected |
Definition at line 67 of file energybasisswap.hpp.
|
protected |
Definition at line 68 of file energybasisswap.hpp.
|
protected |
Definition at line 69 of file energybasisswap.hpp.