25#ifndef quantlib_default_event_hpp
26#define quantlib_default_event_hpp
63 const std::map<Seniority, Real>& recoveryRates);
100 const std::map<Seniority, Real>& recoveryRates =
rate_map());
110 const Date& settleDate,
151 const ext::shared_ptr<DefaultType>& contractEvType)
const {
155 contractEvType->containsRestructuringType(
157 contractEvType->containsDefaultType(
185 return !(lhs == rhs);
204 Real defaultedAmount,
206 const Date& settleDate,
207 const std::map<Seniority, Real>& recoveryRates);
211 Real defaultedAmount,
213 const Date& settleDate,
216 bool matchesEventType(
const ext::shared_ptr<DefaultType>& contractEvType)
const override;
231 const Date& settleDate,
232 const std::map<Seniority, Real>& recoveryRates);
237 const Date& settleDate,
degenerate base class for the Acyclic Visitor pattern
bool matchesEventType(const ext::shared_ptr< DefaultType > &) const override
This is a stronger than all event and will trigger all of them.
void accept(AcyclicVisitor &) override
Real recoveryRate(Seniority sen) const
std::map< Seniority, Real > recoveryRates_
Realized recovery rates.
Date date() const override
returns the date at which the event occurs
Credit event on a bond of a certain seniority(ies)/currency.
virtual Real recoveryRate(Seniority seniority) const
virtual bool matchesEventType(const ext::shared_ptr< DefaultType > &contractEvType) const
const DefaultSettlement & settlement() const
const Currency & currency() const
returns the currency of the bond this event refers to.
void accept(AcyclicVisitor &) override
std::map< Seniority, Real > rate_map
virtual bool matchesDefaultKey(const DefaultProbKey &contractKey) const
Seniority bondsSeniority_
Date date() const override
returns the date at which the event occurs
bool isRestructuring() const
DefaultSettlement defSettlement_
const DefaultType & defaultType() const
Seniority eventSeniority() const
returns the seniority of the bond that triggered the event.
Atomic credit-event type.
Restructuring::Type restructuringType() const
bool isRestructuring() const
AtomicDefault::Type defaultType() const
bool matchesEventType(const ext::shared_ptr< DefaultType > &contractEvType) const override
Real amountDefaulted() const
template class providing a null value for a given type.
floating-point comparisons
Classes for default-event description.
Classes for default-event description.
Base class for events associated with a given date.
bool operator==(const Currency &c1, const Currency &c2)
Seniority
Seniority of a bond.
bool operator!=(const Currency &c1, const Currency &c2)
bool operator()(const DefaultEvent &e1, const DefaultEvent &e2) const
compare two objects by date