Cross Ccy Basis Swap Rate Helper. More...
#include <qle/termstructures/crossccybasisswaphelper.hpp>
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, bool eom=false, bool flatIsDomestic=true, boost::optional< QuantLib::Period > flatTenor=boost::none, boost::optional< QuantLib::Period > spreadTenor=boost::none, 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, boost::optional< bool > includeSpread=boost::none, boost::optional< Period > lookback=boost::none, boost::optional< Size > fixingDays=boost::none, boost::optional< Size > rateCutoff=boost::none, boost::optional< bool > isAveraged=boost::none, boost::optional< bool > flatIncludeSpread=boost::none, boost::optional< Period > flatLookback=boost::none, boost::optional< Size > flatFixingDays=boost::none, boost::optional< Size > flatRateCutoff=boost::none, boost::optional< bool > flatIsAveraged=boost::none, const bool telescopicValueDates=false) | |
RateHelper interface | |
Real | impliedQuote () const override |
void | setTermStructure (YieldTermStructure *) override |
inspectors | |
QuantLib::ext::shared_ptr< CrossCcyBasisSwap > | swap () const |
Visitability | |
Handle< Quote > | spotFX_ |
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 | 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_ |
boost::optional< bool > | includeSpread_ |
boost::optional< QuantLib::Period > | lookback_ |
boost::optional< QuantLib::Size > | fixingDays_ |
boost::optional< Size > | rateCutoff_ |
boost::optional< bool > | isAveraged_ |
boost::optional< bool > | flatIncludeSpread_ |
boost::optional< QuantLib::Period > | flatLookback_ |
boost::optional< QuantLib::Size > | flatFixingDays_ |
boost::optional< Size > | flatRateCutoff_ |
boost::optional< bool > | flatIsAveraged_ |
Currency | flatLegCurrency_ |
Currency | spreadLegCurrency_ |
QuantLib::ext::shared_ptr< CrossCcyBasisSwap > | swap_ |
RelinkableHandle< YieldTermStructure > | termStructureHandle_ |
RelinkableHandle< YieldTermStructure > | flatDiscountRLH_ |
RelinkableHandle< YieldTermStructure > | spreadDiscountRLH_ |
bool | telescopicValueDates_ |
void | accept (AcyclicVisitor &) override |
void | initializeDates () override |
Cross Ccy Basis Swap Rate Helper.
Rate helper for bootstrapping over cross currency basis swap spreads
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 flatIsDomestic flag. The settlement date of the spot is assumed to be equal to the settlement date of the swap itself.
\ingroup termstructures
Definition at line 51 of file crossccybasisswaphelper.hpp.
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, | ||
bool | eom = false , |
||
bool | flatIsDomestic = true , |
||
boost::optional< QuantLib::Period > | flatTenor = boost::none , |
||
boost::optional< QuantLib::Period > | spreadTenor = boost::none , |
||
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 , |
||
boost::optional< bool > | includeSpread = boost::none , |
||
boost::optional< Period > | lookback = boost::none , |
||
boost::optional< Size > | fixingDays = boost::none , |
||
boost::optional< Size > | rateCutoff = boost::none , |
||
boost::optional< bool > | isAveraged = boost::none , |
||
boost::optional< bool > | flatIncludeSpread = boost::none , |
||
boost::optional< Period > | flatLookback = boost::none , |
||
boost::optional< Size > | flatFixingDays = boost::none , |
||
boost::optional< Size > | flatRateCutoff = boost::none , |
||
boost::optional< bool > | flatIsAveraged = boost::none , |
||
const bool | telescopicValueDates = false |
||
) |
Definition at line 28 of file crossccybasisswaphelper.cpp.
|
override |
Definition at line 217 of file crossccybasisswaphelper.cpp.
|
override |
Definition at line 197 of file crossccybasisswaphelper.cpp.
QuantLib::ext::shared_ptr< CrossCcyBasisSwap > swap | ( | ) | const |
Definition at line 78 of file crossccybasisswaphelper.hpp.
|
override |
Definition at line 223 of file crossccybasisswaphelper.cpp.
|
overrideprotected |
Definition at line 107 of file crossccybasisswaphelper.cpp.
|
protected |
Definition at line 88 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 89 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 90 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 91 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 92 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 93 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 94 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 95 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 96 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 97 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 98 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 99 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 100 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 101 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 102 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 103 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 104 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 105 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 106 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 107 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 109 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 110 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 112 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 113 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 114 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 115 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 116 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 117 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 118 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 119 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 120 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 121 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 123 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 124 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 125 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 127 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 128 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 129 of file crossccybasisswaphelper.hpp.
|
protected |
Definition at line 131 of file crossccybasisswaphelper.hpp.