|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
Vanilla energy swap. More...
#include <energyvanillaswap.hpp>
Inheritance diagram for EnergyVanillaSwap:
Collaboration diagram for EnergyVanillaSwap:Public Member Functions | |
| EnergyVanillaSwap (bool payer, const Calendar &calendar, Money fixedPrice, UnitOfMeasure fixedPriceUnitOfMeasure, ext::shared_ptr< CommodityIndex > index, const Currency &payCurrency, const Currency &receiveCurrency, const PricingPeriods &pricingPeriods, const CommodityType &commodityType, const ext::shared_ptr< SecondaryCosts > &secondaryCosts, Handle< YieldTermStructure > payLegTermStructure, Handle< YieldTermStructure > receiveLegTermStructure, Handle< YieldTermStructure > discountTermStructure) | |
| bool | isExpired () const override |
| returns whether the instrument might have value greater than zero. More... | |
| Integer | payReceive () const |
| const Money & | fixedPrice () const |
| const UnitOfMeasure & | fixedPriceUnitOfMeasure () const |
| const ext::shared_ptr< CommodityIndex > & | index () 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) |
Vanilla energy swap.
Definition at line 34 of file energyvanillaswap.hpp.
| EnergyVanillaSwap | ( | bool | payer, |
| const Calendar & | calendar, | ||
| Money | fixedPrice, | ||
| UnitOfMeasure | fixedPriceUnitOfMeasure, | ||
| ext::shared_ptr< CommodityIndex > | index, | ||
| const Currency & | payCurrency, | ||
| const Currency & | receiveCurrency, | ||
| const PricingPeriods & | pricingPeriods, | ||
| const CommodityType & | commodityType, | ||
| const ext::shared_ptr< SecondaryCosts > & | secondaryCosts, | ||
| Handle< YieldTermStructure > | payLegTermStructure, | ||
| Handle< YieldTermStructure > | receiveLegTermStructure, | ||
| Handle< YieldTermStructure > | discountTermStructure | ||
| ) |
|
overridevirtual |
returns whether the instrument might have value greater than zero.
Reimplemented from EnergySwap.
Definition at line 51 of file energyvanillaswap.cpp.
Here is the call graph for this function:| Integer payReceive | ( | ) | const |
Definition at line 51 of file energyvanillaswap.hpp.
| const Money & fixedPrice | ( | ) | const |
Definition at line 52 of file energyvanillaswap.hpp.
| const UnitOfMeasure & fixedPriceUnitOfMeasure | ( | ) | const |
Definition at line 53 of file energyvanillaswap.hpp.
| const ext::shared_ptr< CommodityIndex > & index | ( | ) | const |
Definition at line 56 of file energyvanillaswap.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 56 of file energyvanillaswap.cpp.
Here is the call graph for this function:
|
protected |
Definition at line 63 of file energyvanillaswap.hpp.
|
protected |
Definition at line 64 of file energyvanillaswap.hpp.
|
protected |
Definition at line 65 of file energyvanillaswap.hpp.
|
protected |
Definition at line 66 of file energyvanillaswap.hpp.
|
protected |
Definition at line 67 of file energyvanillaswap.hpp.
|
protected |
Definition at line 68 of file energyvanillaswap.hpp.
|
protected |
Definition at line 69 of file energyvanillaswap.hpp.