22#include <ql/instruments/bond.hpp>
23#include <ql/pricingengine.hpp>
24#include <ql/time/daycounter.hpp>
29using QuantLib::Calendar;
31using QuantLib::GenericEngine;
33using QuantLib::PricingEngine;
111 ConvertibleBond2(Size settlementDays,
const Calendar& calendar,
const Date& issueDate,
const Leg& coupons,
113 const std::vector<CallabilityData>& callData = {},
const MakeWholeData& makeWholeData = {},
114 const std::vector<CallabilityData>& putData = {},
115 const std::vector<ConversionRatioData>& conversionRatioData = {},
116 const std::vector<ConversionData>& conversionData = {},
117 const std::vector<MandatoryConversionData>& mandatoryConversionData = {},
118 const std::vector<ConversionResetData>& conversionResetData = {},
119 const std::vector<DividendProtectionData>& dividendProtectionData = {},
120 const bool detachable =
false,
const bool perpetual =
false);
124 void fetchResults(
const PricingEngine::results*)
const override;
160 void reset()
override;
std::vector< CallabilityData > putData
ExchangeableData exchangeableData
std::vector< DividendProtectionData > dividendProtectionData
std::vector< ConversionResetData > conversionResetData
std::vector< Real > notionals
std::vector< CallabilityData > callData
std::vector< ConversionRatioData > conversionRatioData
std::vector< ConversionData > conversionData
MakeWholeData makeWholeData
void validate() const override
std::vector< MandatoryConversionData > mandatoryConversionData
void setupArguments(PricingEngine::arguments *) const override
MakeWholeData makeWholeData_
std::vector< DividendProtectionData > dividendProtectionData_
std::vector< ConversionData > conversionData_
std::vector< MandatoryConversionData > mandatoryConversionData_
std::vector< ConversionResetData > conversionResetData_
void fetchResults(const PricingEngine::results *) const override
std::vector< ConversionRatioData > conversionRatioData_
std::vector< CallabilityData > putData_
std::vector< CallabilityData > callData_
ExchangeableData exchangeableData_
ExerciseType exerciseType
ExerciseType exerciseType
ReferenceType referenceType
DividendType dividendType
AdjustmentStyle adjustmentStyle
std::vector< Date > effectiveDates
std::vector< Real > stockPrices
std::vector< std::vector< Real > > crIncrease
boost::optional< CrIncreaseData > crIncreaseData
Real pepsUpperConversionRatio
Real pepsLowerConversionRatio