25#ifndef quantext_fxforward_hpp
26#define quantext_fxforward_hpp
28#include <ql/currency.hpp>
29#include <ql/exchangerate.hpp>
30#include <ql/instrument.hpp>
31#include <ql/money.hpp>
32#include <ql/quote.hpp>
74 const Date&
payDate = Date(),
const Currency&
payCcy = Currency(),
const Date& fixingDate = Date(),
75 const QuantLib::ext::shared_ptr<QuantExt::FxIndex>&
fxIndex =
nullptr,
76 bool includeSettlementDateFlows =
false);
99 FxForward(
const Money& nominal1,
const ExchangeRate& forwardRate,
const Date& forwardDate,
bool sellingNominal,
100 const bool isPhysicallySettled =
true,
const Date&
payDate = Date(),
const Currency&
payCcy = Currency(),
101 const Date& fixingDate = Date(),
const QuantLib::ext::shared_ptr<QuantExt::FxIndex>&
fxIndex =
nullptr,
102 bool includeSettlementDateFlows =
false);
128 FxForward(
const Money& nominal1,
const Handle<Quote>& fxForwardQuote,
const Currency&
currency2,
129 const Date&
maturityDate,
bool sellingNominal,
const bool isPhysicallySettled =
true,
130 const Date&
payDate = Date(),
const Currency&
payCcy = Currency(),
const Date& fixingDate = Date(),
131 const QuantLib::ext::shared_ptr<QuantExt::FxIndex>&
fxIndex =
nullptr,
132 bool includeSettlementDateFlows =
false);
154 void fetchResults(
const PricingEngine::results*)
const override;
217 void reset()
override;
QuantLib::ext::shared_ptr< FxIndex > fxIndex
void validate() const override
bool includeSettlementDateFlows
ExchangeRate fairForwardRate
Currency currency2() const
ExchangeRate fairForwardRate_
QuantLib::ext::shared_ptr< FxIndex > fxIndex_
void setupArguments(PricingEngine::arguments *) const override
bool isExpired() const override
QuantLib::ext::shared_ptr< QuantExt::FxIndex > fxIndex() const
Real currency2Nominal() const
const ExchangeRate & fairForwardRate() const
Return the fair FX forward rate.
Real currency1Nominal() const
bool isPhysicallySettled_
Date maturityDate() const
bool payCurrency1() const
const Money & npvMoney() const
Return NPV as money (the price currency is set in the pricing engine)
void setupExpired() const override
void fetchResults(const PricingEngine::results *) const override
bool includeSettlementDateFlows_
Currency currency1() const