#include <ored/portfolio/bond.hpp>#include <ored/portfolio/builders/capflooredaveragebmacouponleg.hpp>#include <ored/portfolio/builders/capflooredaverageonindexedcouponleg.hpp>#include <ored/portfolio/builders/capflooredcpileg.hpp>#include <ored/portfolio/builders/capfloorediborleg.hpp>#include <ored/portfolio/builders/capfloorednonstandardyoyleg.hpp>#include <ored/portfolio/builders/capflooredovernightindexedcouponleg.hpp>#include <ored/portfolio/builders/capflooredyoyleg.hpp>#include <ored/portfolio/builders/cms.hpp>#include <ored/portfolio/builders/cmsspread.hpp>#include <ored/portfolio/forwardbond.hpp>#include <ored/portfolio/legdata.hpp>#include <ored/portfolio/makenonstandardlegs.hpp>#include <ored/portfolio/referencedata.hpp>#include <ored/portfolio/structuredtradeerror.hpp>#include <ored/portfolio/types.hpp>#include <ored/utilities/bondindexbuilder.hpp>#include <ored/utilities/indexnametranslator.hpp>#include <ored/utilities/log.hpp>#include <ored/utilities/marketdata.hpp>#include <ored/utilities/to_string.hpp>#include <ored/utilities/vectorutils.hpp>#include <qle/cashflows/averageonindexedcoupon.hpp>#include <qle/cashflows/averageonindexedcouponpricer.hpp>#include <qle/cashflows/brlcdicouponpricer.hpp>#include <qle/cashflows/cappedflooredaveragebmacoupon.hpp>#include <qle/cashflows/cmbcoupon.hpp>#include <qle/cashflows/couponpricer.hpp>#include <qle/cashflows/cpicoupon.hpp>#include <qle/cashflows/cpicouponpricer.hpp>#include <qle/cashflows/equitycoupon.hpp>#include <qle/cashflows/floatingannuitycoupon.hpp>#include <qle/cashflows/floatingratefxlinkednotionalcoupon.hpp>#include <qle/cashflows/indexedcoupon.hpp>#include <qle/cashflows/nonstandardcapflooredyoyinflationcoupon.hpp>#include <qle/cashflows/overnightindexedcoupon.hpp>#include <qle/cashflows/strippedcapflooredcpicoupon.hpp>#include <qle/cashflows/strippedcapflooredyoyinflationcoupon.hpp>#include <qle/cashflows/subperiodscoupon.hpp>#include <qle/cashflows/subperiodscouponpricer.hpp>#include <qle/cashflows/yoyinflationcoupon.hpp>#include <qle/cashflows/zerofixedcoupon.hpp>#include <qle/indexes/bmaindexwrapper.hpp>#include <qle/indexes/bondindex.hpp>#include <qle/instruments/forwardbond.hpp>#include <ql/cashflow.hpp>#include <ql/cashflows/averagebmacoupon.hpp>#include <ql/cashflows/capflooredcoupon.hpp>#include <ql/cashflows/capflooredinflationcoupon.hpp>#include <ql/cashflows/cashflowvectors.hpp>#include <ql/cashflows/cpicoupon.hpp>#include <ql/cashflows/cpicouponpricer.hpp>#include <ql/cashflows/digitalcmscoupon.hpp>#include <ql/cashflows/fixedratecoupon.hpp>#include <ql/cashflows/iborcoupon.hpp>#include <ql/cashflows/simplecashflow.hpp>#include <ql/errors.hpp>#include <ql/experimental/coupons/digitalcmsspreadcoupon.hpp>#include <ql/experimental/coupons/strippedcapflooredcoupon.hpp>#include <ql/utilities/vectors.hpp>#include <boost/algorithm/string.hpp>#include <boost/make_shared.hpp>#include <boost/range/adaptor/transformed.hpp>Go to the source code of this file.
Namespaces | |
| namespace | ore |
| Serializable Credit Default Swap. | |
| namespace | ore::data |
Functions | |
| bool | lessThan (const string &s1, const string &s2) |
| Leg | makeNotionalLeg (const Leg &refLeg, const bool initNomFlow, const bool finalNomFlow, const bool amortNomFlow, const Natural notionalPaymentLag, const BusinessDayConvention paymentConvention, const Calendar paymentCalendar, const bool excludeIndexing) |
| Leg | makeEquityLeg (const LegData &data, const QuantLib::ext::shared_ptr< EquityIndex2 > &equityCurve, const QuantLib::ext::shared_ptr< QuantExt::FxIndex > &fxIndex, const QuantLib::Date &openEndDateReplacement) |
| vector< double > | buildAmortizationScheduleLinearToMaturity (const vector< double > ¬ionals, const Schedule &schedule, const AmortizationData &data) |
Utilities for building QuantLib Legs | |
| Leg | makeSimpleLeg (const LegData &data) |
| 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 | 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) |
| Real | currentNotional (const Leg &leg) |
| Real | originalNotional (const Leg &leg) |
| 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) |
| 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) |