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

#include <qle/instruments/convertiblebond.hpp>

+ Inheritance diagram for ConvertibleBond::option::arguments:
+ Collaboration diagram for ConvertibleBond::option::arguments:

Public Member Functions

 arguments ()
 
void validate () const override
 

Public Attributes

Real conversionRatio
 
Real conversionValue
 
DividendSchedule dividends
 
std::vector< Date > dividendDates
 
std::vector< Date > callabilityDates
 
std::vector< Callability::Type > callabilityTypes
 
std::vector< Real > callabilityPrices
 
std::vector< Real > callabilityTriggers
 
std::vector< Date > cashflowDates
 
std::vector< Real > cashflowAmounts
 
std::vector< Date > notionalDates
 
std::vector< Real > notionals
 
Date issueDate
 
Date settlementDate
 
Date maturityDate
 
Natural settlementDays
 

Detailed Description

Definition at line 93 of file convertiblebond.hpp.

Constructor & Destructor Documentation

◆ arguments()

arguments ( )

Member Function Documentation

◆ validate()

void validate ( ) const
override

Definition at line 151 of file convertiblebond.cpp.

151 {
152
153 OneAssetOption::arguments::validate();
154
155 QL_REQUIRE(conversionRatio != Null<Real>(), "null conversion ratio");
156 QL_REQUIRE(conversionRatio > 0.0 || close_enough(conversionRatio, 0.0),
157 "non-negative conversion ratio required: " << conversionRatio << " not allowed");
158
159 QL_REQUIRE(settlementDate != Date(), "null settlement date");
160
161 QL_REQUIRE(settlementDays != Null<Natural>(), "null settlement days");
162
163 QL_REQUIRE(callabilityDates.size() == callabilityTypes.size(), "different number of callability dates and types");
164 QL_REQUIRE(callabilityDates.size() == callabilityPrices.size(), "different number of callability dates and prices");
165 QL_REQUIRE(callabilityDates.size() == callabilityTriggers.size(),
166 "different number of callability dates and triggers");
167
168 QL_REQUIRE(cashflowDates.size() == cashflowAmounts.size(), "different number of coupon dates and amounts");
169
170 QL_REQUIRE(exercise->lastDate() <= maturityDate, "last conversion date (" << exercise->lastDate()
171 << ") must not be after bond maturity ("
172 << maturityDate << ")");
173}
std::vector< Callability::Type > callabilityTypes
QuantLib::ext::shared_ptr< Exercise > exercise() const
Filter close_enough(const RandomVariable &x, const RandomVariable &y)
+ Here is the call graph for this function:

Member Data Documentation

◆ conversionRatio

Real conversionRatio

Definition at line 97 of file convertiblebond.hpp.

◆ conversionValue

Real conversionValue

Definition at line 97 of file convertiblebond.hpp.

◆ dividends

DividendSchedule dividends

Definition at line 98 of file convertiblebond.hpp.

◆ dividendDates

std::vector<Date> dividendDates

Definition at line 99 of file convertiblebond.hpp.

◆ callabilityDates

std::vector<Date> callabilityDates

Definition at line 100 of file convertiblebond.hpp.

◆ callabilityTypes

std::vector<Callability::Type> callabilityTypes

Definition at line 101 of file convertiblebond.hpp.

◆ callabilityPrices

std::vector<Real> callabilityPrices

Definition at line 102 of file convertiblebond.hpp.

◆ callabilityTriggers

std::vector<Real> callabilityTriggers

Definition at line 103 of file convertiblebond.hpp.

◆ cashflowDates

std::vector<Date> cashflowDates

Definition at line 104 of file convertiblebond.hpp.

◆ cashflowAmounts

std::vector<Real> cashflowAmounts

Definition at line 105 of file convertiblebond.hpp.

◆ notionalDates

std::vector<Date> notionalDates

Definition at line 106 of file convertiblebond.hpp.

◆ notionals

std::vector<Real> notionals

Definition at line 107 of file convertiblebond.hpp.

◆ issueDate

Date issueDate

Definition at line 108 of file convertiblebond.hpp.

◆ settlementDate

Date settlementDate

Definition at line 109 of file convertiblebond.hpp.

◆ maturityDate

Date maturityDate

Definition at line 110 of file convertiblebond.hpp.

◆ settlementDays

Natural settlementDays

Definition at line 111 of file convertiblebond.hpp.