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:

List of all members.

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 boost::shared_ptr< DefaultType > &contractEvType) const
virtual bool matchesDefaultKey (const DefaultProbKey &contractKey) const
void accept (AcyclicVisitor &)

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 ( 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 ( 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

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.

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

virtual bool matchesDefaultKey ( const DefaultProbKey contractKey) const [virtual]

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