25#include <ql/cashflow.hpp>
26#include <ql/instrument.hpp>
27#include <ql/instruments/bond.hpp>
28#include <ql/instruments/swaption.hpp>
29#include <ql/position.hpp>
30#include <ql/pricingengine.hpp>
56 const QuantLib::ext::shared_ptr<QuantLib::Bond>&
bond()
const {
return bond_; }
78 void fetchResults(
const QuantLib::PricingEngine::results*)
const override;
81 QuantLib::ext::shared_ptr<QuantLib::Bond>
bond_;
109 QuantLib::ext::shared_ptr<QuantLib::Bond>
bond;
132 void reset()
override { Instrument::results::reset(); }
136 :
public GenericEngine<RiskParticipationAgreementTLock::arguments, RiskParticipationAgreementTLock::results> {};
std::vector< std::string > protectionFeeCcys
QuantLib::ext::shared_ptr< QuantLib::Bond > bond
std::vector< Leg > protectionFee
void validate() const override
void fetchResults(const QuantLib::PricingEngine::results *) const override
bool protectionFeePayer() const
bool isExpired() const override
Instrument interface.
Real participationRate() const
std::vector< Leg > protectionFee_
const DayCounter & dayCounter() const
const Date & paymentDate() const
std::vector< std::string > protectionFeeCcys_
const QuantLib::ext::shared_ptr< QuantLib::Bond > & bond() const
Inspectors.
const std::vector< std::string > & protectionFeeCcys() const
const Date & maturity() const
const Date & terminationDate() const
bool settlesAccrual() const
Real fixedRecoveryRate() const
const std::vector< Leg > & protectionFee() const
Real referenceRate() const
void setupExpired() const override
void setupArguments(QuantLib::PricingEngine::arguments *) const override
QuantLib::ext::shared_ptr< QuantLib::Bond > bond_
const Date & protectionEnd() const
const Date & protectionStart() const