QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | Protected Attributes | List of all members
DefaultEvent Class Reference

Credit event on a bond of a certain seniority(ies)/currency. More...

#include <ql/experimental/credit/defaultevent.hpp>

+ Inheritance diagram for DefaultEvent:

Public Member Functions

 DefaultEvent (const Date &creditEventDate, const DefaultType &atomicEvType, const Currency &curr, Seniority bondsSen, const Date &settleDate=Null< Date >(), const std::map< Seniority, Real > &recoveryRates=rate_map())
 
 DefaultEvent (const Date &creditEventDate, const DefaultType &atomicEvType, const Currency &curr, Seniority bondsSen, const Date &settleDate=Null< Date >(), Real recoveryRate=0.4)
 
Date date () const
 returns the date at which the event occurs
 
bool isRestructuring () const
 
bool isDefault () const
 
bool hasSettled () const
 
const DefaultSettlement & settlement () const
 
const DefaultTypedefaultType () const
 
const Currencycurrency () const
 returns the currency of the bond this event refers to.
 
Seniority eventSeniority () const
 returns the seniority of the bond that triggered the event.
 
virtual Real recoveryRate (Seniority seniority) const
 
virtual bool matchesEventType (const ext::shared_ptr< DefaultType > &contractEvType) const
 
virtual bool matchesDefaultKey (const DefaultProbKey &contractKey) const
 
void accept (AcyclicVisitor &)
 
- Public Member Functions inherited from Event
virtual bool hasOccurred (const Date &refDate=Date(), boost::optional< bool > includeRefDate=boost::none) const
 returns true if an event has already occurred before a date More...
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 

Protected Attributes

Currency bondsCurrency_
 
Date defaultDate_
 
DefaultType eventType_
 
Seniority bondsSeniority_
 
DefaultSettlement defSettlement_
 

Detailed Description

Credit event on a bond of a certain seniority(ies)/currency.

Represents a credit event affecting all bonds with a given \ seniority and currency. It assumes that all such bonds suffer \ the event simultaneously. Some events affect all seniorities and this has to be encoded through a different set of events of the same event type. The event is an actual realization, not a contractual reference, as such it contains only an atomic type.

Constructor & Destructor Documentation

◆ DefaultEvent() [1/2]

DefaultEvent ( const Date creditEventDate,
const DefaultType atomicEvType,
const Currency curr,
Seniority  bondsSen,
const Date settleDate = NullDate >(),
const std::map< Seniority, Real > &  recoveryRates = rate_map() 
)

Credit event with optional settlement information. Represents a credit event that has taken place. Realized events are of an atomic type. If the settlement information is given seniorities present are the seniorities/bonds affected by the event.

◆ DefaultEvent() [2/2]

DefaultEvent ( const Date creditEventDate,
const DefaultType atomicEvType,
const Currency curr,
Seniority  bondsSen,
const Date settleDate = NullDate >(),
Real  recoveryRate = 0.4 
)

Use NoSeniority to settle to all seniorities with that recovery. In that case the event is assumed to have affected all seniorities.

Member Function Documentation

◆ recoveryRate()

virtual Real recoveryRate ( Seniority  seniority) const
virtual

returns a value if the event lead to a settlement for the requested seniority. Specializations on the default atomics and recoveries could change the default policy.

◆ matchesEventType()

virtual bool matchesEventType ( const ext::shared_ptr< DefaultType > &  contractEvType) const
virtual

matches the event if this event would trigger a contract related to the requested event type. Notice the contractual event types are not neccesarily atomic. Notice it does not check seniority or currency only event type. typically used from Issuer

◆ matchesDefaultKey()

virtual bool matchesDefaultKey ( const DefaultProbKey contractKey) const
virtual

Returns true if this event would trigger a contract with the arguments characteristics.