24#ifndef quantext_cross_ccy_fix_float_mtmreset_swap_hpp
25#define quantext_cross_ccy_fix_float_mtmreset_swap_hpp
27#include <ql/indexes/iborindex.hpp>
28#include <ql/time/schedule.hpp>
55 const QuantLib::BusinessDayConvention& floatPaymentBdc, QuantLib::Natural floatPaymentLag,
const QuantLib::Calendar& floatPaymentCalendar,
56 const QuantLib::ext::shared_ptr<FxIndex>& fxIdx,
bool resetsOnFloatLeg =
true,
bool receiveFixed =
true);
61 void setupArguments(PricingEngine::arguments* args)
const override;
62 void fetchResults(
const PricingEngine::results*)
const override;
85 QL_REQUIRE(
fairFixedRate_ != QuantLib::Null<QuantLib::Real>(),
"Fair fixed rate is not available");
91 QL_REQUIRE(
fairSpread_ != QuantLib::Null<QuantLib::Real>(),
"Fair spread is not available");
144 void reset()
override;
void validate() const override
QuantLib::Rate fairFixedRate
QuantLib::Spread fairSpread
Cross currency fix float MtM resettable swap.
Real nominal_
nominal of non resetting leg
QuantLib::DayCounter fixedDayCount_
QuantLib::ext::shared_ptr< QuantLib::IborIndex > floatIndex_
QuantLib::Spread floatSpread_
QuantLib::Schedule fixedSchedule_
QuantLib::Rate fairFixedRate_
QuantLib::ext::shared_ptr< FxIndex > fxIndex_
const QuantLib::Currency & floatCurrency() const
QuantLib::Rate fixedRate() const
QuantLib::Spread floatSpread() const
const QuantLib::Schedule & fixedSchedule() const
const QuantLib::Calendar & fixedPaymentCalendar() const
const QuantLib::DayCounter & fixedDayCount() const
QuantLib::Currency fixedCurrency_
QuantLib::Spread fairSpread_
QuantLib::Rate fairFixedRate() const
QuantLib::Natural fixedPaymentLag() const
const QuantLib::BusinessDayConvention & fixedPaymentBdc() const
QuantLib::Currency floatCurrency_
void setupArguments(PricingEngine::arguments *args) const override
QuantLib::Calendar floatPaymentCalendar_
QuantLib::Schedule floatSchedule_
QuantLib::Rate fixedRate_
void setupExpired() const override
void fetchResults(const PricingEngine::results *) const override
const QuantLib::Schedule & floatSchedule() const
QuantLib::BusinessDayConvention floatPaymentBdc_
const QuantLib::ext::shared_ptr< QuantLib::IborIndex > & floatIndex() const
QuantLib::Natural floatPaymentLag_
QuantLib::Calendar fixedPaymentCalendar_
QuantLib::Natural fixedPaymentLag_
const QuantLib::Currency & fixedCurrency() const
QuantLib::BusinessDayConvention fixedPaymentBdc_
QuantLib::Real nominal() const
QuantLib::Spread fairSpread() const
Swap instrument with legs involving two currencies.