28#include <boost/optional/optional.hpp>
79 QuantLib::Real
strike = QuantLib::Null<QuantLib::Real>(),
82 const std::string&
term =
"",
83 const boost::optional<AuctionSettlementInformation>& asi = boost::none);
87 void build(
const QuantLib::ext::shared_ptr<EngineFactory>& ef)
override;
94 QuantLib::Real
strike()
const;
97 const std::string&
term()
const;
114 boost::optional<AuctionSettlementInformation>
asi_;
117 void buildNoDefault(
const QuantLib::ext::shared_ptr<EngineFactory>& ef);
120 void buildDefaulted(
const QuantLib::ext::shared_ptr<EngineFactory>& ef);
123 Date
addPremium(
const QuantLib::ext::shared_ptr<EngineFactory>& ef,
const QuantLib::Currency& tradeCurrency,
124 const std::string& marketConfig,
125 std::vector<QuantLib::ext::shared_ptr<QuantLib::Instrument>>& additionalInstruments,
126 std::vector<QuantLib::Real>& additionalMultipliers);
void buildDefaulted(const QuantLib::ext::shared_ptr< EngineFactory > &ef)
Build instrument given that default has occurred.
const std::string & strikeType() const
CreditDefaultSwapData swap_
void build(const QuantLib::ext::shared_ptr< EngineFactory > &ef) override
const OptionData & option() const
const CreditDefaultSwapData & swap() const
const std::string & term() const
void fromXML(XMLNode *node) override
CreditDefaultSwapOption()
Default constructor.
XMLNode * toXML(XMLDocument &doc) const override
QuantLib::Real strike() const
const boost::optional< AuctionSettlementInformation > & auctionSettlementInformation() const
boost::optional< AuctionSettlementInformation > asi_
Date addPremium(const QuantLib::ext::shared_ptr< EngineFactory > &ef, const QuantLib::Currency &tradeCurrency, const std::string &marketConfig, std::vector< QuantLib::ext::shared_ptr< QuantLib::Instrument > > &additionalInstruments, std::vector< QuantLib::Real > &additionalMultipliers)
Add the premium payment.
CreditDefaultSwapOption(const Envelope &env, const OptionData &option, const CreditDefaultSwapData &swap, QuantLib::Real strike=QuantLib::Null< QuantLib::Real >(), const std::string &strikeType="Spread", bool knockOut=true, const std::string &term="", const boost::optional< AuctionSettlementInformation > &asi=boost::none)
Constructor.
void buildNoDefault(const QuantLib::ext::shared_ptr< EngineFactory > &ef)
Build CDS option given that no default.
Serializable object holding generic trade data, reporting dimensions.
Serializable object holding option data.
Small XML Document wrapper class.
Base class for all serializable classes.
Ibor cap, floor or collar trade data model and serialization.
Serializable Credit Default Swap.
trade option data model and serialization