Logo
Reference manual - version qle_version
CrossCcyBasisSwapHelper Class Reference

Cross Ccy Basis Swap Rate Helper. More...

#include <qle/termstructures/crossccybasisswaphelper.hpp>

Inheritance diagram for CrossCcyBasisSwapHelper:

Public Member Functions

 CrossCcyBasisSwapHelper (const Handle< Quote > &spreadQuote, const Handle< Quote > &spotFX, Natural settlementDays, const Calendar &settlementCalendar, const Period &swapTenor, BusinessDayConvention rollConvention, const QuantLib::ext::shared_ptr< QuantLib::IborIndex > &flatIndex, const QuantLib::ext::shared_ptr< QuantLib::IborIndex > &spreadIndex, const Handle< YieldTermStructure > &flatDiscountCurve, const Handle< YieldTermStructure > &spreadDiscountCurve, const bool flatIndexGiven, const bool spreadIndexGiven, const bool flatDiscountCurveGiven, const bool spreadDiscountCurveGiven, bool eom=false, bool flatIsDomestic=true, QuantLib::ext::optional< QuantLib::Period > flatTenor=QuantLib::ext::nullopt, QuantLib::ext::optional< QuantLib::Period > spreadTenor=QuantLib::ext::nullopt, Real spreadOnFlatLeg=0.0, Real flatGearing=1.0, Real spreadGearing=1.0, const Calendar &flatCalendar=Calendar(), const Calendar &spreadCalendar=Calendar(), const std::vector< Natural > &spotFXSettleDaysVec=std::vector< Natural >(), const std::vector< Calendar > &spotFXSettleCalendar=std::vector< Calendar >(), Size paymentLag=0, Size flatPaymentLag=0, QuantLib::ext::optional< bool > includeSpread=QuantLib::ext::nullopt, QuantLib::ext::optional< Period > lookback=QuantLib::ext::nullopt, QuantLib::ext::optional< Size > fixingDays=QuantLib::ext::nullopt, QuantLib::ext::optional< Size > rateCutoff=QuantLib::ext::nullopt, QuantLib::ext::optional< bool > isAveraged=QuantLib::ext::nullopt, QuantLib::ext::optional< bool > flatIncludeSpread=QuantLib::ext::nullopt, QuantLib::ext::optional< Period > flatLookback=QuantLib::ext::nullopt, QuantLib::ext::optional< Size > flatFixingDays=QuantLib::ext::nullopt, QuantLib::ext::optional< Size > flatRateCutoff=QuantLib::ext::nullopt, QuantLib::ext::optional< bool > flatIsAveraged=QuantLib::ext::nullopt, const bool telescopicValueDates=false, const QuantLib::Pillar::Choice pillarChoice=QuantLib::Pillar::LastRelevantDate)
RateHelper interface
Real impliedQuote () const override
void setTermStructure (YieldTermStructure *) override
inspectors
QuantLib::ext::shared_ptr< CrossCcyBasisSwapswap () const

Visitability

Handle< QuotespotFX_
Natural settlementDays_
Calendar settlementCalendar_
Period swapTenor_
BusinessDayConvention rollConvention_
QuantLib::ext::shared_ptr< QuantLib::IborIndex > flatIndex_
QuantLib::ext::shared_ptr< QuantLib::IborIndex > spreadIndex_
Handle< YieldTermStructure > flatDiscountCurve_
Handle< YieldTermStructure > spreadDiscountCurve_
bool flatIndexGiven_
bool spreadIndexGiven_
bool flatDiscountCurveGiven_
bool spreadDiscountCurveGiven_
bool eom_
bool flatIsDomestic_
QuantLib::Period flatTenor_
QuantLib::Period spreadTenor_
Real spreadOnFlatLeg_
Real flatGearing_
Real spreadGearing_
Calendar flatCalendar_
Calendar spreadCalendar_
std::vector< Natural > spotFXSettleDaysVec_
std::vector< Calendar > spotFXSettleCalendarVec_
Size paymentLag_
Size flatPaymentLag_
QuantLib::ext::optional< boolincludeSpread_
QuantLib::ext::optional< QuantLib::Period > lookback_
QuantLib::ext::optional< QuantLib::Size > fixingDays_
QuantLib::ext::optional< Size > rateCutoff_
QuantLib::ext::optional< boolisAveraged_
QuantLib::ext::optional< boolflatIncludeSpread_
QuantLib::ext::optional< QuantLib::Period > flatLookback_
QuantLib::ext::optional< QuantLib::Size > flatFixingDays_
QuantLib::ext::optional< Size > flatRateCutoff_
QuantLib::ext::optional< boolflatIsAveraged_
Currency flatLegCurrency_
Currency spreadLegCurrency_
QuantLib::ext::shared_ptr< CrossCcyBasisSwapswap_
RelinkableHandle< YieldTermStructure > termStructureHandle_
RelinkableHandle< YieldTermStructure > flatDiscountRLH_
RelinkableHandle< YieldTermStructure > spreadDiscountRLH_
bool telescopicValueDates_
QuantLib::Pillar::Choice pillarChoice_
void accept (AcyclicVisitor &) override
void initializeDates () override

Detailed Description

Cross Ccy Basis Swap Rate Helper.

Rate helper for bootstrapping over cross currency basis swap spreads

Assumes that you have, at a minimum, either:

  • flatIndex with attached YieldTermStructure and flatDiscountCurve
  • spreadIndex with attached YieldTermStructure and spreadDiscountCurve

The other leg is then solved for i.e. index curve (if no YieldTermStructure is attached to its index) or discount curve (if its Handle is empty) or both.

The currencies are deduced from the ibor indexes. The spotFx to be quoted with either of these currencies, this is determined by the flatIsDomestic flag. The settlement date of the spot is assumed to be equal to the settlement date of the swap itself.

    \ingroup termstructures