28#include <ql/experimental/fx/deltavolquote.hpp>
29#include <ql/indexes/iborindex.hpp>
30#include <ql/indexes/inflationindex.hpp>
31#include <ql/indexes/swapindex.hpp>
32#include <ql/instruments/overnightindexfuture.hpp>
33#include <ql/instruments/bond.hpp>
34#include <ql/option.hpp>
39#include <boost/thread/shared_mutex.hpp>
40#include <boost/thread/lock_types.hpp>
91 const string&
id()
const {
return id_; }
119 QuantLib::ext::shared_ptr<Convention>
get(
const string&
id)
const;
126 std::pair<bool, QuantLib::ext::shared_ptr<Convention>>
get(
const std::string&
id,
const Convention::Type& type)
const;
132 QuantLib::ext::shared_ptr<Convention>
getFxConvention(
const string& ccy1,
const string& ccy2)
const;
135 bool has(
const std::string&
id)
const;
145 void add(
const QuantLib::ext::shared_ptr<Convention>& convention)
const;
154 mutable map<string, QuantLib::ext::shared_ptr<Convention>>
data_;
155 mutable map<string, std::pair<string, string>>
unparsed_;
162class InstrumentConventions :
public QuantLib::Singleton<InstrumentConventions, std::integral_constant<bool, true>> {
168 mutable std::map<QuantLib::Date, QuantLib::ext::shared_ptr<ore::data::Conventions>>
conventions_;
173 const QuantLib::ext::shared_ptr<ore::data::Conventions>&
conventions(QuantLib::Date d = QuantLib::Date())
const;
175 QuantLib::Date d = QuantLib::Date());
194 const string&
eom =
"");
223 virtual void build()
override;
280 virtual void build()
override;
320 QuantLib::ext::shared_ptr<IborIndex>
index()
const;
354 QuantLib::ext::shared_ptr<IborIndex>
index()
const;
391 QuantLib::ext::shared_ptr<OvernightIndex>
index()
const;
408 virtual void build()
override;
455 virtual void build()
override;
482 virtual void build()
override;
535 QuantLib::ext::shared_ptr<IborIndex>
index()
const;
546 virtual void build()
override;
595 QuantLib::ext::shared_ptr<OvernightIndex>
index()
const;
604 virtual void build()
override;
649 QuantLib::ext::shared_ptr<IborIndex>
payIndex()
const;
650 QuantLib::ext::shared_ptr<IborIndex>
receiveIndex()
const;
664 virtual void build()
override;
708 QuantLib::ext::shared_ptr<IborIndex>
longIndex()
const;
712 QuantLib::ext::shared_ptr<IborIndex>
shortIndex()
const;
720 virtual void build()
override;
762 QuantLib::ext::shared_ptr<IborIndex>
liborIndex()
const;
763 QuantLib::ext::shared_ptr<QuantExt::BMAIndexWrapper>
bmaIndex()
const;
772 virtual void build()
override;
813 virtual void build()
override;
850 const string& strEom =
"",
const string& strIsResettable =
"",
851 const string& strFlatIndexIsResettable =
"",
const std::string& strFlatTenor =
"",
852 const std::string& strSpreadTenor =
"",
const string& strPaymentLag =
"",
853 const string& strFlatPaymentLag =
"",
const string& strIncludeSpread =
"",
854 const string& strLookback =
"",
const string& strFixingDays =
"",
855 const string& strRateCutoff =
"",
const string& strIsAveraged =
"",
856 const string& strFlatIncludeSpread =
"",
const string& strFlatLookback =
"",
857 const string& strFlatFixingDays =
"",
const string& strFlatRateCutoff =
"",
858 const string& strFlatIsAveraged =
"",
const Conventions* conventions =
nullptr);
866 QuantLib::ext::shared_ptr<IborIndex>
flatIndex()
const;
867 QuantLib::ext::shared_ptr<IborIndex>
spreadIndex()
const;
897 virtual void build()
override;
962 const std::string&
index,
const std::string&
eom =
"",
963 const std::string& strIsResettable =
"",
964 const std::string& strFloatIndexIsResettable =
"");
976 QuantLib::ext::shared_ptr<QuantLib::IborIndex>
index()
const;
990 void build()
override;
1032 CdsConvention(
const string&
id,
const string& strSettlementDays,
const string& strCalendar,
1033 const string& strFrequency,
const string& strPaymentConvention,
const string& strRule,
1056 virtual void build()
override;
1095 const string& strDayCounter,
const string& strIndex,
const string& strInterpolated,
1096 const string& strObservationLag,
const string& strAdjustInfObsDates,
1097 const string& strInfCalendar,
const string& strInfConvention,
1099 const QuantLib::ext::shared_ptr<ScheduleData>& publicationScheduleData =
nullptr);
1104 QuantLib::ext::shared_ptr<ZeroInflationIndex>
index()
const;
1116 virtual void build()
override;
1122 QuantLib::ext::shared_ptr<ZeroInflationIndex>
index_;
1188 virtual void build()
override;
1225 const string& strSwapTenor,
const string& strFixingDays,
const string& strCalendar,
1226 const string& strDayCounter,
const string& strConvention);
1244 virtual void build()
override;
1278 BusinessDayConvention
bdc = Following,
bool outright =
true);
1288 BusinessDayConvention
bdc()
const {
return bdc_; }
1296 virtual void build()
override;
1388 QuantLib::Null<QuantLib::Natural>());
1467 const QuantLib::Date&
expiry,
1469 QuantLib::BusinessDayConvention
futureBdc = QuantLib::Preceding,
1471 QuantLib::BusinessDayConvention
optionBdc = QuantLib::Preceding);
1499 const std::string&
offsetDays =
"",
const std::string& bdc =
"",
1504 const std::string& optionBdc =
"",
1508 QuantLib::Natural
hoursPerDay = QuantLib::Null<QuantLib::Natural>(),
1510 const std::string&
indexName =
"",
const std::string& optionFrequency =
"");
1521 const std::string& optionBdc =
"",
1525 QuantLib::Natural
hoursPerDay = QuantLib::Null<QuantLib::Natural>(),
1527 const std::string&
indexName =
"",
const std::string& optionFrequency =
"");
1538 const std::string& optionBdc =
"",
1542 QuantLib::Natural
hoursPerDay = QuantLib::Null<QuantLib::Natural>(),
1544 const std::string&
indexName =
"",
const std::string& optionFrequency =
"");
1555 const std::string& optionBdc =
"",
1559 QuantLib::Natural
hoursPerDay = QuantLib::Null<QuantLib::Natural>(),
1561 const std::string&
indexName =
"",
const std::string& optionFrequency =
"");
1615 void build()
override;
1629 QuantLib::BusinessDayConvention
bdc_;
1706 const string& butterflyStyle =
"Broker");
1725 virtual void build()
override;
1755 const std::string& regionName,
1756 const std::string& regionCode,
1762 QuantLib::Region
region()
const;
1770 void build()
override;
1814 void build()
override;
Container for storing Average OIS conventions.
Natural rateCutoff() const
BusinessDayConvention fixedConvention_
string strFixedDayCounter_
AverageOisConvention()
Default constructor.
DayCounter fixedDayCounter_
BusinessDayConvention fixedPaymentConvention() const
Frequency fixedFrequency() const
string strFixedConvention_
const Period & fixedTenor() const
virtual void fromXML(XMLNode *node) override
string strFixedPaymentConvention_
virtual XMLNode * toXML(XMLDocument &doc) const override
virtual void build() override
const DayCounter & fixedDayCounter() const
Frequency fixedFrequency_
string strFixedFrequency_
BusinessDayConvention fixedConvention() const
const Calendar & fixedCalendar() const
const string & indexName() const
const Period & onTenor() const
QuantLib::ext::shared_ptr< OvernightIndex > index() const
BusinessDayConvention fixedPaymentConvention_
Container for storing Libor-BMA Basis Swap conventions.
const string & bmaIndexName() const
const string & liborIndexName() const
BMABasisSwapConvention()
Default constructor.
QuantLib::ext::shared_ptr< QuantExt::BMAIndexWrapper > bmaIndex() const
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
virtual void build() override
QuantLib::ext::shared_ptr< IborIndex > liborIndex() const
std::string frequencyName_
BondYieldConvention()
Constructor.
std::string compoundingName_
QuantLib::Bond::Price::Type priceType() const
QuantLib::Real accuracy() const
Compounding compounding() const
QuantLib::Real guess() const
void fromXML(XMLNode *node) override
std::string frequencyName() const
XMLNode * toXML(XMLDocument &doc) const override
std::string compoundingName() const
QuantLib::Size maxEvaluations_
QuantLib::Bond::Price::Type priceType_
Frequency frequency() const
std::string priceTypeName_
QuantLib::Size maxEvaluations() const
std::string priceTypeName() const
Container for storing Credit Default Swap quote conventions.
string strSettlesAccrual_
const DayCounter & lastPeriodDayCounter() const
bool paysAtDefaultTime() const
Natural settlementDays() const
BusinessDayConvention paymentConvention() const
const DayCounter & dayCounter() const
virtual void fromXML(XMLNode *node0) override
string strSettlementDays_
const Calendar & calendar() const
string strUpfrontSettlementDays_
virtual XMLNode * toXML(XMLDocument &doc) const override
DateGeneration::Rule rule_
string strPaymentConvention_
virtual void build() override
bool settlesAccrual() const
string strLastPeriodDayCounter_
BusinessDayConvention paymentConvention_
DateGeneration::Rule rule() const
Natural upfrontSettlementDays() const
DayCounter lastPeriodDayCounter_
Frequency frequency() const
Natural upfrontSettlementDays_
CdsConvention()
Default constructor.
string strPaysAtDefaultTime_
Container for storing CMS Spread Option conventions.
string strRollConvention_
Natural fixingDays() const
const DayCounter & dayCounter() const
const Period & forwardStart() const
const Calendar & calendar() const
const Period & swapTenor()
CmsSpreadOptionConvention()
Default constructor.
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
virtual void build() override
BusinessDayConvention rollConvention_
BusinessDayConvention rollConvention() const
const Period spotDays() const
const Calendar & advanceCalendar() const
string strAdvanceCalendar() const
Real pointsFactor() const
BusinessDayConvention bdc() const
bool spotRelative() const
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
CommodityForwardConvention()
Default constructor.
virtual void build() override
BusinessDayConvention bdc_
string strAdvanceCalendar_
Calendar advanceCalendar_
QuantLib::Calendar pricingCalendar_
QuantLib::Natural futureMonthOffset() const
QuantLib::Natural deliveryRollDays() const
CalculationPeriod period_
const std::string & commodityName() const
bool useBusinessDays() const
AveragingData()
Default constructor.
CalculationPeriod period() const
const QuantLib::Calendar & pricingCalendar() const
bool empty() const
Returns true if the data has not been populated.
QuantLib::Natural futureMonthOffset_
void build()
Populate members.
void fromXML(XMLNode *node) override
Serialisation.
CalculationPeriod
Indicate location of calculation period relative to the future expiry date.
XMLNode * toXML(XMLDocument &doc) const override
QuantLib::Natural dailyExpiryOffset_
QuantLib::Natural dailyExpiryOffset() const
const std::string & conventionsId() const
AveragingData(const std::string &commodityName, const std::string &period, const std::string &pricingCalendar, bool useBusinessDays, const std::string &conventionsId="", QuantLib::Natural deliveryRollDays=0, QuantLib::Natural futureMonthOffset=0, QuantLib::Natural dailyExpiryOffset=QuantLib::Null< QuantLib::Natural >())
Detailed constructor.
QuantLib::Natural deliveryRollDays_
std::string conventionsId_
std::string commodityName_
std::string strPricingCalendar_
Class to store conventions for creating an off peak power index.
std::string strOffPeakHours_
const std::string & peakIndex() const
std::string strPeakCalendar_
const QuantLib::Calendar & peakCalendar() const
QuantLib::Calendar peakCalendar_
OffPeakPowerIndexData()
Constructor.
std::string offPeakIndex_
void fromXML(XMLNode *node) override
XMLNode * toXML(XMLDocument &doc) const override
QuantLib::Real offPeakHours() const
QuantLib::Real offPeakHours_
const std::string & offPeakIndex() const
Class to hold prohibited expiry information.
ProhibitedExpiry(const QuantLib::Date &expiry, bool forFuture=true, QuantLib::BusinessDayConvention futureBdc=QuantLib::Preceding, bool forOption=true, QuantLib::BusinessDayConvention optionBdc=QuantLib::Preceding)
QuantLib::BusinessDayConvention optionBdc() const
QuantLib::BusinessDayConvention optionBdc_
void fromXML(XMLNode *node) override
QuantLib::BusinessDayConvention futureBdc() const
XMLNode * toXML(XMLDocument &doc) const override
QuantLib::BusinessDayConvention futureBdc_
const QuantLib::Date & expiry() const
QuantLib::BusinessDayConvention optionBusinessDayConvention() const
std::string strOptionWeekday_
QuantLib::Natural optionExpiryOffset() const
const AveragingData & averagingData() const
bool adjustBeforeOffset() const
QuantLib::Weekday weekday() const
std::string strDayOfMonth_
Calendar balanceOfTheMonthPricingCalendar() const
AnchorType anchorType() const
std::string strOptionBdc_
std::string strExpiryCalendar_
boost::optional< OffPeakPowerIndexData > offPeakPowerIndexData_
OptionAnchorType optionAnchorType_
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.
std::string optionUnderlyingFutureConvention_
Option Underlying Future convention.
const QuantLib::Calendar & expiryCalendar() const
const std::map< QuantLib::Natural, QuantLib::Natural > & futureContinuationMappings() const
QuantLib::Natural hoursPerDay() const
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.
QuantLib::BusinessDayConvention optionBdc_
const std::string & indexName() const
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.
QuantLib::Size expiryMonthLag_
QuantLib::Integer businessDaysAfter_
std::string strOneContractMonth_
QuantLib::BusinessDayConvention businessDayConvention() const
QuantLib::Natural optionExpiryDay_
std::string strOptionNth_
QuantLib::Integer businessDaysAfter() const
std::string strCalendarDaysBefore_
std::string strOptionContractFrequency_
const std::string & optionUnderlyingFutureConvention() const
QuantLib::Frequency contractFrequency() const
std::map< QuantLib::Natural, QuantLib::Natural > futureContinuationMappings_
QuantLib::Frequency optionContractFrequency() const
QuantLib::Natural optionNth_
OptionAnchorType optionAnchorType() const
QuantLib::Natural optionNth() const
std::string strBusinessDaysAfter_
std::string strOptionExpiryDay_
Frequency parseAndValidateFrequency(const std::string &strFrequency)
Populate and check frequency.
QuantLib::Natural calendarDaysBefore_
AveragingData averagingData_
QuantLib::Size optionExpiryMonthLag() const
QuantLib::Size optionExpiryMonthLag_
void fromXML(XMLNode *node) override
Serialisation.
std::string strOffsetDays_
const QuantLib::Calendar & calendar() const
QuantLib::Natural hoursPerDay_
QuantLib::Weekday optionWeekday_
std::set< ProhibitedExpiry > prohibitedExpiries_
XMLNode * toXML(XMLDocument &doc) const override
QuantLib::Integer offsetDays_
std::string balanceOfTheMonthPricingCalendarStr_
std::string strContractFrequency_
const std::set< ProhibitedExpiry > & prohibitedExpiries() const
std::string strOptionExpiryOffset_
void build() override
Implementation.
QuantLib::Calendar calendar_
const std::map< QuantLib::Natural, QuantLib::Natural > & optionContinuationMappings() const
const std::string & savingsTime() const
QuantLib::Natural optionExpiryDay() const
QuantLib::Natural dayOfMonth() const
QuantLib::Month oneContractMonth_
const boost::optional< OffPeakPowerIndexData > & offPeakPowerIndexData() const
QuantLib::Natural dayOfMonth_
QuantLib::Weekday weekday_
QuantLib::Frequency contractFrequency_
std::map< QuantLib::Natural, QuantLib::Natural > optionContinuationMappings_
const std::set< QuantLib::Month > & validContractMonths() const
std::set< QuantLib::Month > validContractMonths_
QuantLib::Calendar expiryCalendar_
bool balanceOfTheMonth() const
QuantLib::Integer offsetDays() const
QuantLib::Weekday optionWeekday() const
QuantLib::BusinessDayConvention bdc_
Calendar balanceOfTheMonthPricingCalendar_
QuantLib::Natural nth() const
QuantLib::Frequency optionContractFrequency_
QuantLib::Month oneContractMonth() const
QuantLib::Natural calendarDaysBefore() const
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.
QuantLib::Natural optionExpiryOffset_
CommodityFutureConvention()
Default constructor.
QuantLib::Size expiryMonthLag() const
bool validateBdc(const ProhibitedExpiry &pe) const
Validate the business day conventions in the ProhibitedExpiry.
Abstract base class for convention objects.
const string & id() const
Type
Supported convention types.
virtual ~Convention()
Default destructor.
Repository for currency dependent market conventions.
bool has(const std::string &id) const
Checks if we have a convention with the given id.
Conventions()
Default constructor.
QuantLib::ext::shared_ptr< Convention > get(const string &id) const
map< string, QuantLib::ext::shared_ptr< Convention > > data_
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
map< string, std::pair< string, string > > unparsed_
boost::shared_mutex mutex_
QuantLib::ext::shared_ptr< Convention > getFxConvention(const string &ccy1, const string &ccy2) const
void add(const QuantLib::ext::shared_ptr< Convention > &convention) const
Container for storing Cross Currency Basis Swap quote conventions.
string strFlatIndexIsResettable_
const QuantLib::Period & flatTenor() const
boost::optional< bool > flatIncludeSpread_
boost::optional< QuantLib::Size > flatFixingDays() const
string strRollConvention_
string strFlatIncludeSpread_
QuantLib::ext::shared_ptr< IborIndex > spreadIndex() const
Natural settlementDays() const
boost::optional< QuantLib::Size > fixingDays_
string strFlatPaymentLag_
boost::optional< bool > flatIsAveraged() const
boost::optional< QuantLib::Period > lookback() const
QuantLib::ext::shared_ptr< IborIndex > flatIndex() const
string strSettlementDays_
boost::optional< QuantLib::Size > flatFixingDays_
const Calendar & settlementCalendar() const
boost::optional< QuantLib::Period > lookback_
Size flatPaymentLag() const
const string & spreadIndexName() const
boost::optional< bool > isAveraged_
CrossCcyBasisSwapConvention()
Default constructor.
boost::optional< Size > flatRateCutoff_
boost::optional< Size > flatRateCutoff() const
QuantLib::Size flatPaymentLag_
boost::optional< Size > rateCutoff_
const QuantLib::Period & spreadTenor() const
boost::optional< bool > flatIncludeSpread() const
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
Calendar settlementCalendar_
boost::optional< bool > includeSpread() const
string strFlatRateCutoff_
QuantLib::Period flatTenor_
virtual void build() override
bool flatIndexIsResettable() const
boost::optional< QuantLib::Period > flatLookback() const
boost::optional< QuantLib::Period > flatLookback_
boost::optional< QuantLib::Size > fixingDays() const
boost::optional< bool > isAveraged() const
QuantLib::Size paymentLag_
BusinessDayConvention rollConvention_
bool flatIndexIsResettable_
bool isResettable() const
boost::optional< bool > includeSpread_
string strFlatIsAveraged_
boost::optional< bool > flatIsAveraged_
BusinessDayConvention rollConvention() const
string strSettlementCalendar_
const string & flatIndexName() const
QuantLib::Period spreadTenor_
string strFlatFixingDays_
boost::optional< Size > rateCutoff() const
QuantLib::BusinessDayConvention fixedConvention() const
QuantLib::Calendar settlementCalendar_
QuantLib::Frequency fixedFrequency_
std::string strFixedCurrency_
std::string strFixedDayCounter_
bool floatIndexIsResettable_
bool floatIndexIsResettable() const
QuantLib::BusinessDayConvention settlementConvention() const
std::string strSettlementConvention_
void fromXML(XMLNode *node) override
QuantLib::Currency fixedCurrency_
XMLNode * toXML(XMLDocument &doc) const override
QuantLib::Natural settlementDays_
const QuantLib::Calendar & settlementCalendar() const
std::string strFloatIndexIsResettable_
QuantLib::ext::shared_ptr< QuantLib::IborIndex > index() const
QuantLib::DayCounter fixedDayCounter_
QuantLib::Frequency fixedFrequency() const
QuantLib::Natural settlementDays() const
QuantLib::BusinessDayConvention settlementConvention_
bool isResettable() const
QuantLib::BusinessDayConvention fixedConvention_
std::string strSettlementDays_
std::string strIsResettable_
const QuantLib::DayCounter & fixedDayCounter() const
CrossCcyFixFloatSwapConvention()
Default constructor.
std::string strFixedFrequency_
const QuantLib::Currency & fixedCurrency() const
std::string strSettlementCalendar_
std::string strFixedConvention_
Container for storing Deposit conventions.
const DayCounter & dayCounter() const
const string & index() const
string strSettlementDays_
const Size settlementDays() const
const Calendar & calendar() const
DepositConvention()
Default constructor.
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
BusinessDayConvention convention_
BusinessDayConvention convention() const
virtual void build() override
Container for storing FX Spot quote conventions.
const Calendar & advanceCalendar() const
Real pointsFactor() const
const Currency & sourceCurrency() const
bool spotRelative() const
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
BusinessDayConvention convention_
BusinessDayConvention convention() const
virtual void build() override
string strTargetCurrency_
string strAdvanceCalendar_
Calendar advanceCalendar_
const Currency & targetCurrency() const
FXConvention()
Default constructor.
string strSourceCurrency_
Container for storing Forward rate Agreement conventions.
virtual void build() override
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
QuantLib::ext::shared_ptr< IborIndex > index() const
const string & indexName() const
FraConvention()
Default constructor.
Container for storing Money Market Futures conventions.
QuantLib::RateAveraging::Type overnightIndexFutureNettingType_
virtual void build() override
FutureConvention()
Default constructor.
DateGenerationRule dateGenerationRule() const
virtual void fromXML(XMLNode *node) override
Serialisation.
virtual XMLNode * toXML(XMLDocument &doc) const override
DateGenerationRule dateGenerationRule_
QuantLib::ext::shared_ptr< IborIndex > index() const
QuantLib::RateAveraging::Type overnightIndexFutureNettingType() const
Container for storing FX Option conventions.
const QuantLib::Option::Type & riskReversalInFavorOf() const
bool butterflyIsBrokerStyle_
DeltaVolQuote::AtmType atmType_
const DeltaVolQuote::DeltaType & deltaType() const
const string & fxConventionID() const
string strButterflyStyle_
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
virtual void build() override
string strLongTermDeltaType_
string strRiskReversalInFavorOf_
DeltaVolQuote::AtmType longTermAtmType_
const DeltaVolQuote::DeltaType & longTermDeltaType() const
const DeltaVolQuote::AtmType & longTermAtmType() const
const Period & switchTenor() const
const bool butterflyIsBrokerStyle() const
const DeltaVolQuote::AtmType & atmType() const
DeltaVolQuote::DeltaType deltaType_
DeltaVolQuote::DeltaType longTermDeltaType_
QuantLib::Option::Type riskReversalInFavorOf_
string strLongTermAtmType_
Container for storing Interest Rate Swap conventions.
Frequency floatFrequency() const
BusinessDayConvention fixedConvention_
SubPeriodsCoupon1::Type subPeriodsCouponType() const
string strFixedDayCounter_
DayCounter fixedDayCounter_
IRSwapConvention()
Default constructor.
Frequency fixedFrequency() const
string strFixedConvention_
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
virtual void build() override
const DayCounter & fixedDayCounter() const
Frequency fixedFrequency_
bool hasSubPeriod() const
string strFixedFrequency_
BusinessDayConvention fixedConvention() const
string strFloatFrequency_
string strSubPeriodsCouponType_
QuantLib::ext::shared_ptr< IborIndex > index() const
const Calendar & fixedCalendar() const
const string & indexName() const
Frequency floatFrequency_
SubPeriodsCoupon1::Type subPeriodsCouponType_
Container for storing Ibor Index conventions.
string strFixingCalendar_
const string & businessDayConvention() const
const string & fixingCalendar() const
const bool endOfMonth() const
const Size settlementDays() const
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
virtual void build() override
const string & dayCounter() const
string strBusinessDayConvention_
QuantLib::ext::shared_ptr< ScheduleData > publicationScheduleData_
BusinessDayConvention infConvention_
string strAdjustInfObsDates_
PublicationRoll publicationRoll() const
QuantLib::ext::shared_ptr< ZeroInflationIndex > index() const
bool adjustInfObsDates() const
bool interpolated() const
const DayCounter & dayCounter() const
const Calendar & fixCalendar() const
string strObservationLag_
BusinessDayConvention fixConvention() const
virtual void fromXML(XMLNode *node) override
PublicationRoll publicationRoll_
QuantLib::ext::shared_ptr< ZeroInflationIndex > index_
virtual XMLNode * toXML(XMLDocument &doc) const override
Period observationLag() const
virtual void build() override
BusinessDayConvention infConvention() const
const string & indexName() const
const Calendar & infCalendar() const
PublicationRoll
Rule for determining when inflation swaps roll to observing latest inflation index release.
BusinessDayConvention fixConvention_
Schedule publicationSchedule_
InflationSwapConvention()
const Schedule & publicationSchedule() const
Singleton to hold conventions.
const QuantLib::ext::shared_ptr< ore::data::Conventions > & conventions(QuantLib::Date d=QuantLib::Date()) const
std::size_t numberOfEmittedWarnings_
std::map< QuantLib::Date, QuantLib::ext::shared_ptr< ore::data::Conventions > > conventions_
boost::shared_mutex mutex_
void setConventions(const QuantLib::ext::shared_ptr< ore::data::Conventions > &conventions, QuantLib::Date d=QuantLib::Date())
Container for storing Overnight Index Swap conventions.
BusinessDayConvention fixedConvention_
string strFixedDayCounter_
std::string strPaymentCal_
DayCounter fixedDayCounter_
BusinessDayConvention fixedPaymentConvention() const
Frequency fixedFrequency() const
string strFixedConvention_
virtual void fromXML(XMLNode *node) override
Natural paymentLag() const
string strFixedPaymentConvention_
virtual XMLNode * toXML(XMLDocument &doc) const override
DateGeneration::Rule rule_
virtual void build() override
const DayCounter & fixedDayCounter() const
Frequency fixedFrequency_
string strFixedFrequency_
DateGeneration::Rule rule() const
BusinessDayConvention fixedConvention() const
const Calendar & fixedCalendar() const
const string & indexName() const
QuantLib::Calendar paymentCal_
QuantLib::ext::shared_ptr< OvernightIndex > index() const
OisConvention()
Default constructor.
QuantLib::Calendar paymentCalendar() const
BusinessDayConvention fixedPaymentConvention_
Container for storing Overnight Index conventions.
string strFixingCalendar_
const string & fixingCalendar() const
const Size settlementDays() const
virtual void fromXML(XMLNode *node) override
OvernightIndexConvention()
virtual XMLNode * toXML(XMLDocument &doc) const override
virtual void build() override
const string & dayCounter() const
Container for storing Bond Spread Rate conventions.
const Calendar & spotCalendar() const
Calendar used for spot date adjustment.
string strRollConvention_
const DayCounter & dayCounter() const
Zero rate day counter.
SecuritySpreadConvention()
Default constructor.
Compounding compounding() const
Zero rate compounding.
const Calendar & tenorCalendar() const
Return the calendar used for converting tenor points into dates.
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
bool eom()
End of month adjustment.
Frequency compoundingFrequency() const
Zero rate compounding frequency.
virtual void build() override
Frequency compoundingFrequency_
BusinessDayConvention rollConvention_
bool tenorBased()
Flag to indicate whether the Zero Rate convention is based on a tenor input.
string strCompoundingFrequency_
Natural spotLag() const
Zero rate spot lag.
BusinessDayConvention rollConvention() const
Business day convention used in converting tenor points into dates.
Container for storing Swap Index conventions.
const string & fixingCalendar() const
virtual void build() override
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
const string & conventions() const
Container for storing Tenor Basis Swap conventions.
const string & payIndexName() const
SubPeriodsCoupon1::Type subPeriodsCouponType() const
const Period & payFrequency() const
bool includeSpread() const
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
QuantLib::ext::shared_ptr< IborIndex > receiveIndex() const
virtual void build() override
QuantLib::ext::shared_ptr< IborIndex > payIndex() const
const Period & receiveFrequency() const
string strReceiveFrequency_
string strSubPeriodsCouponType_
TenorBasisSwapConvention()
Default constructor.
const string & receiveIndexName() const
SubPeriodsCoupon1::Type subPeriodsCouponType_
Container for storing conventions for Tenor Basis Swaps quoted as a spread of two interest rate swaps...
DayCounter longFixedDayCounter_
Frequency longFixedFrequency() const
BusinessDayConvention longFixedConvention() const
BusinessDayConvention shortFixedConvention() const
BusinessDayConvention longFixedConvention_
const Calendar & calendar() const
string strShortFixedConvention_
string strShortFixedFrequency_
virtual void fromXML(XMLNode *node) override
BusinessDayConvention shortFixedConvention_
virtual XMLNode * toXML(XMLDocument &doc) const override
TenorBasisTwoSwapConvention()
Default constructor.
string strLongMinusShort_
DayCounter shortFixedDayCounter_
virtual void build() override
QuantLib::ext::shared_ptr< IborIndex > shortIndex() const
QuantLib::ext::shared_ptr< IborIndex > longIndex() const
Frequency shortFixedFrequency_
const DayCounter & shortFixedDayCounter() const
Frequency shortFixedFrequency() const
string strLongFixedFrequency_
string strShortFixedDayCounter_
const DayCounter & longFixedDayCounter() const
bool longMinusShort() const
string strLongFixedConvention_
string strLongFixedDayCounter_
Frequency longFixedFrequency_
Small XML Document wrapper class.
Base class for all serializable classes.
std::string strFrequency_
QuantLib::Frequency frequency() const
QuantLib::Currency currency_
std::string strAvailabilityLag_
void fromXML(XMLNode *node) override
XMLNode * toXML(XMLDocument &doc) const override
const QuantLib::Period & availabilityLag() const
QuantLib::Region region() const
ZeroInflationIndexConvention()
Constructor.
const QuantLib::Currency & currency() const
QuantLib::Period availabilityLag_
QuantLib::Frequency frequency_
Container for storing Zero Rate conventions.
const Calendar & spotCalendar() const
Calendar used for spot date adjustment.
string strRollConvention_
const DayCounter & dayCounter() const
Zero rate day counter.
Compounding compounding() const
Zero rate compounding.
const Calendar & tenorCalendar() const
Return the calendar used for converting tenor points into dates.
virtual void fromXML(XMLNode *node) override
ZeroRateConvention()
Default constructor.
virtual XMLNode * toXML(XMLDocument &doc) const override
bool eom()
End of month adjustment.
Frequency compoundingFrequency() const
Zero rate compounding frequency.
virtual void build() override
Frequency compoundingFrequency_
BusinessDayConvention rollConvention_
bool tenorBased()
Flag to indicate whether the Zero Rate convention is based on a tenor input.
string strCompoundingFrequency_
Natural spotLag() const
Zero rate spot lag.
BusinessDayConvention rollConvention() const
Business day convention used in converting tenor points into dates.
Date lastWeekday(Weekday dayOfWeek, Month m, Year y)
bool operator<(const Dividend &d1, const Dividend &d2)
std::ostream & operator<<(std::ostream &out, EquityReturnType t)
Serializable Credit Default Swap.
trade schedule data model and serialization
BusinessDaysAfter(const std::string &businessDaysAfter)
std::string businessDaysAfter_
std::string calendarDaysBefore_
CalendarDaysBefore(const std::string &calendarDaysBefore)
Classes to differentiate constructors below.
DayOfMonth(const std::string &dayOfMonth)
OptionExpiryAnchorDateRule(const std::string &nth, const std::string &weekday)
OptionExpiryAnchorDateRule(const DayOfMonth &expiryDay)
OptionExpiryAnchorDateRule(const CalendarDaysBefore &businessDaysBefore)
OptionExpiryAnchorDateRule(const WeeklyWeekday &weekday)
OptionExpiryAnchorDateRule()
OptionExpiryAnchorDateRule(const std::string &lastWeekday)
WeeklyWeekday(const std::string &weekday)