Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
ForwardBond Class Reference

#include <ored/portfolio/forwardbond.hpp>

+ Inheritance diagram for ForwardBond:
+ Collaboration diagram for ForwardBond:

Public Member Functions

 ForwardBond ()
 Default constructor. More...
 
 ForwardBond (Envelope env, const BondData &bondData, string fwdMaturityDate, string fwdSettlementDate, string settlement, string amount, string lockRate, string lockRateDayCounter, string settlementDirty, string compensationPayment, string compensationPaymentDate, string longInForward, string dv01=string())
 Constructor taking an envelope and bond data. More...
 
virtual void build (const QuantLib::ext::shared_ptr< EngineFactory > &) override
 
virtual void fromXML (XMLNode *node) override
 
virtual XMLNodetoXML (XMLDocument &doc) const override
 
std::map< AssetClass, std::set< std::string > > underlyingIndices (const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceDataManager=nullptr) const override
 Add underlying Bond names. More...
 
const BondDatabondData () const
 inspectors More...
 
const string & fwdMaturityDate () const
 
const string & fwdSettlementDate () const
 
const string & settlement () const
 
const string & amount () const
 
const string & lockRate () const
 
const string & lockRateDayCounter () const
 
const string & settlementDirty () const
 
const string & compensationPayment () const
 
const string & compensationPaymentDate () const
 
const string & longInForward () const
 
const string & dv01 () const
 
- Public Member Functions inherited from Trade
 Trade ()
 Default constructor. More...
 
 Trade (const string &tradeType, const Envelope &env=Envelope(), const TradeActions &ta=TradeActions())
 Base class constructor. More...
 
virtual ~Trade ()
 Default destructor. More...
 
virtual void build (const QuantLib::ext::shared_ptr< EngineFactory > &)=0
 
virtual std::map< std::string, RequiredFixings::FixingDatesfixings (const QuantLib::Date &settlementDate=QuantLib::Date()) const
 
const RequiredFixingsrequiredFixings () const
 
virtual std::map< AssetClass, std::set< std::string > > underlyingIndices (const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceDataManager=nullptr) const
 
void reset ()
 Reset trade, clear all base class data. This does not reset accumulated timings for this trade. More...
 
void resetPricingStats (const std::size_t numberOfPricings=0, const boost::timer::nanosecond_type cumulativePricingTime=0)
 Reset accumulated timings to given values. More...
 
string & id ()
 Set the trade id. More...
 
void setEnvelope (const Envelope &envelope)
 Set the envelope with counterparty and portfolio info. More...
 
void setAdditionalData (const std::map< std::string, boost::any > &additionalData)
 
TradeActionstradeActions ()
 Set the trade actions. More...
 
const string & id () const
 
const string & tradeType () const
 
const Envelopeenvelope () const
 
const set< string > & portfolioIds () const
 
const TradeActionstradeActions () const
 
const QuantLib::ext::shared_ptr< InstrumentWrapper > & instrument () const
 
const std::vector< QuantLib::Leg > & legs () const
 
const std::vector< string > & legCurrencies () const
 
const std::vector< bool > & legPayers () const
 
const string & npvCurrency () const
 
virtual QuantLib::Real notional () const
 Return the current notional in npvCurrency. See individual sub-classes for the precise definition. More...
 
virtual string notionalCurrency () const
 
const Date & maturity () const
 
virtual bool isExpired (const Date &d)
 
const string & issuer () const
 
template<typename T >
additionalDatum (const std::string &tag) const
 returns any additional datum. More...
 
virtual const std::map< std::string, boost::any > & additionalData () const
 returns all additional data returned by the trade once built More...
 
const std::string & sensitivityTemplate () const
 
void validate () const
 Utility to validate that everything that needs to be set in this base class is actually set. More...
 
virtual bool hasCashflows () const
 
boost::timer::nanosecond_type getCumulativePricingTime () const
 Get cumulative timing spent on pricing. More...
 
std::size_t getNumberOfPricings () const
 Get number of pricings. More...
 
- Public Member Functions inherited from XMLSerializable
virtual ~XMLSerializable ()
 
virtual void fromXML (XMLNode *node)=0
 
virtual XMLNodetoXML (XMLDocument &doc) const =0
 
void fromFile (const std::string &filename)
 
void toFile (const std::string &filename) const
 
void fromXMLString (const std::string &xml)
 Parse from XML string. More...
 
std::string toXMLString () const
 Parse from XML string. More...
 

Protected Attributes

BondData originalBondData_
 
BondData bondData_
 
string currency_
 
string fwdMaturityDate_
 
string fwdSettlementDate_
 
string settlement_
 
string amount_
 
string lockRate_
 
string lockRateDayCounter_
 
string settlementDirty_
 
string compensationPayment_
 
string compensationPaymentDate_
 
string longInForward_
 
string dv01_
 
- Protected Attributes inherited from Trade
string tradeType_
 
QuantLib::ext::shared_ptr< InstrumentWrapperinstrument_
 
std::vector< QuantLib::Leg > legs_
 
std::vector< string > legCurrencies_
 
std::vector< boollegPayers_
 
string npvCurrency_
 
QuantLib::Real notional_
 
string notionalCurrency_
 
Date maturity_
 
string issuer_
 
string sensitivityTemplate_
 
bool sensitivityTemplateSet_ = false
 
std::size_t savedNumberOfPricings_ = 0
 
boost::timer::nanosecond_type savedCumulativePricingTime_ = 0
 
RequiredFixings requiredFixings_
 
std::map< std::string, boost::any > additionalData_
 

Additional Inherited Members

- Protected Member Functions inherited from Trade
Date addPremiums (std::vector< QuantLib::ext::shared_ptr< Instrument > > &instruments, std::vector< Real > &multipliers, const Real tradeMultiplier, const PremiumData &premiumData, const Real premiumMultiplier, const Currency &tradeCurrency, const QuantLib::ext::shared_ptr< EngineFactory > &factory, const string &configuration)
 
void setLegBasedAdditionalData (const Size legNo, Size resultLegId=Null< Size >()) const
 
void setSensitivityTemplate (const EngineBuilder &builder)
 
void setSensitivityTemplate (const std::string &id)
 

Detailed Description

Definition at line 31 of file forwardbond.hpp.

Constructor & Destructor Documentation

◆ ForwardBond() [1/2]

Default constructor.

Definition at line 34 of file forwardbond.hpp.

34: Trade("ForwardBond") {}
Trade()
Default constructor.
Definition: trade.hpp:59

◆ ForwardBond() [2/2]

ForwardBond ( Envelope  env,
const BondData bondData,
string  fwdMaturityDate,
string  fwdSettlementDate,
string  settlement,
string  amount,
string  lockRate,
string  lockRateDayCounter,
string  settlementDirty,
string  compensationPayment,
string  compensationPaymentDate,
string  longInForward,
string  dv01 = string() 
)

Constructor taking an envelope and bond data.

Definition at line 37 of file forwardbond.hpp.

40 : Trade("ForwardBond", env), originalBondData_(bondData), bondData_(bondData),
41 fwdMaturityDate_(fwdMaturityDate), fwdSettlementDate_(fwdSettlementDate), settlement_(settlement),
42 amount_(amount), lockRate_(lockRate), lockRateDayCounter_(lockRateDayCounter),
43 settlementDirty_(settlementDirty), compensationPayment_(compensationPayment),
44 compensationPaymentDate_(compensationPaymentDate), longInForward_(longInForward), dv01_(dv01) {}
DayCounter lockRateDayCounter_
boost::optional< bool > longInForward_
+ Here is the call graph for this function:

Member Function Documentation

◆ build()

void build ( const QuantLib::ext::shared_ptr< EngineFactory > &  )
overridevirtual

Build QuantLib/QuantExt instrument, link pricing engine. If build() is called multiple times, reset() should be called between these calls.

Implements Trade.

Definition at line 48 of file forwardbond.cpp.

48 {
49 DLOG("ForwardBond::build() called for trade " << id());
50
51 // ISDA taxonomy
52 additionalData_["isdaAssetClass"] = string("Interest Rate");
53 additionalData_["isdaBaseProduct"] = string("Forward");
54 additionalData_["isdaSubProduct"] = string("Debt");
55 additionalData_["isdaTransaction"] = string("");
56
57 additionalData_["currency"] = currency_;
58
59 const QuantLib::ext::shared_ptr<Market> market = engineFactory->market();
60
61 QuantLib::ext::shared_ptr<EngineBuilder> builder_fwd = engineFactory->builder("ForwardBond");
62 QuantLib::ext::shared_ptr<EngineBuilder> builder_bd = engineFactory->builder("Bond");
63
65 bondData_.populateFromBondReferenceData(engineFactory->referenceData());
66
67 npvCurrency_ = currency_ = bondData_.coupons().front().currency();
69
70 QL_REQUIRE(!bondData_.referenceCurveId().empty(), "reference curve id required");
71 QL_REQUIRE(!bondData_.settlementDays().empty(), "settlement days required");
72
73 Date issueDate = parseDate(bondData_.issueDate());
75 Natural settlementDays = boost::lexical_cast<Natural>(bondData_.settlementDays());
76
78 Date fwdSettlementDate = fwdSettlementDate_.empty() ? fwdMaturityDate : parseDate(fwdSettlementDate_);
79 bool isPhysicallySettled;
80 if (settlement_ == "Physical" || settlement_.empty())
81 isPhysicallySettled = true;
82 else if (settlement_ == "Cash")
83 isPhysicallySettled = false;
84 else {
85 QL_FAIL("ForwardBond: invalid settlement '" << settlement_ << "', expected Cash or Physical");
86 }
87 Real amount = amount_.empty() ? Null<Real>() : parseReal(amount_);
88 Real lockRate = lockRate_.empty() ? Null<Real>() : parseReal(lockRate_);
89 Real dv01 = dv01_.empty() ? Null<Real>() : parseReal(dv01_);
95
96 QL_REQUIRE((amount == Null<Real>() && lockRate != Null<Real>()) ||
97 (amount != Null<Real>() && lockRate == Null<Real>()),
98 "ForwardBond: exactly one of Amount of LockRate must be given");
99 QL_REQUIRE(dv01 >= 0.0, "negative DV01 given");
100 QL_REQUIRE(compensationPaymentDate <= fwdMaturityDate, "Premium cannot be paid after forward contract maturity");
101
102 if (lockRate != Null<Real>())
103 isPhysicallySettled = false;
104
105 QL_REQUIRE(!bondData_.coupons().empty(), "ForwardBond: No LegData given. If you want to represent a zero bond, "
106 "set it up as a coupon bond with zero fixed rate");
107
108 bool firstLegIsPayer = bondData_.coupons()[0].isPayer();
109 QL_REQUIRE(firstLegIsPayer == false, "ForwardBond: The underlying bond must be entered with a receiver leg. Use "
110 "LongInBond to specify pay direction of forward payoff");
111 QL_REQUIRE(compensationPayment > 0.0 || close_enough(compensationPayment, 0.0),
112 "ForwardBond: Negative compensation payments ("
113 << compensationPayment
114 << ") are not allowed. Notice that we will ensure that a positive compensation amount will be paid "
115 "by the party being long in the forward contract.");
116
117 QuantLib::ext::shared_ptr<Payoff> payoff;
118 if (amount != Null<Real>()) {
119 payoff = longInForward ? QuantLib::ext::make_shared<QuantExt::ForwardBondTypePayoff>(Position::Long, amount)
120 : QuantLib::ext::make_shared<QuantExt::ForwardBondTypePayoff>(Position::Short, amount);
121 }
122 compensationPayment = longInForward ? compensationPayment : -compensationPayment;
123
124 std::vector<Leg> separateLegs;
125 for (Size i = 0; i < bondData_.coupons().size(); ++i) {
126 Leg leg;
127 auto configuration = builder_bd->configuration(MarketContext::pricing);
128 auto legBuilder = engineFactory->legBuilder(bondData_.coupons()[i].legType());
129 leg = legBuilder->buildLeg(bondData_.coupons()[i], engineFactory, requiredFixings_, configuration);
130 separateLegs.push_back(leg);
131 }
132 Leg leg = joinLegs(separateLegs);
133 auto bond = QuantLib::ext::make_shared<QuantLib::Bond>(settlementDays, calendar, issueDate, leg);
134
135 // cashflows will be generated as additional results in the pricing engine
136 legs_ = {};
138 legPayers_ = {firstLegIsPayer};
139 Currency currency = parseCurrency(currency_);
140 maturity_ = bond->cashflows().back()->date();
141 notional_ = currentNotional(bond->cashflows()) * bondData_.bondNotional();
142
143 // first ctor is for vanilla fwd bonds, second for tlocks with a lock rate specifying the payoff
144 QuantLib::ext::shared_ptr<QuantLib::Instrument> fwdBond =
145 payoff ? QuantLib::ext::make_shared<QuantExt::ForwardBond>(bond, payoff, fwdMaturityDate, fwdSettlementDate,
146 isPhysicallySettled, settlementDirty, compensationPayment,
147 compensationPaymentDate, bondData_.bondNotional())
148 : QuantLib::ext::make_shared<QuantExt::ForwardBond>(bond, lockRate, lockRateDayCounter, longInForward,
149 fwdMaturityDate, fwdSettlementDate, isPhysicallySettled,
150 settlementDirty, compensationPayment,
151 compensationPaymentDate, bondData_.bondNotional(), dv01);
152
153 QuantLib::ext::shared_ptr<fwdBondEngineBuilder> fwdBondBuilder =
154 QuantLib::ext::dynamic_pointer_cast<fwdBondEngineBuilder>(builder_fwd);
155 QL_REQUIRE(fwdBondBuilder, "ForwardBond::build(): could not cast builder: " << id());
156
157 fwdBond->setPricingEngine(fwdBondBuilder->engine(id(), currency, bondData_.creditCurveId(),
160 setSensitivityTemplate(*fwdBondBuilder);
161 instrument_.reset(new VanillaInstrument(fwdBond, 1.0));
162
163 additionalData_["currentNotional"] = currentNotional(bond->cashflows()) * bondData_.bondNotional();
164 additionalData_["originalNotional"] = originalNotional(bond->cashflows()) * bondData_.bondNotional();
165}
const string & securityId() const
Definition: bond.hpp:84
bool hasCreditRisk() const
Definition: bond.hpp:96
const std::vector< LegData > & coupons() const
Definition: bond.hpp:93
void populateFromBondReferenceData(const QuantLib::ext::shared_ptr< BondReferenceDatum > &referenceDatum, const std::string &startDate="", const std::string &endDate="")
populate data from reference datum and check data for completeness
Definition: bond.cpp:175
const string & referenceCurveId() const
Definition: bond.hpp:85
const string & issueDate() const
Definition: bond.hpp:90
const string & settlementDays() const
Definition: bond.hpp:88
const string & calendar() const
Definition: bond.hpp:89
const string & incomeCurveId() const
Definition: bond.hpp:86
const string & creditCurveId() const
Definition: bond.hpp:82
Real bondNotional() const
Definition: bond.hpp:95
const string & settlementDirty() const
Definition: forwardbond.hpp:64
const string & fwdMaturityDate() const
Definition: forwardbond.hpp:58
const string & compensationPayment() const
Definition: forwardbond.hpp:65
const string & compensationPaymentDate() const
Definition: forwardbond.hpp:66
const string & dv01() const
Definition: forwardbond.hpp:68
const string & lockRateDayCounter() const
Definition: forwardbond.hpp:63
const string & longInForward() const
Definition: forwardbond.hpp:67
const string & lockRate() const
Definition: forwardbond.hpp:62
const string & fwdSettlementDate() const
Definition: forwardbond.hpp:59
const string & amount() const
Definition: forwardbond.hpp:61
string npvCurrency_
Definition: trade.hpp:201
std::vector< bool > legPayers_
Definition: trade.hpp:200
std::vector< string > legCurrencies_
Definition: trade.hpp:199
std::vector< QuantLib::Leg > legs_
Definition: trade.hpp:198
QuantLib::Real notional_
Definition: trade.hpp:202
void setSensitivityTemplate(const EngineBuilder &builder)
Definition: trade.cpp:295
QuantLib::ext::shared_ptr< InstrumentWrapper > instrument_
Definition: trade.hpp:197
string notionalCurrency_
Definition: trade.hpp:203
std::map< std::string, boost::any > additionalData_
Definition: trade.hpp:224
Calendar parseCalendar(const string &s)
Convert text to QuantLib::Calendar.
Definition: parsers.cpp:157
Date parseDate(const string &s)
Convert std::string to QuantLib::Date.
Definition: parsers.cpp:51
Currency parseCurrency(const string &s)
Convert text to QuantLib::Currency.
Definition: parsers.cpp:290
bool parseBool(const string &s)
Convert text to bool.
Definition: parsers.cpp:144
Real parseReal(const string &s)
Convert text to Real.
Definition: parsers.cpp:112
DayCounter parseDayCounter(const string &s)
Convert text to QuantLib::DayCounter.
Definition: parsers.cpp:209
#define DLOG(text)
Logging Macro (Level = Debug)
Definition: log.hpp:554
Calendar calendar
Definition: utilities.cpp:441
Filter close_enough(const RandomVariable &x, const RandomVariable &y)
Real currentNotional(const Leg &leg)
Definition: legdata.cpp:2435
Size size(const ValueType &v)
Definition: value.cpp:145
Real originalNotional(const Leg &leg)
Definition: legdata.cpp:2449
Leg joinLegs(const std::vector< Leg > &legs)
Definition: legdata.cpp:2703
+ Here is the call graph for this function:

◆ fromXML()

void fromXML ( XMLNode node)
overridevirtual

Reimplemented from Trade.

Definition at line 167 of file forwardbond.cpp.

167 {
168 Trade::fromXML(node);
169 XMLNode* fwdBondNode = XMLUtils::getChildNode(node, "ForwardBondData");
170 QL_REQUIRE(fwdBondNode, "No ForwardBondData Node");
171 originalBondData_.fromXML(XMLUtils::getChildNode(fwdBondNode, "BondData"));
173
174 XMLNode* fwdSettlementNode = XMLUtils::getChildNode(fwdBondNode, "SettlementData");
175 QL_REQUIRE(fwdSettlementNode, "No fwdSettlementNode Node");
176
177 fwdMaturityDate_ = XMLUtils::getChildValue(fwdSettlementNode, "ForwardMaturityDate", true);
178 fwdSettlementDate_ = XMLUtils::getChildValue(fwdSettlementNode, "ForwardSettlementDate", false);
179 settlement_ = XMLUtils::getChildValue(fwdSettlementNode, "Settlement", false);
180 amount_ = XMLUtils::getChildValue(fwdSettlementNode, "Amount", false);
181 lockRate_ = XMLUtils::getChildValue(fwdSettlementNode, "LockRate", false);
182 lockRateDayCounter_ = XMLUtils::getChildValue(fwdSettlementNode, "LockRateDayCounter", false);
183 settlementDirty_ = XMLUtils::getChildValue(fwdSettlementNode, "SettlementDirty", false);
184 dv01_ = XMLUtils::getChildValue(fwdSettlementNode, "dv01", false);
185
186 XMLNode* fwdPremiumNode = XMLUtils::getChildNode(fwdBondNode, "PremiumData");
187 if (fwdPremiumNode) {
188 compensationPayment_ = XMLUtils::getChildValue(fwdPremiumNode, "Amount", true);
189 compensationPaymentDate_ = XMLUtils::getChildValue(fwdPremiumNode, "Date", true);
190 } else {
191 compensationPayment_ = "0.0";
193 }
194
195 longInForward_ = XMLUtils::getChildValue(fwdBondNode, "LongInForward", true);
196}
virtual void fromXML(XMLNode *node) override
XMLSerializable interface.
Definition: bond.cpp:59
rapidxml::xml_node< char > XMLNode
Definition: xmlutils.hpp:60

◆ toXML()

XMLNode * toXML ( XMLDocument doc) const
overridevirtual

Reimplemented from Trade.

Definition at line 198 of file forwardbond.cpp.

198 {
199 XMLNode* node = Trade::toXML(doc);
200 XMLNode* fwdBondNode = doc.allocNode("ForwardBondData");
201 XMLUtils::appendNode(node, fwdBondNode);
202 XMLUtils::appendNode(fwdBondNode, originalBondData_.toXML(doc));
203
204 XMLNode* fwdSettlementNode = doc.allocNode("SettlementData");
205 XMLUtils::appendNode(fwdBondNode, fwdSettlementNode);
206 XMLUtils::addChild(doc, fwdSettlementNode, "ForwardMaturityDate", fwdMaturityDate_);
207 if (!fwdSettlementDate_.empty())
208 XMLUtils::addChild(doc, fwdSettlementNode, "ForwardSettlementDate", fwdSettlementDate_);
209 if (!settlement_.empty())
210 XMLUtils::addChild(doc, fwdSettlementNode, "Settlement", settlement_);
211 if (!amount_.empty())
212 XMLUtils::addChild(doc, fwdSettlementNode, "Amount", amount_);
213 if (!lockRate_.empty())
214 XMLUtils::addChild(doc, fwdSettlementNode, "LockRate", lockRate_);
215 if (!dv01_.empty())
216 XMLUtils::addChild(doc, fwdSettlementNode, "dv01", dv01_);
217 if (!lockRateDayCounter_.empty())
218 XMLUtils::addChild(doc, fwdSettlementNode, "LockRateDayCounter", lockRateDayCounter_);
219 if (!settlementDirty_.empty())
220 XMLUtils::addChild(doc, fwdSettlementNode, "SettlementDirty", settlementDirty_);
221
222 XMLNode* fwdPremiumNode = doc.allocNode("PremiumData");
223 XMLUtils::appendNode(fwdBondNode, fwdPremiumNode);
224 XMLUtils::addChild(doc, fwdPremiumNode, "Amount", compensationPayment_);
225 XMLUtils::addChild(doc, fwdPremiumNode, "Date", compensationPaymentDate_);
226
227 XMLUtils::addChild(doc, fwdBondNode, "LongInForward", longInForward_);
228
229 return node;
230}
virtual XMLNode * toXML(XMLDocument &doc) const override
Definition: bond.cpp:95
+ Here is the call graph for this function:

◆ underlyingIndices()

std::map< AssetClass, std::set< std::string > > underlyingIndices ( const QuantLib::ext::shared_ptr< ReferenceDataManager > &  referenceDataManager = nullptr) const
overridevirtual

Add underlying Bond names.

Reimplemented from Trade.

Definition at line 233 of file forwardbond.cpp.

233 {
234 std::map<AssetClass, std::set<std::string>> result;
235 result[AssetClass::BOND] = {bondData_.securityId()};
236 return result;
237}

◆ bondData()

const BondData & bondData ( ) const

inspectors

Definition at line 56 of file forwardbond.hpp.

56{ return bondData_; }

◆ fwdMaturityDate()

const string & fwdMaturityDate ( ) const

Definition at line 58 of file forwardbond.hpp.

58{ return fwdMaturityDate_; }

◆ fwdSettlementDate()

const string & fwdSettlementDate ( ) const

Definition at line 59 of file forwardbond.hpp.

59{ return fwdSettlementDate_; }

◆ settlement()

const string & settlement ( ) const

Definition at line 60 of file forwardbond.hpp.

60{ return settlement_; }

◆ amount()

const string & amount ( ) const

Definition at line 61 of file forwardbond.hpp.

61{ return amount_; }

◆ lockRate()

const string & lockRate ( ) const

Definition at line 62 of file forwardbond.hpp.

62{ return lockRate_; }

◆ lockRateDayCounter()

const string & lockRateDayCounter ( ) const

Definition at line 63 of file forwardbond.hpp.

63{ return lockRateDayCounter_; }

◆ settlementDirty()

const string & settlementDirty ( ) const

Definition at line 64 of file forwardbond.hpp.

64{ return settlementDirty_; }

◆ compensationPayment()

const string & compensationPayment ( ) const

Definition at line 65 of file forwardbond.hpp.

65{ return compensationPayment_; }

◆ compensationPaymentDate()

const string & compensationPaymentDate ( ) const

Definition at line 66 of file forwardbond.hpp.

◆ longInForward()

const string & longInForward ( ) const

Definition at line 67 of file forwardbond.hpp.

67{ return longInForward_; }

◆ dv01()

const string & dv01 ( ) const

Definition at line 68 of file forwardbond.hpp.

68{ return dv01_; }
+ Here is the caller graph for this function:

Member Data Documentation

◆ originalBondData_

BondData originalBondData_
protected

Definition at line 71 of file forwardbond.hpp.

◆ bondData_

BondData bondData_
protected

Definition at line 71 of file forwardbond.hpp.

◆ currency_

string currency_
protected

Definition at line 72 of file forwardbond.hpp.

◆ fwdMaturityDate_

string fwdMaturityDate_
protected

Definition at line 74 of file forwardbond.hpp.

◆ fwdSettlementDate_

string fwdSettlementDate_
protected

Definition at line 75 of file forwardbond.hpp.

◆ settlement_

string settlement_
protected

Definition at line 76 of file forwardbond.hpp.

◆ amount_

string amount_
protected

Definition at line 77 of file forwardbond.hpp.

◆ lockRate_

string lockRate_
protected

Definition at line 78 of file forwardbond.hpp.

◆ lockRateDayCounter_

string lockRateDayCounter_
protected

Definition at line 79 of file forwardbond.hpp.

◆ settlementDirty_

string settlementDirty_
protected

Definition at line 80 of file forwardbond.hpp.

◆ compensationPayment_

string compensationPayment_
protected

Definition at line 81 of file forwardbond.hpp.

◆ compensationPaymentDate_

string compensationPaymentDate_
protected

Definition at line 82 of file forwardbond.hpp.

◆ longInForward_

string longInForward_
protected

Definition at line 83 of file forwardbond.hpp.

◆ dv01_

string dv01_
protected

Definition at line 84 of file forwardbond.hpp.