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

#include <ored/portfolio/bond.hpp>

+ Inheritance diagram for BondData:
+ Collaboration diagram for BondData:

Public Member Functions

 BondData ()
 Default Contructor. More...
 
 BondData (string securityId, Real bondNotional, bool hasCreditRisk=true)
 Constructor to set up a bond from reference data. More...
 
 BondData (string issuerId, string creditCurveId, string securityId, string referenceCurveId, string settlementDays, string calendar, string issueDate, LegData &coupons, bool hasCreditRisk=true)
 Constructor for coupon bonds. More...
 
 BondData (string issuerId, string creditCurveId, string securityId, string referenceCurveId, string settlementDays, string calendar, string issueDate, const std::vector< LegData > &coupons, bool hasCreditRisk=true)
 Constructor for coupon bonds with multiple phases (represented as legs) More...
 
 BondData (string issuerId, string creditCurveId, string securityId, string referenceCurveId, string settlementDays, string calendar, Real faceAmount, string maturityDate, string currency, string issueDate, bool hasCreditRisk=true)
 Constructor for zero bonds, FIXME these can only be set up via this ctor, not via fromXML() More...
 
const string & issuerId () const
 Inspectors. More...
 
const string & creditCurveId () const
 
const string & creditGroup () const
 
const string & securityId () const
 
const string & referenceCurveId () const
 
const string & incomeCurveId () const
 
const string & volatilityCurveId () const
 
const string & settlementDays () const
 
const string & calendar () const
 
const string & issueDate () const
 
QuantExt::BondIndex::PriceQuoteMethod priceQuoteMethod () const
 
Real priceQuoteBaseValue () const
 
const std::vector< LegData > & coupons () const
 
const string & currency () const
 
Real bondNotional () const
 
bool hasCreditRisk () const
 
bool isPayer () const
 
bool zeroBond () const
 
bool isInflationLinked () const
 
Real faceAmount () const
 
const string & maturityDate () const
 
const string & subType () const
 
virtual void fromXML (XMLNode *node) override
 XMLSerializable interface. More...
 
virtual XMLNodetoXML (XMLDocument &doc) const override
 
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 More...
 
void populateFromBondReferenceData (const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceData, const std::string &startDate="", const std::string &endDate="")
 look up reference datum in ref data manager and populate, check data for completeness More...
 
void checkData () const
 check data for completeness More...
 
std::string isdaBaseProduct () const
 return isda sub type "Single Name", "Index" or throw if sub type can not be mapped 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...
 

Private Member Functions

void initialise ()
 

Private Attributes

string issuerId_
 
string creditCurveId_
 
string creditGroup_
 
string securityId_
 
string referenceCurveId_
 
string incomeCurveId_
 
string volatilityCurveId_
 
string settlementDays_
 
string calendar_
 
string issueDate_
 
string priceQuoteMethod_
 
string priceQuoteBaseValue_
 
std::vector< LegDatacoupons_
 
bool hasCreditRisk_
 
Real faceAmount_
 
string maturityDate_
 
string currency_
 
bool zeroBond_
 
Real bondNotional_
 
bool isPayer_
 
bool isInflationLinked_
 
string subType_
 

Detailed Description

Serializable BondData FIXME zero bonds are only supported via the third constructor, but not in fromXML()

Definition at line 38 of file bond.hpp.

Constructor & Destructor Documentation

◆ BondData() [1/5]

BondData ( )

Default Contructor.

Definition at line 41 of file bond.hpp.

41 : hasCreditRisk_(true),
42 faceAmount_(0.0), zeroBond_(false), bondNotional_(1.0), isPayer_(false), isInflationLinked_(false) {}
bool isInflationLinked_
Definition: bond.hpp:145

◆ BondData() [2/5]

BondData ( string  securityId,
Real  bondNotional,
bool  hasCreditRisk = true 
)

Constructor to set up a bond from reference data.

Definition at line 45 of file bond.hpp.

const string & securityId() const
Definition: bond.hpp:84
bool hasCreditRisk() const
Definition: bond.hpp:96
string securityId_
Definition: bond.hpp:128
Real bondNotional() const
Definition: bond.hpp:95

◆ BondData() [3/5]

BondData ( string  issuerId,
string  creditCurveId,
string  securityId,
string  referenceCurveId,
string  settlementDays,
string  calendar,
string  issueDate,
LegData coupons,
bool  hasCreditRisk = true 
)

Constructor for coupon bonds.

Definition at line 50 of file bond.hpp.

55 zeroBond_(false), bondNotional_(1.0) {
56 initialise();
57 }
std::vector< LegData > coupons_
Definition: bond.hpp:137
void initialise()
Definition: bond.cpp:130
const std::vector< LegData > & coupons() const
Definition: bond.hpp:93
const string & issuerId() const
Inspectors.
Definition: bond.hpp:81
string creditCurveId_
Definition: bond.hpp:126
const string & referenceCurveId() const
Definition: bond.hpp:85
const string & issueDate() const
Definition: bond.hpp:90
string issuerId_
Definition: bond.hpp:125
string issueDate_
Definition: bond.hpp:134
string settlementDays_
Definition: bond.hpp:132
const string & settlementDays() const
Definition: bond.hpp:88
string calendar_
Definition: bond.hpp:133
string referenceCurveId_
Definition: bond.hpp:129
const string & calendar() const
Definition: bond.hpp:89
const string & creditCurveId() const
Definition: bond.hpp:82
+ Here is the call graph for this function:

◆ BondData() [4/5]

BondData ( string  issuerId,
string  creditCurveId,
string  securityId,
string  referenceCurveId,
string  settlementDays,
string  calendar,
string  issueDate,
const std::vector< LegData > &  coupons,
bool  hasCreditRisk = true 
)

Constructor for coupon bonds with multiple phases (represented as legs)

Definition at line 60 of file bond.hpp.

+ Here is the call graph for this function:

◆ BondData() [5/5]

BondData ( string  issuerId,
string  creditCurveId,
string  securityId,
string  referenceCurveId,
string  settlementDays,
string  calendar,
Real  faceAmount,
string  maturityDate,
string  currency,
string  issueDate,
bool  hasCreditRisk = true 
)

Constructor for zero bonds, FIXME these can only be set up via this ctor, not via fromXML()

Definition at line 70 of file bond.hpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ issuerId()

const string & issuerId ( ) const

Inspectors.

Definition at line 81 of file bond.hpp.

81{ return issuerId_; }
+ Here is the caller graph for this function:

◆ creditCurveId()

const string & creditCurveId ( ) const

Definition at line 82 of file bond.hpp.

82{ return creditCurveId_; }
+ Here is the caller graph for this function:

◆ creditGroup()

const string & creditGroup ( ) const

Definition at line 83 of file bond.hpp.

83{ return creditGroup_; }
string creditGroup_
Definition: bond.hpp:127

◆ securityId()

const string & securityId ( ) const

Definition at line 84 of file bond.hpp.

84{ return securityId_; }
+ Here is the caller graph for this function:

◆ referenceCurveId()

const string & referenceCurveId ( ) const

Definition at line 85 of file bond.hpp.

85{ return referenceCurveId_; }
+ Here is the caller graph for this function:

◆ incomeCurveId()

const string & incomeCurveId ( ) const

Definition at line 86 of file bond.hpp.

86{ return incomeCurveId_; }
string incomeCurveId_
Definition: bond.hpp:130

◆ volatilityCurveId()

const string & volatilityCurveId ( ) const

Definition at line 87 of file bond.hpp.

87{ return volatilityCurveId_; }
string volatilityCurveId_
Definition: bond.hpp:131

◆ settlementDays()

const string & settlementDays ( ) const

Definition at line 88 of file bond.hpp.

88{ return settlementDays_; }
+ Here is the caller graph for this function:

◆ calendar()

const string & calendar ( ) const

Definition at line 89 of file bond.hpp.

89{ return calendar_; }
+ Here is the caller graph for this function:

◆ issueDate()

const string & issueDate ( ) const

Definition at line 90 of file bond.hpp.

90{ return issueDate_; }
+ Here is the caller graph for this function:

◆ priceQuoteMethod()

QuantExt::BondIndex::PriceQuoteMethod priceQuoteMethod ( ) const

Definition at line 45 of file bond.cpp.

45 {
46 return priceQuoteMethod_.empty() ? QuantExt::BondIndex::PriceQuoteMethod::PercentageOfPar
48}
string priceQuoteMethod_
Definition: bond.hpp:135
QuantExt::BondIndex::PriceQuoteMethod parsePriceQuoteMethod(const std::string &s)
Definition: parsers.cpp:1261
+ Here is the call graph for this function:

◆ priceQuoteBaseValue()

Real priceQuoteBaseValue ( ) const

Definition at line 50 of file bond.cpp.

50 {
51 if (priceQuoteBaseValue_.empty())
52 return 1.0;
53 Real result;
55 return result;
56 QL_FAIL("invalid PriceQuoteBaseValue '" << priceQuoteBaseValue_ << "'");
57}
string priceQuoteBaseValue_
Definition: bond.hpp:136
bool tryParseReal(const string &s, QuantLib::Real &result)
Attempt to convert text to Real.
Definition: parsers.cpp:126
+ Here is the call graph for this function:

◆ coupons()

const std::vector< LegData > & coupons ( ) const

Definition at line 93 of file bond.hpp.

93{ return coupons_; }
+ Here is the caller graph for this function:

◆ currency()

const string & currency ( ) const

Definition at line 94 of file bond.hpp.

94{ return currency_; }
+ Here is the caller graph for this function:

◆ bondNotional()

Real bondNotional ( ) const

Definition at line 95 of file bond.hpp.

95{ return bondNotional_; }
+ Here is the caller graph for this function:

◆ hasCreditRisk()

bool hasCreditRisk ( ) const

Definition at line 96 of file bond.hpp.

96{ return hasCreditRisk_; }
+ Here is the caller graph for this function:

◆ isPayer()

bool isPayer ( ) const

Definition at line 97 of file bond.hpp.

97{ return isPayer_; }
+ Here is the caller graph for this function:

◆ zeroBond()

bool zeroBond ( ) const

Definition at line 98 of file bond.hpp.

98{ return zeroBond_; }
+ Here is the caller graph for this function:

◆ isInflationLinked()

bool isInflationLinked ( ) const

Definition at line 99 of file bond.hpp.

99{ return isInflationLinked_; }

◆ faceAmount()

Real faceAmount ( ) const

Definition at line 101 of file bond.hpp.

101{ return faceAmount_; }
+ Here is the caller graph for this function:

◆ maturityDate()

const string & maturityDate ( ) const

Definition at line 102 of file bond.hpp.

102{ return maturityDate_; }
+ Here is the caller graph for this function:

◆ subType()

const string & subType ( ) const

Definition at line 103 of file bond.hpp.

103{ return subType_; }
+ Here is the caller graph for this function:

◆ fromXML()

void fromXML ( XMLNode node)
overridevirtual

XMLSerializable interface.

Implements XMLSerializable.

Definition at line 59 of file bond.cpp.

59 {
60 XMLUtils::checkNode(node, "BondData");
61 QL_REQUIRE(node, "No BondData Node");
62 subType_ = XMLUtils::getChildValue(node, "SubType", false);
63 issuerId_ = XMLUtils::getChildValue(node, "IssuerId", false);
64 creditCurveId_ = XMLUtils::getChildValue(node, "CreditCurveId", false);
65 creditGroup_ = XMLUtils::getChildValue(node, "CreditGroup", false);
66 securityId_ = XMLUtils::getChildValue(node, "SecurityId", true);
67 referenceCurveId_ = XMLUtils::getChildValue(node, "ReferenceCurveId", false);
68 incomeCurveId_ = XMLUtils::getChildValue(node, "IncomeCurveId", false);
69 volatilityCurveId_ = XMLUtils::getChildValue(node, "VolatilityCurveId", false);
70 settlementDays_ = XMLUtils::getChildValue(node, "SettlementDays", false);
71 calendar_ = XMLUtils::getChildValue(node, "Calendar", false);
72 issueDate_ = XMLUtils::getChildValue(node, "IssueDate", false);
73 priceQuoteMethod_ = XMLUtils::getChildValue(node, "PriceQuoteMethod", false);
74 priceQuoteBaseValue_ = XMLUtils::getChildValue(node, "PriceQuoteBaseValue", false);
75 if (auto n = XMLUtils::getChildNode(node, "BondNotional")) {
77 } else {
78 bondNotional_ = 1.0;
79 }
80 XMLNode* legNode = XMLUtils::getChildNode(node, "LegData");
81 isInflationLinked_ = false;
82 while (legNode != nullptr) {
83 LegData ld;
84 ld.fromXML(legNode);
85 coupons_.push_back(ld);
86 if (ld.concreteLegData()->legType() == "CPI") {
87 isInflationLinked_ = true;
88 }
89 legNode = XMLUtils::getNextSibling(legNode, "LegData");
90 }
91 hasCreditRisk_ = XMLUtils::getChildValueAsBool(node, "CreditRisk", false, true);
92 initialise();
93}
static void checkNode(XMLNode *n, const string &expectedName)
Definition: xmlutils.cpp:175
static string getChildValue(XMLNode *node, const string &name, bool mandatory=false, const string &defaultValue=string())
Definition: xmlutils.cpp:277
static bool getChildValueAsBool(XMLNode *node, const string &name, bool mandatory=false, bool defaultValue=true)
Definition: xmlutils.cpp:296
static XMLNode * getChildNode(XMLNode *n, const string &name="")
Definition: xmlutils.cpp:387
static string getNodeValue(XMLNode *node)
Get a node's value.
Definition: xmlutils.cpp:489
static XMLNode * getNextSibling(XMLNode *node, const string &name="")
Get a node's next sibling node.
Definition: xmlutils.cpp:484
Real parseReal(const string &s)
Convert text to Real.
Definition: parsers.cpp:112
rapidxml::xml_node< char > XMLNode
Definition: xmlutils.hpp:60
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ toXML()

XMLNode * toXML ( XMLDocument doc) const
overridevirtual

Implements XMLSerializable.

Definition at line 95 of file bond.cpp.

95 {
96 XMLNode* bondNode = doc.allocNode("BondData");
97 if (!subType_.empty())
98 XMLUtils::addChild(doc, bondNode, "SubType", subType_);
99 if (!issuerId_.empty())
100 XMLUtils::addChild(doc, bondNode, "IssuerId", issuerId_);
101 if (!creditCurveId_.empty())
102 XMLUtils::addChild(doc, bondNode, "CreditCurveId", creditCurveId_);
103 if (!creditGroup_.empty())
104 XMLUtils::addChild(doc, bondNode, "CreditGroup", creditGroup_);
105 XMLUtils::addChild(doc, bondNode, "SecurityId", securityId_);
106 if (!referenceCurveId_.empty())
107 XMLUtils::addChild(doc, bondNode, "ReferenceCurveId", referenceCurveId_);
108 if (!incomeCurveId_.empty())
109 XMLUtils::addChild(doc, bondNode, "IncomeCurveId", incomeCurveId_);
110 if (!volatilityCurveId_.empty())
111 XMLUtils::addChild(doc, bondNode, "VolatilityCurveId", volatilityCurveId_);
112 if (!settlementDays_.empty())
113 XMLUtils::addChild(doc, bondNode, "SettlementDays", settlementDays_);
114 if (!calendar_.empty())
115 XMLUtils::addChild(doc, bondNode, "Calendar", calendar_);
116 if (!issueDate_.empty())
117 XMLUtils::addChild(doc, bondNode, "IssueDate", issueDate_);
118 if(!priceQuoteMethod_.empty())
119 XMLUtils::addChild(doc, bondNode, "PriceQuoteMethod", priceQuoteMethod_);
120 if(!priceQuoteBaseValue_.empty())
121 XMLUtils::addChild(doc, bondNode, "PriceQuoteBaseValue", priceQuoteBaseValue_);
122 XMLUtils::addChild(doc, bondNode, "BondNotional", bondNotional_);
123 for (auto& c : coupons_)
124 XMLUtils::appendNode(bondNode, c.toXML(doc));
125 if (!hasCreditRisk_)
126 XMLUtils::addChild(doc, bondNode, "CreditRisk", hasCreditRisk_);
127 return bondNode;
128}
static XMLNode * addChild(XMLDocument &doc, XMLNode *n, const string &name)
Definition: xmlutils.cpp:181
static void appendNode(XMLNode *parent, XMLNode *child)
Definition: xmlutils.cpp:406
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ populateFromBondReferenceData() [1/2]

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 at line 175 of file bond.cpp.

176 {
177 DLOG("Got BondReferenceDatum for name " << securityId_ << " overwrite empty elements in trade");
181 startDate, endDate);
182 initialise();
183 checkData();
184}
void checkData() const
check data for completeness
Definition: bond.cpp:201
#define DLOG(text)
Logging Macro (Level = Debug)
Definition: log.hpp:554
void populateFromBondReferenceData(std::string &subType, std::string &issuerId, std::string &settlementDays, std::string &calendar, std::string &issueDate, std::string &priceQuoteMethod, string &priceQuoteBaseValue, std::string &creditCurveId, std::string &creditGroup, std::string &referenceCurveId, std::string &incomeCurveId, std::string &volatilityCurveId, std::vector< LegData > &coupons, const std::string &name, const QuantLib::ext::shared_ptr< BondReferenceDatum > &bondRefData, const std::string &startDate, const std::string &endDate)
Populate bond data from name and ReferenceDataManager.
Definition: bondutils.cpp:26
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ populateFromBondReferenceData() [2/2]

void populateFromBondReferenceData ( const QuantLib::ext::shared_ptr< ReferenceDataManager > &  referenceData,
const std::string &  startDate = "",
const std::string &  endDate = "" 
)

look up reference datum in ref data manager and populate, check data for completeness

Definition at line 186 of file bond.cpp.

187 {
188 QL_REQUIRE(!securityId_.empty(), "BondData::populateFromBondReferenceData(): no security id given");
189 if (!referenceData || !referenceData->hasData(BondReferenceDatum::TYPE, securityId_)) {
190 DLOG("could not get BondReferenceDatum for name " << securityId_ << " leave data in trade unchanged");
191 initialise();
192 checkData();
193 } else {
194 auto bondRefData = QuantLib::ext::dynamic_pointer_cast<BondReferenceDatum>(
195 referenceData->getData(BondReferenceDatum::TYPE, securityId_));
196 QL_REQUIRE(bondRefData, "could not cast to BondReferenceDatum, this is unexpected");
197 populateFromBondReferenceData(bondRefData, startDate, endDate);
198 }
199}
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
static constexpr const char * TYPE
+ Here is the call graph for this function:

◆ checkData()

void checkData ( ) const

check data for completeness

Definition at line 201 of file bond.cpp.

201 {
202 QL_REQUIRE(!securityId_.empty(), "BondData invalid: no security id given");
203 std::vector<std::string> missingElements;
204 if (settlementDays_.empty())
205 missingElements.push_back("SettlementDays");
206 if (currency_.empty())
207 missingElements.push_back("Currency");
208 QL_REQUIRE(missingElements.empty(), "BondData invalid: missing " + boost::algorithm::join(missingElements, ", ") +
209 " - check if reference data is set up for '"
210 << securityId_ << "'");
211}
+ Here is the caller graph for this function:

◆ isdaBaseProduct()

std::string isdaBaseProduct ( ) const

return isda sub type "Single Name", "Index" or throw if sub type can not be mapped

Definition at line 213 of file bond.cpp.

213 {
214 static const std::set<std::string> singleName = {"ABS", "Corporate", "Loans", "Muni", "Sovereign"};
215 static const std::set<std::string> index = {"ABX", "CMBX", "MBX", "PrimeX", "TRX", "iBoxx"};
216 if (singleName.find(subType()) != singleName.end()) {
217 return "Single Name";
218 } else if (index.find(subType()) != index.end()) {
219 return "Index";
220 } else {
221 QL_FAIL("BondData::isdaBaseProduct() not defined for subType '"
222 << subType() << "', expected: "
223 << boost::algorithm::join(singleName, ", ") + " (map to 'Single Name') " +
224 boost::algorithm::join(index, ", ") + " (map to 'Index')");
225 }
226}
const string & subType() const
Definition: bond.hpp:103
+ Here is the call graph for this function:

◆ initialise()

void initialise ( )
private

Definition at line 130 of file bond.cpp.

130 {
131
132 isPayer_ = false;
133 isInflationLinked_ = false;
134
135 if (!zeroBond()) {
136
137 // fill currency, if not directly given (which is only the case for zero bonds)
138
139 for (Size i = 0; i < coupons().size(); ++i) {
140 if (i == 0)
141 currency_ = coupons()[i].currency();
142 else {
143 QL_REQUIRE(currency_ == coupons()[i].currency(),
144 "bond leg #" << i << " currency (" << coupons()[i].currency()
145 << ") not equal to leg #0 currency (" << coupons()[0].currency());
146 }
147 }
148
149 // fill isPayer, FIXME zero bonds are always long
150
151 for (Size i = 0; i < coupons().size(); ++i) {
152 if (i == 0)
153 isPayer_ = coupons()[i].isPayer();
154 else {
155 QL_REQUIRE(isPayer_ == coupons()[i].isPayer(),
156 "bond leg #" << i << " isPayer (" << std::boolalpha << coupons()[i].isPayer()
157 << ") not equal to leg #0 isPayer (" << coupons()[0].isPayer());
158 }
159 }
160
161 // fill isInflationLinked
162 for (Size i = 0; i < coupons().size(); ++i) {
163 if (i == 0)
164 isInflationLinked_ = coupons()[i].concreteLegData()->legType() == "CPI";
165 else {
166 bool isIthCouponInflationLinked = coupons()[i].concreteLegData()->legType() == "CPI";
167 QL_REQUIRE(isInflationLinked_ == isIthCouponInflationLinked,
168 "bond leg #" << i << " isInflationLinked (" << std::boolalpha << isIthCouponInflationLinked
169 << ") not equal to leg #0 isInflationLinked (" << isInflationLinked_);
170 }
171 }
172 }
173}
bool zeroBond() const
Definition: bond.hpp:98
bool isPayer() const
Definition: bond.hpp:97
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ issuerId_

string issuerId_
private

Definition at line 125 of file bond.hpp.

◆ creditCurveId_

string creditCurveId_
private

Definition at line 126 of file bond.hpp.

◆ creditGroup_

string creditGroup_
private

Definition at line 127 of file bond.hpp.

◆ securityId_

string securityId_
private

Definition at line 128 of file bond.hpp.

◆ referenceCurveId_

string referenceCurveId_
private

Definition at line 129 of file bond.hpp.

◆ incomeCurveId_

string incomeCurveId_
private

Definition at line 130 of file bond.hpp.

◆ volatilityCurveId_

string volatilityCurveId_
private

Definition at line 131 of file bond.hpp.

◆ settlementDays_

string settlementDays_
private

Definition at line 132 of file bond.hpp.

◆ calendar_

string calendar_
private

Definition at line 133 of file bond.hpp.

◆ issueDate_

string issueDate_
private

Definition at line 134 of file bond.hpp.

◆ priceQuoteMethod_

string priceQuoteMethod_
private

Definition at line 135 of file bond.hpp.

◆ priceQuoteBaseValue_

string priceQuoteBaseValue_
private

Definition at line 136 of file bond.hpp.

◆ coupons_

std::vector<LegData> coupons_
private

Definition at line 137 of file bond.hpp.

◆ hasCreditRisk_

bool hasCreditRisk_
private

Definition at line 138 of file bond.hpp.

◆ faceAmount_

Real faceAmount_
private

Definition at line 139 of file bond.hpp.

◆ maturityDate_

string maturityDate_
private

Definition at line 140 of file bond.hpp.

◆ currency_

string currency_
private

Definition at line 141 of file bond.hpp.

◆ zeroBond_

bool zeroBond_
private

Definition at line 142 of file bond.hpp.

◆ bondNotional_

Real bondNotional_
private

Definition at line 143 of file bond.hpp.

◆ isPayer_

bool isPayer_
private

Definition at line 144 of file bond.hpp.

◆ isInflationLinked_

bool isInflationLinked_
private

Definition at line 145 of file bond.hpp.

◆ subType_

string subType_
private

Definition at line 146 of file bond.hpp.