Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
Classes | Public Types | List of all members
CommodityFutureConvention Class Reference

#include <ored/configuration/conventions.hpp>

+ Inheritance diagram for CommodityFutureConvention:
+ Collaboration diagram for CommodityFutureConvention:

Classes

class  AveragingData
 
struct  BusinessDaysAfter
 
struct  CalendarDaysBefore
 
struct  DayOfMonth
 Classes to differentiate constructors below. More...
 
class  OffPeakPowerIndexData
 Class to store conventions for creating an off peak power index. More...
 
struct  OptionExpiryAnchorDateRule
 
class  ProhibitedExpiry
 Class to hold prohibited expiry information. More...
 
struct  WeeklyWeekday
 

Public Types

enum class  AnchorType {
  DayOfMonth , NthWeekday , CalendarDaysBefore , LastWeekday ,
  BusinessDaysAfter , WeeklyDayOfTheWeek
}
 
enum class  OptionAnchorType {
  DayOfMonth , NthWeekday , BusinessDaysBefore , LastWeekday ,
  WeeklyDayOfTheWeek
}
 
- Public Types inherited from Convention
enum class  Type {
  Zero , Deposit , Future , FRA ,
  OIS , Swap , AverageOIS , TenorBasisSwap ,
  TenorBasisTwoSwap , BMABasisSwap , FX , CrossCcyBasis ,
  CrossCcyFixFloat , CDS , IborIndex , OvernightIndex ,
  SwapIndex , ZeroInflationIndex , InflationSwap , SecuritySpread ,
  CMSSpreadOption , CommodityForward , CommodityFuture , FxOption ,
  BondYield
}
 Supported convention types. More...
 

Public Member Functions

Constructors
 CommodityFutureConvention ()
 Default constructor. More...
 
 CommodityFutureConvention (const std::string &id, const DayOfMonth &dayOfMonth, const std::string &contractFrequency, const std::string &calendar, const std::string &expiryCalendar="", QuantLib::Size expiryMonthLag=0, const std::string &oneContractMonth="", const std::string &offsetDays="", const std::string &bdc="", bool adjustBeforeOffset=true, bool isAveraging=false, const OptionExpiryAnchorDateRule &optionExpiryDateRule=OptionExpiryAnchorDateRule(), const std::set< ProhibitedExpiry > &prohibitedExpiries={}, QuantLib::Size optionExpiryMonthLag=0, const std::string &optionBdc="", const std::map< QuantLib::Natural, QuantLib::Natural > &futureContinuationMappings={}, const std::map< QuantLib::Natural, QuantLib::Natural > &optionContinuationMappings={}, const AveragingData &averagingData=AveragingData(), QuantLib::Natural hoursPerDay=QuantLib::Null< QuantLib::Natural >(), const boost::optional< OffPeakPowerIndexData > &offPeakPowerIndexData=boost::none, const std::string &indexName="", const std::string &optionFrequency="")
 Day of month based constructor. More...
 
 CommodityFutureConvention (const std::string &id, const std::string &nth, const std::string &weekday, const std::string &contractFrequency, const std::string &calendar, const std::string &expiryCalendar="", QuantLib::Size expiryMonthLag=0, const std::string &oneContractMonth="", const std::string &offsetDays="", const std::string &bdc="", bool adjustBeforeOffset=true, bool isAveraging=false, const OptionExpiryAnchorDateRule &optionExpiryDateRule=OptionExpiryAnchorDateRule(), const std::set< ProhibitedExpiry > &prohibitedExpiries={}, QuantLib::Size optionExpiryMonthLag=0, const std::string &optionBdc="", const std::map< QuantLib::Natural, QuantLib::Natural > &futureContinuationMappings={}, const std::map< QuantLib::Natural, QuantLib::Natural > &optionContinuationMappings={}, const AveragingData &averagingData=AveragingData(), QuantLib::Natural hoursPerDay=QuantLib::Null< QuantLib::Natural >(), const boost::optional< OffPeakPowerIndexData > &offPeakPowerIndexData=boost::none, const std::string &indexName="", const std::string &optionFrequency="")
 N-th weekday based constructor. More...
 
 CommodityFutureConvention (const std::string &id, const CalendarDaysBefore &calendarDaysBefore, const std::string &contractFrequency, const std::string &calendar, const std::string &expiryCalendar="", QuantLib::Size expiryMonthLag=0, const std::string &oneContractMonth="", const std::string &offsetDays="", const std::string &bdc="", bool adjustBeforeOffset=true, bool isAveraging=false, const OptionExpiryAnchorDateRule &optionExpiryDateRule=OptionExpiryAnchorDateRule(), const std::set< ProhibitedExpiry > &prohibitedExpiries={}, QuantLib::Size optionExpiryMonthLag=0, const std::string &optionBdc="", const std::map< QuantLib::Natural, QuantLib::Natural > &futureContinuationMappings={}, const std::map< QuantLib::Natural, QuantLib::Natural > &optionContinuationMappings={}, const AveragingData &averagingData=AveragingData(), QuantLib::Natural hoursPerDay=QuantLib::Null< QuantLib::Natural >(), const boost::optional< OffPeakPowerIndexData > &offPeakPowerIndexData=boost::none, const std::string &indexName="", const std::string &optionFrequency="")
 Calendar days before based constructor. More...
 
 CommodityFutureConvention (const std::string &id, const BusinessDaysAfter &businessDaysAfter, const std::string &contractFrequency, const std::string &calendar, const std::string &expiryCalendar="", QuantLib::Size expiryMonthLag=0, const std::string &oneContractMonth="", const std::string &offsetDays="", const std::string &bdc="", bool adjustBeforeOffset=true, bool isAveraging=false, const OptionExpiryAnchorDateRule &optionExpiryDateRule=OptionExpiryAnchorDateRule(), const std::set< ProhibitedExpiry > &prohibitedExpiries={}, QuantLib::Size optionExpiryMonthLag=0, const std::string &optionBdc="", const std::map< QuantLib::Natural, QuantLib::Natural > &futureContinuationMappings={}, const std::map< QuantLib::Natural, QuantLib::Natural > &optionContinuationMappings={}, const AveragingData &averagingData=AveragingData(), QuantLib::Natural hoursPerDay=QuantLib::Null< QuantLib::Natural >(), const boost::optional< OffPeakPowerIndexData > &offPeakPowerIndexData=boost::none, const std::string &indexName="", const std::string &optionFrequency="")
 Business days before based constructor. More...
 
- Public Member Functions inherited from Convention
virtual ~Convention ()
 Default destructor. More...
 
const string & id () const
 
Type type () const
 
- Public Member Functions inherited from XMLSerializable
virtual ~XMLSerializable ()
 
virtual void fromXML (XMLNode *node)=0
 
virtual XMLNodetoXML (XMLDocument &doc) const =0
 
void fromFile (const std::string &filename)
 
void toFile (const std::string &filename) const
 
void fromXMLString (const std::string &xml)
 Parse from XML string. More...
 
std::string toXMLString () const
 Parse from XML string. More...
 

Inspectors

AnchorType anchorType_
 
QuantLib::Natural dayOfMonth_
 
QuantLib::Natural nth_
 
QuantLib::Weekday weekday_
 
QuantLib::Natural calendarDaysBefore_
 
QuantLib::Integer businessDaysAfter_
 
QuantLib::Frequency contractFrequency_
 
QuantLib::Calendar calendar_
 
QuantLib::Calendar expiryCalendar_
 
QuantLib::Month oneContractMonth_
 
QuantLib::Integer offsetDays_
 
QuantLib::BusinessDayConvention bdc_
 
std::string strDayOfMonth_
 
std::string strNth_
 
std::string strWeekday_
 
std::string strCalendarDaysBefore_
 
std::string strBusinessDaysAfter_
 
std::string strContractFrequency_
 
std::string strCalendar_
 
std::string strExpiryCalendar_
 
QuantLib::Size expiryMonthLag_
 
std::string strOneContractMonth_
 
std::string strOffsetDays_
 
std::string strBdc_
 
bool adjustBeforeOffset_
 
bool isAveraging_
 
std::set< ProhibitedExpiryprohibitedExpiries_
 
QuantLib::Size optionExpiryMonthLag_
 
QuantLib::BusinessDayConvention optionBdc_
 
std::string strOptionBdc_
 
std::map< QuantLib::Natural, QuantLib::Natural > futureContinuationMappings_
 
std::map< QuantLib::Natural, QuantLib::Natural > optionContinuationMappings_
 
AveragingData averagingData_
 
QuantLib::Natural hoursPerDay_
 
boost::optional< OffPeakPowerIndexDataoffPeakPowerIndexData_
 
std::string indexName_
 
std::string strOptionContractFrequency_
 
OptionAnchorType optionAnchorType_
 
std::string strOptionExpiryOffset_
 
std::string strOptionExpiryDay_
 
std::string strOptionNth_
 
std::string strOptionWeekday_
 
QuantLib::Frequency optionContractFrequency_
 
QuantLib::Natural optionExpiryOffset_
 
QuantLib::Natural optionNth_
 
QuantLib::Weekday optionWeekday_
 
QuantLib::Natural optionExpiryDay_
 
std::set< QuantLib::Month > validContractMonths_
 
std::string savingsTime_
 
bool balanceOfTheMonth_
 
std::string balanceOfTheMonthPricingCalendarStr_
 
Calendar balanceOfTheMonthPricingCalendar_
 
std::string optionUnderlyingFutureConvention_
 Option Underlying Future convention. More...
 
AnchorType anchorType () const
 
QuantLib::Natural dayOfMonth () const
 
QuantLib::Natural nth () const
 
QuantLib::Weekday weekday () const
 
QuantLib::Natural calendarDaysBefore () const
 
QuantLib::Integer businessDaysAfter () const
 
QuantLib::Frequency contractFrequency () const
 
const QuantLib::Calendar & calendar () const
 
const QuantLib::Calendar & expiryCalendar () const
 
QuantLib::Size expiryMonthLag () const
 
QuantLib::Month oneContractMonth () const
 
QuantLib::Integer offsetDays () const
 
QuantLib::BusinessDayConvention businessDayConvention () const
 
bool adjustBeforeOffset () const
 
bool isAveraging () const
 
QuantLib::Natural optionExpiryOffset () const
 
const std::set< ProhibitedExpiry > & prohibitedExpiries () const
 
QuantLib::Size optionExpiryMonthLag () const
 
QuantLib::Natural optionExpiryDay () const
 
QuantLib::BusinessDayConvention optionBusinessDayConvention () const
 
const std::map< QuantLib::Natural, QuantLib::Natural > & futureContinuationMappings () const
 
const std::map< QuantLib::Natural, QuantLib::Natural > & optionContinuationMappings () const
 
const AveragingDataaveragingData () const
 
QuantLib::Natural hoursPerDay () const
 
const boost::optional< OffPeakPowerIndexData > & offPeakPowerIndexData () const
 
const std::string & indexName () const
 
QuantLib::Frequency optionContractFrequency () const
 
OptionAnchorType optionAnchorType () const
 
QuantLib::Natural optionNth () const
 
QuantLib::Weekday optionWeekday () const
 
const std::string & savingsTime () const
 
const std::set< QuantLib::Month > & validContractMonths () const
 
bool balanceOfTheMonth () const
 
Calendar balanceOfTheMonthPricingCalendar () const
 
const std::string & optionUnderlyingFutureConvention () const
 
void fromXML (XMLNode *node) override
 Serialisation. More...
 
XMLNodetoXML (XMLDocument &doc) const override
 
void build () override
 Implementation. More...
 
Frequency parseAndValidateFrequency (const std::string &strFrequency)
 Populate and check frequency. More...
 
bool validateBdc (const ProhibitedExpiry &pe) const
 Validate the business day conventions in the ProhibitedExpiry. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Convention
 Convention ()
 
 Convention (const string &id, Type type)
 
- Protected Attributes inherited from Convention
Type type_
 
string id_
 

Detailed Description

Container for storing commodity future conventions

Definition at line 1317 of file conventions.hpp.

Member Enumeration Documentation

◆ AnchorType

enum class AnchorType
strong

The anchor day type of commodity future convention

Enumerator
DayOfMonth 
NthWeekday 
CalendarDaysBefore 
LastWeekday 
BusinessDaysAfter 
WeeklyDayOfTheWeek 

Definition at line 1321 of file conventions.hpp.

◆ OptionAnchorType

enum class OptionAnchorType
strong
Enumerator
DayOfMonth 
NthWeekday 
BusinessDaysBefore 
LastWeekday 
WeeklyDayOfTheWeek 

Definition at line 1322 of file conventions.hpp.

Constructor & Destructor Documentation

◆ CommodityFutureConvention() [1/5]

Default constructor.

Definition at line 1712 of file conventions.cpp.

1714 dayOfMonth_(1),
1715 nth_(1),
1716 weekday_(Mon),
1718 contractFrequency_(Monthly),
1719 oneContractMonth_(Jan),
1720 offsetDays_(0),
1721 bdc_(Following),
1722 expiryMonthLag_(0),
1723 adjustBeforeOffset_(false),
1724 isAveraging_(false),
1726 optionBdc_(Preceding),
1727 hoursPerDay_(Null<Natural>()),
1729 optionContractFrequency_(Monthly),
1731 optionNth_(1),
1732 optionWeekday_(Mon),
1733 optionExpiryDay_(Null<Natural>()),
1734 balanceOfTheMonth_(false) {}
QuantLib::BusinessDayConvention optionBdc_
QuantLib::BusinessDayConvention bdc_
QuantLib::Frequency optionContractFrequency_

◆ CommodityFutureConvention() [2/5]

CommodityFutureConvention ( const std::string &  id,
const DayOfMonth dayOfMonth,
const std::string &  contractFrequency,
const std::string &  calendar,
const std::string &  expiryCalendar = "",
QuantLib::Size  expiryMonthLag = 0,
const std::string &  oneContractMonth = "",
const std::string &  offsetDays = "",
const std::string &  bdc = "",
bool  adjustBeforeOffset = true,
bool  isAveraging = false,
const OptionExpiryAnchorDateRule optionExpiryDateRule = OptionExpiryAnchorDateRule(),
const std::set< ProhibitedExpiry > &  prohibitedExpiries = {},
QuantLib::Size  optionExpiryMonthLag = 0,
const std::string &  optionBdc = "",
const std::map< QuantLib::Natural, QuantLib::Natural > &  futureContinuationMappings = {},
const std::map< QuantLib::Natural, QuantLib::Natural > &  optionContinuationMappings = {},
const AveragingData averagingData = AveragingData(),
QuantLib::Natural  hoursPerDay = QuantLib::Null< QuantLib::Natural >(),
const boost::optional< OffPeakPowerIndexData > &  offPeakPowerIndexData = boost::none,
const std::string &  indexName = "",
const std::string &  optionFrequency = "" 
)

Day of month based constructor.

◆ CommodityFutureConvention() [3/5]

CommodityFutureConvention ( const std::string &  id,
const std::string &  nth,
const std::string &  weekday,
const std::string &  contractFrequency,
const std::string &  calendar,
const std::string &  expiryCalendar = "",
QuantLib::Size  expiryMonthLag = 0,
const std::string &  oneContractMonth = "",
const std::string &  offsetDays = "",
const std::string &  bdc = "",
bool  adjustBeforeOffset = true,
bool  isAveraging = false,
const OptionExpiryAnchorDateRule optionExpiryDateRule = OptionExpiryAnchorDateRule(),
const std::set< ProhibitedExpiry > &  prohibitedExpiries = {},
QuantLib::Size  optionExpiryMonthLag = 0,
const std::string &  optionBdc = "",
const std::map< QuantLib::Natural, QuantLib::Natural > &  futureContinuationMappings = {},
const std::map< QuantLib::Natural, QuantLib::Natural > &  optionContinuationMappings = {},
const AveragingData averagingData = AveragingData(),
QuantLib::Natural  hoursPerDay = QuantLib::Null< QuantLib::Natural >(),
const boost::optional< OffPeakPowerIndexData > &  offPeakPowerIndexData = boost::none,
const std::string &  indexName = "",
const std::string &  optionFrequency = "" 
)

N-th weekday based constructor.

◆ CommodityFutureConvention() [4/5]

CommodityFutureConvention ( const std::string &  id,
const CalendarDaysBefore calendarDaysBefore,
const std::string &  contractFrequency,
const std::string &  calendar,
const std::string &  expiryCalendar = "",
QuantLib::Size  expiryMonthLag = 0,
const std::string &  oneContractMonth = "",
const std::string &  offsetDays = "",
const std::string &  bdc = "",
bool  adjustBeforeOffset = true,
bool  isAveraging = false,
const OptionExpiryAnchorDateRule optionExpiryDateRule = OptionExpiryAnchorDateRule(),
const std::set< ProhibitedExpiry > &  prohibitedExpiries = {},
QuantLib::Size  optionExpiryMonthLag = 0,
const std::string &  optionBdc = "",
const std::map< QuantLib::Natural, QuantLib::Natural > &  futureContinuationMappings = {},
const std::map< QuantLib::Natural, QuantLib::Natural > &  optionContinuationMappings = {},
const AveragingData averagingData = AveragingData(),
QuantLib::Natural  hoursPerDay = QuantLib::Null< QuantLib::Natural >(),
const boost::optional< OffPeakPowerIndexData > &  offPeakPowerIndexData = boost::none,
const std::string &  indexName = "",
const std::string &  optionFrequency = "" 
)

Calendar days before based constructor.

◆ CommodityFutureConvention() [5/5]

CommodityFutureConvention ( const std::string &  id,
const BusinessDaysAfter businessDaysAfter,
const std::string &  contractFrequency,
const std::string &  calendar,
const std::string &  expiryCalendar = "",
QuantLib::Size  expiryMonthLag = 0,
const std::string &  oneContractMonth = "",
const std::string &  offsetDays = "",
const std::string &  bdc = "",
bool  adjustBeforeOffset = true,
bool  isAveraging = false,
const OptionExpiryAnchorDateRule optionExpiryDateRule = OptionExpiryAnchorDateRule(),
const std::set< ProhibitedExpiry > &  prohibitedExpiries = {},
QuantLib::Size  optionExpiryMonthLag = 0,
const std::string &  optionBdc = "",
const std::map< QuantLib::Natural, QuantLib::Natural > &  futureContinuationMappings = {},
const std::map< QuantLib::Natural, QuantLib::Natural > &  optionContinuationMappings = {},
const AveragingData averagingData = AveragingData(),
QuantLib::Natural  hoursPerDay = QuantLib::Null< QuantLib::Natural >(),
const boost::optional< OffPeakPowerIndexData > &  offPeakPowerIndexData = boost::none,
const std::string &  indexName = "",
const std::string &  optionFrequency = "" 
)

Business days before based constructor.

Member Function Documentation

◆ anchorType()

AnchorType anchorType ( ) const

Definition at line 1565 of file conventions.hpp.

1565{ return anchorType_; }
+ Here is the caller graph for this function:

◆ dayOfMonth()

QuantLib::Natural dayOfMonth ( ) const

Definition at line 1566 of file conventions.hpp.

1566{ return dayOfMonth_; }
+ Here is the caller graph for this function:

◆ nth()

QuantLib::Natural nth ( ) const

Definition at line 1567 of file conventions.hpp.

1567{ return nth_; }
+ Here is the caller graph for this function:

◆ weekday()

QuantLib::Weekday weekday ( ) const

Definition at line 1568 of file conventions.hpp.

1568{ return weekday_; }
+ Here is the caller graph for this function:

◆ calendarDaysBefore()

QuantLib::Natural calendarDaysBefore ( ) const

Definition at line 1569 of file conventions.hpp.

1569{ return calendarDaysBefore_; }
+ Here is the caller graph for this function:

◆ businessDaysAfter()

QuantLib::Integer businessDaysAfter ( ) const

Definition at line 1570 of file conventions.hpp.

1570{ return businessDaysAfter_; }
+ Here is the caller graph for this function:

◆ contractFrequency()

QuantLib::Frequency contractFrequency ( ) const

Definition at line 1571 of file conventions.hpp.

1571{ return contractFrequency_; }
+ Here is the caller graph for this function:

◆ calendar()

const QuantLib::Calendar & calendar ( ) const

Definition at line 1572 of file conventions.hpp.

1572{ return calendar_; }
+ Here is the caller graph for this function:

◆ expiryCalendar()

const QuantLib::Calendar & expiryCalendar ( ) const

Definition at line 1573 of file conventions.hpp.

1573{ return expiryCalendar_; }
+ Here is the caller graph for this function:

◆ expiryMonthLag()

QuantLib::Size expiryMonthLag ( ) const

Definition at line 1574 of file conventions.hpp.

1574{ return expiryMonthLag_; }
+ Here is the caller graph for this function:

◆ oneContractMonth()

QuantLib::Month oneContractMonth ( ) const

Definition at line 1575 of file conventions.hpp.

1575{ return oneContractMonth_; }

◆ offsetDays()

QuantLib::Integer offsetDays ( ) const

Definition at line 1576 of file conventions.hpp.

1576{ return offsetDays_; }
+ Here is the caller graph for this function:

◆ businessDayConvention()

QuantLib::BusinessDayConvention businessDayConvention ( ) const

Definition at line 1577 of file conventions.hpp.

1577{ return bdc_; }
+ Here is the caller graph for this function:

◆ adjustBeforeOffset()

bool adjustBeforeOffset ( ) const

Definition at line 1578 of file conventions.hpp.

1578{ return adjustBeforeOffset_; }
+ Here is the caller graph for this function:

◆ isAveraging()

bool isAveraging ( ) const

Definition at line 1579 of file conventions.hpp.

1579{ return isAveraging_; }
+ Here is the caller graph for this function:

◆ optionExpiryOffset()

QuantLib::Natural optionExpiryOffset ( ) const

Definition at line 1580 of file conventions.hpp.

1580{ return optionExpiryOffset_; }
+ Here is the caller graph for this function:

◆ prohibitedExpiries()

const std::set< ProhibitedExpiry > & prohibitedExpiries ( ) const

Definition at line 1581 of file conventions.hpp.

1581 {
1582 return prohibitedExpiries_;
1583 }
std::set< ProhibitedExpiry > prohibitedExpiries_
+ Here is the caller graph for this function:

◆ optionExpiryMonthLag()

QuantLib::Size optionExpiryMonthLag ( ) const

Definition at line 1584 of file conventions.hpp.

1584{ return optionExpiryMonthLag_; }
+ Here is the caller graph for this function:

◆ optionExpiryDay()

QuantLib::Natural optionExpiryDay ( ) const

Definition at line 1585 of file conventions.hpp.

1585{ return optionExpiryDay_; }
+ Here is the caller graph for this function:

◆ optionBusinessDayConvention()

QuantLib::BusinessDayConvention optionBusinessDayConvention ( ) const

Definition at line 1586 of file conventions.hpp.

1586{ return optionBdc_; }
+ Here is the caller graph for this function:

◆ futureContinuationMappings()

const std::map< QuantLib::Natural, QuantLib::Natural > & futureContinuationMappings ( ) const

Definition at line 1587 of file conventions.hpp.

1587 {
1589 }
std::map< QuantLib::Natural, QuantLib::Natural > futureContinuationMappings_

◆ optionContinuationMappings()

const std::map< QuantLib::Natural, QuantLib::Natural > & optionContinuationMappings ( ) const

Definition at line 1590 of file conventions.hpp.

1590 {
1592 }
std::map< QuantLib::Natural, QuantLib::Natural > optionContinuationMappings_

◆ averagingData()

const AveragingData & averagingData ( ) const

Definition at line 1593 of file conventions.hpp.

1593{ return averagingData_; }

◆ hoursPerDay()

QuantLib::Natural hoursPerDay ( ) const

Definition at line 1594 of file conventions.hpp.

1594{ return hoursPerDay_; }

◆ offPeakPowerIndexData()

const boost::optional< OffPeakPowerIndexData > & offPeakPowerIndexData ( ) const

Definition at line 1595 of file conventions.hpp.

1595{ return offPeakPowerIndexData_; }
boost::optional< OffPeakPowerIndexData > offPeakPowerIndexData_

◆ indexName()

const std::string & indexName ( ) const

Definition at line 1596 of file conventions.hpp.

1596{ return indexName_; }

◆ optionContractFrequency()

QuantLib::Frequency optionContractFrequency ( ) const

Definition at line 1597 of file conventions.hpp.

1597{ return optionContractFrequency_; }
+ Here is the caller graph for this function:

◆ optionAnchorType()

OptionAnchorType optionAnchorType ( ) const

Definition at line 1598 of file conventions.hpp.

1598{ return optionAnchorType_; }
+ Here is the caller graph for this function:

◆ optionNth()

QuantLib::Natural optionNth ( ) const

Definition at line 1599 of file conventions.hpp.

1599{ return optionNth_; }
+ Here is the caller graph for this function:

◆ optionWeekday()

QuantLib::Weekday optionWeekday ( ) const

Definition at line 1600 of file conventions.hpp.

1600{ return optionWeekday_; }
+ Here is the caller graph for this function:

◆ savingsTime()

const std::string & savingsTime ( ) const

Definition at line 1601 of file conventions.hpp.

1601{ return savingsTime_; }

◆ validContractMonths()

const std::set< QuantLib::Month > & validContractMonths ( ) const

Definition at line 1602 of file conventions.hpp.

1602{ return validContractMonths_; }
std::set< QuantLib::Month > validContractMonths_
+ Here is the caller graph for this function:

◆ balanceOfTheMonth()

bool balanceOfTheMonth ( ) const

Definition at line 1603 of file conventions.hpp.

1603{ return balanceOfTheMonth_; }

◆ balanceOfTheMonthPricingCalendar()

Calendar balanceOfTheMonthPricingCalendar ( ) const

Definition at line 1604 of file conventions.hpp.

◆ optionUnderlyingFutureConvention()

const std::string & optionUnderlyingFutureConvention ( ) const

Definition at line 1605 of file conventions.hpp.

std::string optionUnderlyingFutureConvention_
Option Underlying Future convention.

◆ fromXML()

void fromXML ( XMLNode node)
overridevirtual

Serialisation.

Implements XMLSerializable.

Definition at line 1858 of file conventions.cpp.

1858 {
1859
1860 XMLUtils::checkNode(node, "CommodityFuture");
1862 id_ = XMLUtils::getChildValue(node, "Id", true);
1863
1864 // Parse contract frequency first. If it is Daily, we do not need the AnchorDay node.
1865 strContractFrequency_ = XMLUtils::getChildValue(node, "ContractFrequency", true);
1866 strOptionContractFrequency_ = XMLUtils::getChildValue(node, "OptionContractFrequency", false);
1867 if (strOptionContractFrequency_.empty())
1869
1872
1873 // Variables related to the anchor day in a given month. Not needed if daily.
1874 if (contractFrequency_ == Weekly) {
1875 XMLNode* anchorNode = XMLUtils::getChildNode(node, "AnchorDay");
1876 if (XMLNode* tmp = XMLUtils::getChildNode(anchorNode, "WeeklyDayOfTheWeek")) {
1879 } else {
1880 QL_FAIL("Failed to parse AnchorDay node, the WeeklyDayOfTheWeek node is required for weekly contract expiries.");
1881 }
1882 } else if (contractFrequency_ != Daily || optionContractFrequency_ != Daily) {
1883 XMLNode* anchorNode = XMLUtils::getChildNode(node, "AnchorDay");
1884 QL_REQUIRE(anchorNode, "Expected an AnchorDay node in the FutureExpiry convention");
1885 if (XMLNode* nthNode = XMLUtils::getChildNode(anchorNode, "NthWeekday")) {
1887 strNth_ = XMLUtils::getChildValue(nthNode, "Nth", true);
1888 strWeekday_ = XMLUtils::getChildValue(nthNode, "Weekday", true);
1889 } else if (XMLNode* tmp = XMLUtils::getChildNode(anchorNode, "DayOfMonth")) {
1892 } else if (XMLNode* tmp = XMLUtils::getChildNode(anchorNode, "CalendarDaysBefore")) {
1895 } else if (XMLNode* tmp = XMLUtils::getChildNode(anchorNode, "LastWeekday")) {
1898 } else if (XMLNode* tmp = XMLUtils::getChildNode(anchorNode, "BusinessDaysAfter")) {
1901 } else {
1902 QL_FAIL("Failed to parse AnchorDay node");
1903 }
1904 }
1905
1906 strCalendar_ = XMLUtils::getChildValue(node, "Calendar", true);
1907 strExpiryCalendar_ = XMLUtils::getChildValue(node, "ExpiryCalendar", false);
1908
1909 expiryMonthLag_ = 0;
1910 if (XMLNode* n = XMLUtils::getChildNode(node, "ExpiryMonthLag")) {
1912 }
1913
1914 strOneContractMonth_ = XMLUtils::getChildValue(node, "OneContractMonth", false);
1915 strOffsetDays_ = XMLUtils::getChildValue(node, "OffsetDays", false);
1916 strBdc_ = XMLUtils::getChildValue(node, "BusinessDayConvention", false);
1917
1918 adjustBeforeOffset_ = true;
1919 if (XMLNode* n = XMLUtils::getChildNode(node, "AdjustBeforeOffset")) {
1921 }
1922
1923 isAveraging_ = false;
1924 if (XMLNode* n = XMLUtils::getChildNode(node, "IsAveraging")) {
1926 }
1927
1929 if (XMLNode* n = XMLUtils::getChildNode(node, "OptionExpiryMonthLag")) {
1931 }
1932
1933 bool foundOptionExpiryRule = false;
1934 std::string previouslyFoundOptionExpiryRule = "";
1935
1936 if (XMLNode* n = XMLUtils::getChildNode(node, "OptionExpiryOffset")) {
1937 QL_REQUIRE(optionContractFrequency_ != Weekly, "OptionExpiryOffset is not allowed for weekly option expiries");
1940 foundOptionExpiryRule = true;
1941 previouslyFoundOptionExpiryRule = "OptionExpiryOffset";
1942 }
1943
1944 if (XMLNode* n = XMLUtils::getChildNode(node, "OptionExpiryDay")) {
1945 QL_REQUIRE(!foundOptionExpiryRule, "Expect exactly one option expiry anchor date rule, found "
1946 << previouslyFoundOptionExpiryRule << " and OptionExpiryDay");
1947 QL_REQUIRE(optionContractFrequency_ != Weekly, "OptionExpiryDay is not allowed for weekly option expiries");
1950 foundOptionExpiryRule = true;
1951 previouslyFoundOptionExpiryRule = "OptionExpiryDay";
1952 }
1953
1954 if (XMLNode* optionNthNode = XMLUtils::getChildNode(node, "OptionNthWeekday")) {
1955 QL_REQUIRE(!foundOptionExpiryRule, "Expect exactly one option expiry anchor date rule, found "
1956 << previouslyFoundOptionExpiryRule << " and OptionNthWeekday");
1957 QL_REQUIRE(optionContractFrequency_ != Weekly,
1958 "OptionNthWeekday is not allowed for weekly option expiries");
1960 strOptionNth_ = XMLUtils::getChildValue(optionNthNode, "Nth", true);
1961 strOptionWeekday_ = XMLUtils::getChildValue(optionNthNode, "Weekday", true);
1962 foundOptionExpiryRule = true;
1963 previouslyFoundOptionExpiryRule = "OptionNthWeekday";
1964 }
1965
1966 if (XMLNode* n = XMLUtils::getChildNode(node, "OptionExpiryLastWeekdayOfMonth")) {
1967 QL_REQUIRE(!foundOptionExpiryRule, "Expect exactly one option expiry anchor date rule, found "
1968 << previouslyFoundOptionExpiryRule << " and OptionExpiryLastWeekdayOfMonth");
1969 QL_REQUIRE(optionContractFrequency_ != Weekly,
1970 "OptionExpiryLastWeekdayOfMonth is not allowed for weekly option expiries");
1973 foundOptionExpiryRule = true;
1974 previouslyFoundOptionExpiryRule = "OptionExpiryLastWeekdayOfMonth";
1975 }
1976
1977 if (XMLNode* n = XMLUtils::getChildNode(node, "OptionExpiryWeeklyDayOfTheWeek")) {
1978 QL_REQUIRE(!foundOptionExpiryRule, "Expect exactly one option expiry anchor date rule, found "
1979 << previouslyFoundOptionExpiryRule
1980 << " and OptionExpiryWeeklyDayOfTheWeek");
1981 QL_REQUIRE(optionContractFrequency_ == Weekly,
1982 "OptionExpiryWeeklyDayOfTheWeek only allowed for weekly option expiries");
1985 foundOptionExpiryRule = true;
1986 previouslyFoundOptionExpiryRule = "OptionExpiryWeeklyDayOfTheWeek";
1987 }
1988
1989
1990 if (!foundOptionExpiryRule && optionContractFrequency_ == Weekly) {
1993 } else if (!foundOptionExpiryRule) {
1996 }
1997
1998
1999
2000 if (XMLNode* n = XMLUtils::getChildNode(node, "ProhibitedExpiries")) {
2001 auto datesNode = XMLUtils::getChildNode(n, "Dates");
2002 QL_REQUIRE(datesNode, "ProhibitedExpiries node must have a Dates node.");
2003 auto dateNodes = XMLUtils::getChildrenNodes(datesNode, "Date");
2004 for (const auto& dateNode : dateNodes) {
2005 ProhibitedExpiry pe;
2006 pe.fromXML(dateNode);
2007 if (validateBdc(pe)) {
2008 // First date is inserted, subsequent duplicates are ignored.
2009 prohibitedExpiries_.insert(pe);
2010 }
2011 }
2012 }
2013
2014 if (contractFrequency_ == Monthly) {
2015 auto validContractMonthNode = XMLUtils::getChildNode(node, "ValidContractMonths");
2016 if (validContractMonthNode) {
2017 auto monthNodes = XMLUtils::getChildrenNodes(validContractMonthNode, "Month");
2018 for (const auto& month : monthNodes) {
2020 }
2021 }
2022 }
2023
2024 strOptionBdc_ = XMLUtils::getChildValue(node, "OptionBusinessDayConvention", false);
2025
2027 auto tmp = XMLUtils::getChildrenValues(node, "FutureContinuationMappings",
2028 "ContinuationMapping", "From", "To", false);
2029 for (const auto& kv : tmp) {
2031 }
2032
2034 tmp = XMLUtils::getChildrenValues(node, "OptionContinuationMappings",
2035 "ContinuationMapping", "From", "To", false);
2036 for (const auto& kv : tmp) {
2038 }
2039
2040 if (isAveraging_) {
2041 if (XMLNode* n = XMLUtils::getChildNode(node, "AveragingData")) {
2043 }
2044 }
2045
2046 hoursPerDay_ = Null<Natural>();
2047 if (XMLNode* n = XMLUtils::getChildNode(node, "HoursPerDay")) {
2049 }
2050
2051 if (XMLNode* n = XMLUtils::getChildNode(node, "OffPeakPowerIndexData")) {
2052 offPeakPowerIndexData_ = OffPeakPowerIndexData();
2053 offPeakPowerIndexData_->fromXML(n);
2054 }
2055
2056 indexName_ = XMLUtils::getChildValue(node, "IndexName", false);
2057
2058 savingsTime_ = XMLUtils::getChildValue(node, "SavingsTime", false, "US");
2059
2060 balanceOfTheMonth_ = XMLUtils::getChildValueAsBool(node, "BalanceOfTheMonth", false, false);
2061
2062 balanceOfTheMonthPricingCalendarStr_ = XMLUtils::getChildValue(node, "BalanceOfTheMonthPricingCalendar", false, "");
2063
2064 optionUnderlyingFutureConvention_ = XMLUtils::getChildValue(node, "OptionUnderlyingFutureConvention", false, "");
2065
2066 build();
2067}
void fromXML(XMLNode *node) override
Serialisation.
Frequency parseAndValidateFrequency(const std::string &strFrequency)
Populate and check frequency.
void build() override
Implementation.
bool validateBdc(const ProhibitedExpiry &pe) const
Validate the business day conventions in the ProhibitedExpiry.
static void checkNode(XMLNode *n, const string &expectedName)
Definition: xmlutils.cpp:175
static vector< XMLNode * > getChildrenNodes(XMLNode *node, const string &name)
Returns all the children with a given name.
Definition: xmlutils.cpp:428
static string getChildValue(XMLNode *node, const string &name, bool mandatory=false, const string &defaultValue=string())
Definition: xmlutils.cpp:277
static bool getChildValueAsBool(XMLNode *node, const string &name, bool mandatory=false, bool defaultValue=true)
Definition: xmlutils.cpp:296
static XMLNode * getChildNode(XMLNode *n, const string &name="")
Definition: xmlutils.cpp:387
static string getNodeValue(XMLNode *node)
Get a node's value.
Definition: xmlutils.cpp:489
static vector< string > getChildrenValues(XMLNode *node, const string &names, const string &name, bool mandatory=false)
Definition: xmlutils.cpp:306
Month parseMonth(const string &s)
Definition: parsers.cpp:613
bool parseBool(const string &s)
Convert text to bool.
Definition: parsers.cpp:144
Integer parseInteger(const string &s)
Convert text to QuantLib::Integer.
Definition: parsers.cpp:136
rapidxml::xml_node< char > XMLNode
Definition: xmlutils.hpp:60
+ Here is the call graph for this function:

◆ toXML()

XMLNode * toXML ( XMLDocument doc) const
overridevirtual

Implements XMLSerializable.

Definition at line 2069 of file conventions.cpp.

2069 {
2070
2071 XMLNode* node = doc.allocNode("CommodityFuture");
2072 XMLUtils::addChild(doc, node, "Id", id_);
2073
2074 if (contractFrequency_ != Daily || optionContractFrequency_ != Daily) {
2075 XMLNode* anchorNode = doc.allocNode("AnchorDay");
2077 XMLUtils::addChild(doc, anchorNode, "DayOfMonth", strDayOfMonth_);
2078 } else if (anchorType_ == AnchorType::NthWeekday) {
2079 XMLNode* nthNode = doc.allocNode("NthWeekday");
2080 XMLUtils::addChild(doc, nthNode, "Nth", strNth_);
2081 XMLUtils::addChild(doc, nthNode, "Weekday", strWeekday_);
2082 XMLUtils::appendNode(anchorNode, nthNode);
2083 } else if (anchorType_ == AnchorType::LastWeekday) {
2084 XMLUtils::addChild(doc, anchorNode, "LastWeekday", strWeekday_);
2086 XMLUtils::addChild(doc, anchorNode, "BusinessDaysAfter", strBusinessDaysAfter_);
2088 XMLUtils::addChild(doc, anchorNode, "WeeklyDayOfTheWeek", strWeekday_);
2089 } else {
2090 XMLUtils::addChild(doc, anchorNode, "CalendarDaysBefore", strCalendarDaysBefore_);
2091 }
2092 XMLUtils::appendNode(node, anchorNode);
2093 }
2094
2095 XMLUtils::addChild(doc, node, "ContractFrequency", strContractFrequency_);
2096 XMLUtils::addChild(doc, node, "Calendar", strCalendar_);
2097 if (!strExpiryCalendar_.empty())
2098 XMLUtils::addChild(doc, node, "ExpiryCalendar", strExpiryCalendar_);
2099 XMLUtils::addChild(doc, node, "ExpiryMonthLag", static_cast<int>(expiryMonthLag_));
2100
2101 if (!strOneContractMonth_.empty())
2102 XMLUtils::addChild(doc, node, "OneContractMonth", strOneContractMonth_);
2103
2104 if (!strOffsetDays_.empty())
2105 XMLUtils::addChild(doc, node, "OffsetDays", strOffsetDays_);
2106
2107 if (!strBdc_.empty())
2108 XMLUtils::addChild(doc, node, "BusinessDayConvention", strBdc_);
2109
2110 XMLUtils::addChild(doc, node, "AdjustBeforeOffset", adjustBeforeOffset_);
2111 XMLUtils::addChild(doc, node, "IsAveraging", isAveraging_);
2112
2114 if (optionExpiryOffset_>0)
2115 XMLUtils::addChild(doc, node, "OptionExpiryOffset", strOptionExpiryOffset_);
2117 XMLUtils::addChild(doc, node, "OptionExpiryDay", static_cast<int>(optionExpiryDay_));
2119 XMLNode* nthNode = doc.allocNode("OptionNthWeekday");
2120 XMLUtils::addChild(doc, nthNode, "Nth", strOptionNth_);
2121 XMLUtils::addChild(doc, nthNode, "Weekday", strOptionWeekday_);
2122 XMLUtils::appendNode(node, nthNode);
2124 XMLUtils::addChild(doc, node, "OptionExpiryLastWeekdayOfMonth", strOptionWeekday_);
2126 XMLUtils::addChild(doc, node, "OptionExpiryWeeklyDayOfTheWeek", strOptionWeekday_);
2127 }
2128
2129 if (!prohibitedExpiries_.empty()) {
2130 XMLNode* prohibitedExpiriesNode = doc.allocNode("ProhibitedExpiries");
2131 XMLNode* datesNode = XMLUtils::addChild(doc, prohibitedExpiriesNode, "Dates");
2132 for (ProhibitedExpiry pe : prohibitedExpiries_) {
2133 XMLUtils::appendNode(datesNode, pe.toXML(doc));
2134 }
2135 XMLUtils::appendNode(node, prohibitedExpiriesNode);
2136 }
2137
2138 XMLUtils::addChild(doc, node, "OptionExpiryMonthLag", static_cast<int>(optionExpiryMonthLag_));
2139
2140
2141 if (!strOptionBdc_.empty())
2142 XMLUtils::addChild(doc, node, "OptionBusinessDayConvention", strOptionBdc_);
2143
2144 if (!futureContinuationMappings_.empty()) {
2145 map<string, string> tmp;
2146 for (const auto& kv : futureContinuationMappings_) {
2147 tmp[to_string(kv.first)] = to_string(kv.second);
2148 }
2149 XMLUtils::addChildren(doc, node, "FutureContinuationMappings",
2150 "ContinuationMapping", "From", "To", tmp);
2151 }
2152
2153 if (!optionContinuationMappings_.empty()) {
2154 map<string, string> tmp;
2155 for (const auto& kv : optionContinuationMappings_) {
2156 tmp[to_string(kv.first)] = to_string(kv.second);
2157 }
2158 XMLUtils::addChildren(doc, node, "OptionContinuationMappings",
2159 "ContinuationMapping", "From", "To", tmp);
2160 }
2161
2162 if (!averagingData_.empty()) {
2164 }
2165
2166 if (hoursPerDay_ != Null<Natural>())
2167 XMLUtils::addChild(doc, node, "HoursPerDay", static_cast<int>(hoursPerDay_));
2168
2171 }
2172
2173 if (!indexName_.empty())
2174 XMLUtils::addChild(doc, node, "IndexName", indexName_);
2175
2176 if (!savingsTime_.empty())
2177 XMLUtils::addChild(doc, node, "SavingsTime", savingsTime_);
2178
2179 if (contractFrequency_ == Monthly && !validContractMonths_.empty() && validContractMonths_.size() < 12) {
2180 XMLNode* validContractMonthNode = doc.allocNode("ValidContractMonths");
2181 for (auto month : validContractMonths_) {
2182 XMLUtils::addChild(doc, validContractMonthNode, "Month", to_string(month));
2183 }
2184 XMLUtils::appendNode(node, validContractMonthNode);
2185 }
2186
2187 if (balanceOfTheMonth_) {
2188 XMLUtils::addChild(doc, node, "BalanceOfTheMonth", balanceOfTheMonth_);
2189 }
2190
2191 if (balanceOfTheMonthPricingCalendar_ != Calendar()) {
2192 XMLUtils::addChild(doc, node, "BalanceOfTheMonthPricingCalendar", to_string(balanceOfTheMonthPricingCalendar_));
2193 }
2194
2195 if (!optionUnderlyingFutureConvention_.empty()) {
2196 XMLUtils::addChild(doc, node, "OptionUnderlyingFutureConvention", optionUnderlyingFutureConvention_);
2197 XMLUtils::addChild(doc, node, "OptionContractFrequency", strOptionContractFrequency_);
2198 }
2199
2200 return node;
2201}
bool empty() const
Returns true if the data has not been populated.
XMLNode * toXML(XMLDocument &doc) const override
static void addChildren(XMLDocument &doc, XMLNode *n, const string &names, const string &name, const vector< T > &values)
Definition: xmlutils.cpp:502
static XMLNode * addChild(XMLDocument &doc, XMLNode *n, const string &name)
Definition: xmlutils.cpp:181
static void appendNode(XMLNode *parent, XMLNode *child)
Definition: xmlutils.cpp:406
std::string to_string(const LocationInfo &l)
Definition: ast.cpp:28
+ Here is the call graph for this function:

◆ build()

void build ( )
overridevirtual

Implementation.

Implements Convention.

Definition at line 2203 of file conventions.cpp.

2203 {
2204
2206 if (strOptionContractFrequency_.empty()) {
2208 } else {
2210 }
2211
2212 if (contractFrequency_ != Daily || optionContractFrequency_ != Daily) {
2214 dayOfMonth_ = lexical_cast<Natural>(strDayOfMonth_);
2216 calendarDaysBefore_ = lexical_cast<Natural>(strCalendarDaysBefore_);
2217 } else if (anchorType_ == AnchorType::LastWeekday) {
2220 businessDaysAfter_ = lexical_cast<Integer>(strBusinessDaysAfter_);
2223 } else {
2224 nth_ = lexical_cast<Natural>(strNth_);
2226 }
2227 }
2228
2231
2232 // Optional entries
2234 offsetDays_ = strOffsetDays_.empty() ? 0 : lexical_cast<Integer>(strOffsetDays_);
2235 bdc_ = strBdc_.empty() ? Preceding : parseBusinessDayConvention(strBdc_);
2236
2238 if (strOptionExpiryOffset_.empty())
2240 else
2241 optionExpiryOffset_ = lexical_cast<Natural>(strOptionExpiryOffset_);
2243 optionNth_ = lexical_cast<Natural>(strOptionNth_);
2247 optionExpiryDay_ = lexical_cast<Natural>(strOptionExpiryDay_);
2252 } else {
2255 }
2256
2258
2259 // Check the continuation mappings
2260 checkContinuationMappings(futureContinuationMappings_, "future");
2261 checkContinuationMappings(optionContinuationMappings_, "option");
2262
2263 // Check that neither of the indexes in OffPeakPowerIndexData self reference
2265 const string& opIdx = offPeakPowerIndexData_->offPeakIndex();
2266 QL_REQUIRE(id_ != opIdx, "The off-peak index (" << opIdx << ") cannot equal the index for which" <<
2267 " we are providing conventions (" << id_ << ").");
2268 const string& pIdx = offPeakPowerIndexData_->peakIndex();
2269 QL_REQUIRE(id_ != pIdx, "The peak index (" << pIdx << ") cannot equal the index for which" <<
2270 " we are providing conventions (" << id_ << ").");
2271 }
2272
2275 } else {
2277 }
2278
2279 QL_REQUIRE(!balanceOfTheMonth_ || isAveraging(), "Balance of the month make only sense for averaging futures");
2280
2281}
Calendar parseCalendar(const string &s)
Convert text to QuantLib::Calendar.
Definition: parsers.cpp:157
BusinessDayConvention parseBusinessDayConvention(const string &s)
Convert text to QuantLib::BusinessDayConvention.
Definition: parsers.cpp:173
Weekday parseWeekday(const string &s)
Definition: parsers.cpp:599
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseAndValidateFrequency()

Frequency parseAndValidateFrequency ( const std::string &  strFrequency)
private

Populate and check frequency.

Definition at line 2283 of file conventions.cpp.

2283 {
2284 auto freq = parseFrequency(strFrequency);
2285 QL_REQUIRE(freq == Annual || freq == Quarterly || freq == Monthly || freq == Weekly || freq == Daily,
2286 "Contract frequency should be annual, quarterly, monthly, weekly or daily but got " << freq);
2287 return freq;
2288}
Frequency parseFrequency(const string &s)
Convert text to QuantLib::Frequency.
Definition: parsers.cpp:348
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ validateBdc()

bool validateBdc ( const ProhibitedExpiry pe) const
private

Validate the business day conventions in the ProhibitedExpiry.

Definition at line 2290 of file conventions.cpp.

2290 {
2291 vector<BusinessDayConvention> bdcs{ pe.futureBdc(), pe.optionBdc() };
2292 for (auto bdc : bdcs) {
2293 if (!(bdc == Preceding || bdc == Following || bdc == ModifiedPreceding || bdc == ModifiedFollowing)) {
2294 WLOG("Prohibited expiry bdc must be one of {Preceding, Following, ModifiedPreceding," <<
2295 " ModifiedFollowing} but got " << bdc << " for date " << io::iso_date(pe.expiry()) << ".");
2296 return false;
2297 }
2298 }
2299 return true;
2300}
#define WLOG(text)
Logging Macro (Level = Warning)
Definition: log.hpp:550
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ anchorType_

AnchorType anchorType_
private

Definition at line 1618 of file conventions.hpp.

◆ dayOfMonth_

QuantLib::Natural dayOfMonth_
private

Definition at line 1619 of file conventions.hpp.

◆ nth_

QuantLib::Natural nth_
private

Definition at line 1620 of file conventions.hpp.

◆ weekday_

QuantLib::Weekday weekday_
private

Definition at line 1621 of file conventions.hpp.

◆ calendarDaysBefore_

QuantLib::Natural calendarDaysBefore_
private

Definition at line 1622 of file conventions.hpp.

◆ businessDaysAfter_

QuantLib::Integer businessDaysAfter_
private

Definition at line 1623 of file conventions.hpp.

◆ contractFrequency_

QuantLib::Frequency contractFrequency_
private

Definition at line 1624 of file conventions.hpp.

◆ calendar_

QuantLib::Calendar calendar_
private

Definition at line 1625 of file conventions.hpp.

◆ expiryCalendar_

QuantLib::Calendar expiryCalendar_
private

Definition at line 1626 of file conventions.hpp.

◆ oneContractMonth_

QuantLib::Month oneContractMonth_
private

Definition at line 1627 of file conventions.hpp.

◆ offsetDays_

QuantLib::Integer offsetDays_
private

Definition at line 1628 of file conventions.hpp.

◆ bdc_

QuantLib::BusinessDayConvention bdc_
private

Definition at line 1629 of file conventions.hpp.

◆ strDayOfMonth_

std::string strDayOfMonth_
private

Definition at line 1632 of file conventions.hpp.

◆ strNth_

std::string strNth_
private

Definition at line 1633 of file conventions.hpp.

◆ strWeekday_

std::string strWeekday_
private

Definition at line 1634 of file conventions.hpp.

◆ strCalendarDaysBefore_

std::string strCalendarDaysBefore_
private

Definition at line 1635 of file conventions.hpp.

◆ strBusinessDaysAfter_

std::string strBusinessDaysAfter_
private

Definition at line 1636 of file conventions.hpp.

◆ strContractFrequency_

std::string strContractFrequency_
private

Definition at line 1637 of file conventions.hpp.

◆ strCalendar_

std::string strCalendar_
private

Definition at line 1638 of file conventions.hpp.

◆ strExpiryCalendar_

std::string strExpiryCalendar_
private

Definition at line 1639 of file conventions.hpp.

◆ expiryMonthLag_

QuantLib::Size expiryMonthLag_
private

Definition at line 1640 of file conventions.hpp.

◆ strOneContractMonth_

std::string strOneContractMonth_
private

Definition at line 1641 of file conventions.hpp.

◆ strOffsetDays_

std::string strOffsetDays_
private

Definition at line 1642 of file conventions.hpp.

◆ strBdc_

std::string strBdc_
private

Definition at line 1643 of file conventions.hpp.

◆ adjustBeforeOffset_

bool adjustBeforeOffset_
private

Definition at line 1644 of file conventions.hpp.

◆ isAveraging_

bool isAveraging_
private

Definition at line 1645 of file conventions.hpp.

◆ prohibitedExpiries_

std::set<ProhibitedExpiry> prohibitedExpiries_
private

Definition at line 1646 of file conventions.hpp.

◆ optionExpiryMonthLag_

QuantLib::Size optionExpiryMonthLag_
private

Definition at line 1647 of file conventions.hpp.

◆ optionBdc_

QuantLib::BusinessDayConvention optionBdc_
private

Definition at line 1648 of file conventions.hpp.

◆ strOptionBdc_

std::string strOptionBdc_
private

Definition at line 1649 of file conventions.hpp.

◆ futureContinuationMappings_

std::map<QuantLib::Natural, QuantLib::Natural> futureContinuationMappings_
private

Definition at line 1650 of file conventions.hpp.

◆ optionContinuationMappings_

std::map<QuantLib::Natural, QuantLib::Natural> optionContinuationMappings_
private

Definition at line 1651 of file conventions.hpp.

◆ averagingData_

AveragingData averagingData_
private

Definition at line 1652 of file conventions.hpp.

◆ hoursPerDay_

QuantLib::Natural hoursPerDay_
private

Definition at line 1653 of file conventions.hpp.

◆ offPeakPowerIndexData_

boost::optional<OffPeakPowerIndexData> offPeakPowerIndexData_
private

Definition at line 1654 of file conventions.hpp.

◆ indexName_

std::string indexName_
private

Definition at line 1655 of file conventions.hpp.

◆ strOptionContractFrequency_

std::string strOptionContractFrequency_
private

Definition at line 1657 of file conventions.hpp.

◆ optionAnchorType_

OptionAnchorType optionAnchorType_
private

Definition at line 1659 of file conventions.hpp.

◆ strOptionExpiryOffset_

std::string strOptionExpiryOffset_
private

Definition at line 1660 of file conventions.hpp.

◆ strOptionExpiryDay_

std::string strOptionExpiryDay_
private

Definition at line 1661 of file conventions.hpp.

◆ strOptionNth_

std::string strOptionNth_
private

Definition at line 1662 of file conventions.hpp.

◆ strOptionWeekday_

std::string strOptionWeekday_
private

Definition at line 1663 of file conventions.hpp.

◆ optionContractFrequency_

QuantLib::Frequency optionContractFrequency_
private

Definition at line 1666 of file conventions.hpp.

◆ optionExpiryOffset_

QuantLib::Natural optionExpiryOffset_
private

Definition at line 1667 of file conventions.hpp.

◆ optionNth_

QuantLib::Natural optionNth_
private

Definition at line 1668 of file conventions.hpp.

◆ optionWeekday_

QuantLib::Weekday optionWeekday_
private

Definition at line 1669 of file conventions.hpp.

◆ optionExpiryDay_

QuantLib::Natural optionExpiryDay_
private

Definition at line 1670 of file conventions.hpp.

◆ validContractMonths_

std::set<QuantLib::Month> validContractMonths_
private

Definition at line 1672 of file conventions.hpp.

◆ savingsTime_

std::string savingsTime_
private

Definition at line 1673 of file conventions.hpp.

◆ balanceOfTheMonth_

bool balanceOfTheMonth_
private

Definition at line 1677 of file conventions.hpp.

◆ balanceOfTheMonthPricingCalendarStr_

std::string balanceOfTheMonthPricingCalendarStr_
private

Definition at line 1678 of file conventions.hpp.

◆ balanceOfTheMonthPricingCalendar_

Calendar balanceOfTheMonthPricingCalendar_
private

Definition at line 1679 of file conventions.hpp.

◆ optionUnderlyingFutureConvention_

std::string optionUnderlyingFutureConvention_
private

Option Underlying Future convention.

Definition at line 1681 of file conventions.hpp.