Logo
Reference manual - version qle_version
Public Member Functions | List of all members
CrossCcyBasisMtMResetSwapHelper Class Reference

Cross Ccy Basis MtM Reset Swap Rate Helper. More...

#include <qle/termstructures/crossccybasismtmresetswaphelper.hpp>

+ Inheritance diagram for CrossCcyBasisMtMResetSwapHelper:

Public Member Functions

 CrossCcyBasisMtMResetSwapHelper (const Handle< Quote > &spreadQuote, const Handle< Quote > &spotFX, Natural settlementDays, const Calendar &settlementCalendar, const Period &swapTenor, BusinessDayConvention rollConvention, const boost::shared_ptr< QuantLib::IborIndex > &foreignCcyIndex, const boost::shared_ptr< QuantLib::IborIndex > &domesticCcyIndex, const Handle< YieldTermStructure > &foreignCcyDiscountCurve, const Handle< YieldTermStructure > &domesticCcyDiscountCurve, const Handle< YieldTermStructure > &foreignCcyFxFwdRateCurve=Handle< YieldTermStructure >(), const Handle< YieldTermStructure > &domesticCcyFxFwdRateCurve=Handle< YieldTermStructure >(), bool eom=false, bool spreadOnForeignCcy=true, boost::optional< QuantLib::Period > foreignTenor=boost::none, boost::optional< QuantLib::Period > domesticTenor=boost::none, Size foreignPaymentLag=0, Size domesticPaymentLag=0, boost::optional< bool > foreignIncludeSpread=boost::none, boost::optional< Period > foreignLookback=boost::none, boost::optional< Size > foreignFixingDays=boost::none, boost::optional< Size > foreignRateCutoff=boost::none, boost::optional< bool > foreignIsAveraged=boost::none, boost::optional< bool > domesticIncludeSpread=boost::none, boost::optional< Period > domesticLookback=boost::none, boost::optional< Size > domesticFixingDays=boost::none, boost::optional< Size > domesticRateCutoff=boost::none, boost::optional< bool > domesticIsAveraged=boost::none, const bool telescopicValueDates=false)
 
RateHelper interface
Real impliedQuote () const override
 
void setTermStructure (YieldTermStructure *) override
 
inspectors
boost::shared_ptr< CrossCcyBasisMtMResetSwapswap () const
 

Visitability

Handle< Quote > spotFX_
 
Natural settlementDays_
 
Calendar settlementCalendar_
 
Period swapTenor_
 
BusinessDayConvention rollConvention_
 
boost::shared_ptr< QuantLib::IborIndex > foreignCcyIndex_
 
boost::shared_ptr< QuantLib::IborIndex > domesticCcyIndex_
 
Handle< YieldTermStructure > foreignCcyDiscountCurve_
 
Handle< YieldTermStructure > domesticCcyDiscountCurve_
 
Handle< YieldTermStructure > foreignCcyFxFwdRateCurve_
 
Handle< YieldTermStructure > domesticCcyFxFwdRateCurve_
 
bool eom_
 
bool spreadOnForeignCcy_
 
QuantLib::Period foreignTenor_
 
QuantLib::Period domesticTenor_
 
Size foreignPaymentLag_
 
Size domesticPaymentLag_
 
boost::optional< bool > foreignIncludeSpread_
 
boost::optional< QuantLib::Period > foreignLookback_
 
boost::optional< QuantLib::Size > foreignFixingDays_
 
boost::optional< Size > foreignRateCutoff_
 
boost::optional< bool > foreignIsAveraged_
 
boost::optional< bool > domesticIncludeSpread_
 
boost::optional< QuantLib::Period > domesticLookback_
 
boost::optional< QuantLib::Size > domesticFixingDays_
 
boost::optional< Size > domesticRateCutoff_
 
boost::optional< bool > domesticIsAveraged_
 
Currency foreignCurrency_
 
Currency domesticCurrency_
 
boost::shared_ptr< CrossCcyBasisMtMResetSwapswap_
 
RelinkableHandle< YieldTermStructure > termStructureHandle_
 
RelinkableHandle< YieldTermStructure > foreignDiscountRLH_
 
RelinkableHandle< YieldTermStructure > domesticDiscountRLH_
 
RelinkableHandle< YieldTermStructure > foreignCcyFxFwdRateCurveRLH_
 
RelinkableHandle< YieldTermStructure > domesticCcyFxFwdRateCurveRLH_
 
bool telescopicValueDates_
 
void accept (AcyclicVisitor &) override
 
void initializeDates () override
 

Detailed Description

Cross Ccy Basis MtM Reset Swap Rate Helper.

Rate helper for bootstrapping over cross currency basis (MtM reset) swap spreads

The resets are applied to the domestic leg (foreign currency is constant notional)

Assumes that you have, at a minimum, either:

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 invertFxIndex flag. The settlement date of the spot is assumed to be equal to the settlement date of the swap itself.