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:
[legend]

## 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 DefaultType & | defaultType () const
const Currency & | currency () 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 boost::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 &)
Observable & | operator= (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 = `Null< Date >()`,
|  | 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 = `Null< Date >()`,
|  | 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 boost::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.