leg data model and serialization More...
#include <boost/make_shared.hpp>#include <ored/portfolio/fixingdates.hpp>#include <ored/portfolio/indexing.hpp>#include <ored/portfolio/legdatafactory.hpp>#include <ored/portfolio/schedule.hpp>#include <ored/portfolio/simmcreditqualifiermapping.hpp>#include <ored/portfolio/underlying.hpp>#include <ored/utilities/indexparser.hpp>#include <ored/utilities/parsers.hpp>#include <ql/cashflow.hpp>#include <ql/experimental/coupons/swapspreadindex.hpp>#include <ql/indexes/iborindex.hpp>#include <ql/position.hpp>#include <qle/cashflows/equitycoupon.hpp>#include <qle/indexes/bmaindexwrapper.hpp>#include <qle/indexes/equityindex.hpp>#include <vector>Go to the source code of this file.
Classes | |
| class | LegAdditionalData |
| Serializable Additional Leg Data. More... | |
| class | CashflowData |
| Serializable Cashflow Leg Data. More... | |
| class | FixedLegData |
| Serializable Fixed Leg Data. More... | |
| class | ZeroCouponFixedLegData |
| Serializable Fixed Leg Data. More... | |
| class | FloatingLegData |
| Serializable Floating Leg Data. More... | |
| class | CPILegData |
| Serializable CPI Leg Data. More... | |
| class | YoYLegData |
| Serializable YoY Leg Data. More... | |
| class | CMSLegData |
| Serializable CMS Leg Data. More... | |
| class | DigitalCMSLegData |
| Serializable Digital CMS Leg Data. More... | |
| class | CMSSpreadLegData |
| Serializable CMS Spread Leg Data. More... | |
| class | DigitalCMSSpreadLegData |
| Serializable Digital CMS Spread Leg Data. More... | |
| class | CMBLegData |
| Serializable Constant Maturity Bond Yield Leg Data. More... | |
| class | EquityLegData |
| Serializable Fixed Leg Data. More... | |
| class | AmortizationData |
| Serializable object holding amortization rules. More... | |
| class | LegData |
| Serializable object holding leg data. More... | |
Namespaces | |
| namespace | ore |
| Serializable Credit Default Swap. | |
| namespace | ore::data |
Functions | |
Utilities for building QuantLib Legs | |
| Leg | makeFixedLeg (const LegData &data, const QuantLib::Date &openEndDateReplacement) |
| Leg | makeZCFixedLeg (const LegData &data, const QuantLib::Date &openEndDateReplacement) |
| Leg | makeIborLeg (const LegData &data, const QuantLib::ext::shared_ptr< IborIndex > &index, const QuantLib::ext::shared_ptr< EngineFactory > &engineFactory, const bool attachPricer, const QuantLib::Date &openEndDateReplacement) |
| Leg | makeOISLeg (const LegData &data, const QuantLib::ext::shared_ptr< OvernightIndex > &index, const QuantLib::ext::shared_ptr< EngineFactory > &engineFactory, const bool attachPricer, const QuantLib::Date &openEndDateReplacement) |
| Leg | makeBMALeg (const LegData &data, const QuantLib::ext::shared_ptr< QuantExt::BMAIndexWrapper > &indexWrapper, const QuantLib::ext::shared_ptr< EngineFactory > &engineFactory, const QuantLib::Date &openEndDateReplacement) |
| Leg | makeSimpleLeg (const LegData &data) |
| Leg | makeNotionalLeg (const Leg &refLeg, const bool initNomFlow, const bool finalNomFlow, const bool amortNomFlow, const QuantLib::Natural notionalPaymentLag, const BusinessDayConvention paymentConvention, const Calendar paymentCalendar, const bool excludeIndexing=true) |
| Leg | makeCPILeg (const LegData &data, const QuantLib::ext::shared_ptr< ZeroInflationIndex > &index, const QuantLib::ext::shared_ptr< EngineFactory > &engineFactory, const QuantLib::Date &openEndDateReplacement) |
| Leg | makeYoYLeg (const LegData &data, const QuantLib::ext::shared_ptr< InflationIndex > &index, const QuantLib::ext::shared_ptr< EngineFactory > &engineFactory, const QuantLib::Date &openEndDateReplacement) |
| Leg | makeCMSLeg (const LegData &data, const QuantLib::ext::shared_ptr< QuantLib::SwapIndex > &swapIndex, const QuantLib::ext::shared_ptr< EngineFactory > &engineFactory, const bool attachPricer, const QuantLib::Date &openEndDateReplacement) |
| Leg | makeCMBLeg (const LegData &data, const QuantLib::ext::shared_ptr< EngineFactory > &engineFactory, const bool attachPricer, const QuantLib::Date &openEndDateReplacement) |
| Leg | makeDigitalCMSLeg (const LegData &data, const QuantLib::ext::shared_ptr< QuantLib::SwapIndex > &swapIndex, const QuantLib::ext::shared_ptr< EngineFactory > &engineFactory, const bool attachPricer, const QuantLib::Date &openEndDateReplacement) |
| Leg | makeCMSSpreadLeg (const LegData &data, const QuantLib::ext::shared_ptr< QuantLib::SwapSpreadIndex > &swapSpreadIndex, const QuantLib::ext::shared_ptr< EngineFactory > &engineFactory, const bool attachPricer, const QuantLib::Date &openEndDateReplacement) |
| Leg | makeDigitalCMSSpreadLeg (const LegData &data, const QuantLib::ext::shared_ptr< QuantLib::SwapSpreadIndex > &swapSpreadIndex, const QuantLib::ext::shared_ptr< EngineFactory > &engineFactory, const QuantLib::Date &openEndDateReplacement) |
| Leg | makeEquityLeg (const LegData &data, const QuantLib::ext::shared_ptr< QuantExt::EquityIndex2 > &equityCurve, const QuantLib::ext::shared_ptr< QuantExt::FxIndex > &fxIndex=nullptr, const QuantLib::Date &openEndDateReplacement=Null< Date >()) |
| Real | currentNotional (const Leg &leg) |
| Real | originalNotional (const Leg &leg) |
| std::string | getCmbLegCreditRiskCurrency (const CMBLegData &ld, const QuantLib::ext::shared_ptr< ReferenceDataManager > &refData) |
| std::pair< std::string, SimmCreditQualifierMapping > | getCmbLegCreditQualifierMapping (const CMBLegData &ld, const QuantLib::ext::shared_ptr< ReferenceDataManager > &refData, const std::string &tradeId, const std::string &tradeType) |
| template<typename T > | |
| vector< T > | buildScheduledVector (const vector< T > &values, const vector< string > &dates, const Schedule &schedule, const bool checkAllValuesAppearInResult=false) |
| template<typename T > | |
| vector< T > | normaliseToSchedule (const vector< T > &values, const Schedule &schedule, const T &defaultValue) |
| template<typename T > | |
| vector< T > | buildScheduledVectorNormalised (const vector< T > &values, const vector< string > &dates, const Schedule &schedule, const T &defaultValue, const bool checkAllValuesAppearInResult=false) |
| template<typename T > | |
| vector< T >::const_iterator | checkAllValuesAppearInScheduledVector (const vector< T > &scheduledVecotr, const vector< T > &inputValues) |
| vector< double > | buildAmortizationScheduleFixedAmount (const vector< double > ¬ionals, const Schedule &schedule, const AmortizationData &data) |
| vector< double > | buildAmortizationScheduleRelativeToInitialNotional (const vector< double > ¬ionals, const Schedule &schedule, const AmortizationData &data) |
| vector< double > | buildAmortizationScheduleRelativeToPreviousNotional (const vector< double > ¬ionals, const Schedule &schedule, const AmortizationData &data) |
| vector< double > | buildAmortizationScheduleFixedAnnuity (const vector< double > ¬ionals, const vector< double > &rates, const Schedule &schedule, const AmortizationData &data, const DayCounter &dc) |
| void | applyAmortization (std::vector< Real > ¬ionals, const LegData &data, const Schedule &schedule, const bool annuityAllowed, const std::vector< Real > &rates) |
| void | applyIndexing (Leg &leg, const LegData &data, const QuantLib::ext::shared_ptr< EngineFactory > &engineFactory, RequiredFixings &requiredFixings, const QuantLib::Date &openEndDateReplacement, const bool useXbsCurves) |
| Leg | joinLegs (const std::vector< Leg > &legs) |
| Leg | buildNotionalLeg (const LegData &data, const Leg &leg, RequiredFixings &requiredFixings, const QuantLib::ext::shared_ptr< Market > &market, const std::string &configuration) |
leg data model and serialization
Definition in file legdata.hpp.