31#include <ql/cashflow.hpp>
32#include <ql/exercise.hpp>
33#include <ql/time/date.hpp>
56 const boost::optional<OptionExerciseData>&
exerciseData = boost::none,
57 const boost::optional<OptionPaymentData>&
paymentData = boost::none)
154 bool removeNoticeDatesAfterLastAccrualStart =
true);
173 QuantLib::ext::shared_ptr<QuantLib::Exercise>
exercise_;
const std::vector< QuantLib::Date > & exerciseDates() const
const QuantLib::Date & exerciseDate() const
QuantLib::ext::shared_ptr< QuantLib::Exercise > exercise() const
QuantLib::Date exerciseDate_
QuantLib::ext::shared_ptr< QuantLib::Exercise > exercise_
QuantLib::ext::shared_ptr< QuantLib::CashFlow > cashSettlement() const
const std::vector< QuantLib::Date > & noticeDates() const
QuantLib::ext::shared_ptr< QuantLib::CashFlow > feeSettlement() const
std::vector< QuantLib::Date > noticeDates_
QuantLib::ext::shared_ptr< QuantLib::CashFlow > feeSettlement_
QuantLib::ext::shared_ptr< QuantLib::CashFlow > cashSettlement_
std::vector< QuantLib::Date > exerciseDates_
Serializable object holding option data.
vector< string > exerciseFeeDates_
void setPaymentData(const OptionPaymentData &paymentData)
string exerciseFeeSettlementPeriod_
const string & exerciseFeeSettlementPeriod() const
void setAutomaticExercise(bool automaticExercise)
const string & settlementMethod() const
const string & callPut() const
boost::optional< OptionPaymentData > paymentData_
boost::optional< OptionExerciseData > exerciseData_
boost::optional< bool > automaticExercise() const
const string & payoffType2() const
void setExerciseDates(const std::vector< std::string > &exerciseDates)
const string & payoffType() const
const string & noticeConvention() const
string exerciseFeeSettlementCalendar_
string exerciseFeeSettlementConvention_
void setCallPut(const string &callPut)
const string & longShort() const
const string & exerciseFeeSettlementCalendar() const
const string & style() const
const vector< double > & exercisePrices() const
const string & noticeCalendar() const
const string & settlement() const
virtual void fromXML(XMLNode *node) override
vector< string > exerciseFeeTypes_
void setPayoffAtExpiry(const bool payoffAtExpiry)
virtual XMLNode * toXML(XMLDocument &doc) const override
void setLongShort(const std::string &longShort)
const vector< string > & exerciseFeeTypes() const
OptionData(string longShort, string callPut, string style, bool payoffAtExpiry, vector< string > exerciseDates, string settlement="Cash", string settlementMethod="", const PremiumData &premiumData={}, vector< double > exerciseFees=vector< Real >(), vector< double > exercisePrices=vector< Real >(), string noticePeriod="", string noticeCalendar="", string noticeConvention="", const vector< string > &exerciseFeeDates=vector< string >(), const vector< string > &exerciseFeeTypes=vector< string >(), string exerciseFeeSettlementPeriod="", string exerciseFeeSettlementCalendar="", string exerciseFeeSettlementConvention="", string payoffType="", string payoffType2="", const boost::optional< bool > &automaticExercise=boost::none, const boost::optional< OptionExerciseData > &exerciseData=boost::none, const boost::optional< OptionPaymentData > &paymentData=boost::none)
Constructor.
void setExerciseDates(const ScheduleData &exerciseDatesSchedule)
void setNoticePeriod(const std::string ¬icePeriod)
boost::optional< bool > automaticExercise_
const ScheduleData & exerciseDatesSchedule() const
const bool & payoffAtExpiry() const
bool isAutomaticExercise() const
Automatic exercise assumed false if not explicitly provided.
const boost::optional< OptionPaymentData > & paymentData() const
const boost::optional< OptionExerciseData > & exerciseData() const
vector< string > exerciseDates_
OptionData()
Default constructor.
const vector< string > & exerciseFeeDates() const
void setStyle(const std::string &style)
const PremiumData & premiumData() const
ScheduleData exerciseDatesSchedule_
vector< double > exercisePrices_
const string & exerciseFeeSettlementConvention() const
const vector< double > & exerciseFees() const
void setSettlement(const std::string &settlement)
const vector< string > & exerciseDates() const
const string & noticePeriod() const
vector< double > exerciseFees_
Serializable object holding premium data.
Serializable schedule data.
Small XML Document wrapper class.
Base class for all serializable classes.
Serializable Credit Default Swap.
option exercise data model and serialization
option payment data model and serialization
trade schedule data model and serialization