#include <creditCurve.h>
Inheritance diagram for creditCurve:
Public Member Functions | |
creditCurve (void) | |
default constructor | |
creditCurve (valarray< yieldPoint > &yp, valarray< CreditSpreadPoint > &cp, char *name=CC_DEFAULT_NAME, Real recoveryRate=CC_DEFAULT_RECOVERY_RATE, Currency currency=CC_DEFAULT_CURRENCY, Frequency frequency=CC_DEFAULT_FREQUENCY) | |
Constructor. | |
creditCurve (yieldCurve &yc, valarray< CreditSpreadPoint > &cp, char *name=CC_DEFAULT_NAME, Real recoveryRate=CC_DEFAULT_RECOVERY_RATE, Currency currency=CC_DEFAULT_CURRENCY, Frequency frequency=CC_DEFAULT_FREQUENCY) | |
creditCurve (Real flatRate, Real flatSpread, char *name=CC_DEFAULT_NAME, Real recoveryRate=CC_DEFAULT_RECOVERY_RATE, Currency currency=CC_DEFAULT_CURRENCY, Frequency frequency=CC_DEFAULT_FREQUENCY) | |
creditCurve (yieldCurve &yc, Real flatSpread, char *name=CC_DEFAULT_NAME, Real recoveryRate=CC_DEFAULT_RECOVERY_RATE, Currency currency=CC_DEFAULT_CURRENCY, Frequency frequency=CC_DEFAULT_FREQUENCY) | |
creditCurve (const creditCurve &rhs) | |
creditCurve & | operator= (const creditCurve &rhs) |
virtual | ~creditCurve (void) |
yieldCurve * | createSpreadCurve (yieldCurve &underlying, valarray< CreditSpreadPoint > &spreads) |
yieldCurve * | combineUnderlyingAndSpreads (yieldCurve &underlying, yieldCurve &spreadcurve) |
void | assignFlatSpread (Real r) |
void | resampleSpread () |
virtual Real | creditSpread (Real maturity) const |
virtual Real | creditSpread (Date maturityDate) const |
virtual Real | timeOfCurrentSpread (Real maturity) const |
virtual Natural | indexOfCurrentSpread (Real maturity) const |
virtual Real | timeOfPreviousSpread (Real maturity) const |
virtual Natural | indexOfPreviousSpread (Real maturity) const |
virtual Real | survivalProbability (Real maturity) const |
virtual Real | cumulativeDefaultProbability (Real maturity) const |
virtual Real | swapFees (Real maturity) const |
virtual Real | defaultProbability (Real maturity) const |
returns conditional default probability at a given maturity. | |
virtual Real | hazardRate (Real maturity) const |
returns hazard rate at a given maturity - this is an alias for defaultProbability i.e. | |
virtual Real | spotRate (Real maturity) const |
Calculates the spot ZCB rate. | |
virtual Real | spotRate (Date maturityDate) const |
Calculates the spot ZCB rate. | |
virtual Real | discountFactor (Real maturity, interestComposition composition=Continuous) |
Calculates the discountFactor. | |
virtual Real | riskyDiscountFactor (Real maturity, interestComposition composition=Continuous) |
Calculates the risky discount factor incorporating the hazard rate. | |
virtual Real | discountFactor (Date maturityDate, interestComposition composition=Continuous) |
Calculates the discountFactor. | |
virtual Real | forwardRate (Real forwardStart, Real effectiveLengthOfTheContractAfterStart, interestComposition composition=Continuous) |
Calculates the fwd rate. | |
virtual Real | forwardRate (Date forwardStart, Date forwardEnd, interestComposition composition=Continuous) |
Calculates the fwd rate. | |
virtual valarray< Real > | getMaturitiesInTheZCBCurve () const |
Return the maturities present in the market curve, both from the Cash and Swap Pointsvalarray<Real>. | |
virtual char * | getName () |
Real | getRecoveryRate (void) const |
Currency | getCurrency (void) const |
Frequency | getFrequency (void) const |
Protected Member Functions | |
yieldCurve * | getUnderlying (void) const |
yieldCurve * | getCombined (void) const |
valarray< CreditSpreadPoint > | getSpreads (void) const |
valarray< cachedval > | getSurvivalProbability (void) const |
valarray< cachedval > | getDefaultProbability (void) const |
valarray< cachedval > | getSwapFees (void) const |
Protected Attributes | |
yieldCurve * | _underlying |
yieldCurve * | _combined |
Private Member Functions | |
void | copyObj (const creditCurve &rhs) |
Private Attributes | |
valarray< CreditSpreadPoint > | _spreads |
valarray< cachedval > | _survivalProbability |
valarray< cachedval > | _defaultProbability |
valarray< cachedval > | _swapFees |
Real | _recoveryRate |
Currency | _currency |
Frequency | _frequency |
Friends | |
ostream & | operator<< (ostream &os, const creditCurve &c) |
ostream & | operator<< (ostream &os, const creditCurve *c) |
|
default constructor
Definition at line 24 of file creditCurve.cpp. References CC_MAX_NUM_SPREADS. |
|
Constructor.
Definition at line 100 of file creditCurve.cpp. References _combined, _underlying, CC_MAX_NUM_SPREADS, combineUnderlyingAndSpreads(), createSpreadCurve(), Real, resampleSpread(), and yieldCurve::yieldCurve(). |
|
Definition at line 32 of file creditCurve.cpp. References _combined, _underlying, CC_MAX_NUM_SPREADS, combineUnderlyingAndSpreads(), createSpreadCurve(), Real, resampleSpread(), and yieldCurve::yieldCurve(). |
|
Definition at line 55 of file creditCurve.cpp. References _combined, _underlying, assignFlatSpread(), CC_MAX_NUM_SPREADS, combineUnderlyingAndSpreads(), Real, and yieldCurve::yieldCurve(). |
|
Definition at line 77 of file creditCurve.cpp. References _combined, _underlying, assignFlatSpread(), CC_MAX_NUM_SPREADS, combineUnderlyingAndSpreads(), Real, and yieldCurve::yieldCurve(). |
|
Definition at line 129 of file creditCurve.cpp. References copyObj(). |
|
Definition at line 243 of file creditCurve.cpp. References _combined, and _underlying. |
|
Definition at line 214 of file creditCurve.cpp. References _defaultProbability, _spreads, _survivalProbability, _swapFees, Natural, r, Real, and Relative. Referenced by creditCurve(). |
|
Definition at line 181 of file creditCurve.cpp. References Cash, yieldCurve::getMaturitiesInTheZCBCurve(), mergeunique(), Natural, yieldCurve::spotRate(), and yieldCurve::yieldCurve(). Referenced by creditCurve(). |
|
Definition at line 140 of file creditCurve.cpp. References _combined, _currency, _defaultProbability, _frequency, _recoveryRate, _spreads, _survivalProbability, _swapFees, _underlying, getCombined(), getCurrency(), getDefaultProbability(), getFrequency(), getRecoveryRate(), getSpreads(), getSurvivalProbability(), getSwapFees(), getUnderlying(), and yieldCurve::yieldCurve(). Referenced by creditCurve(), and operator=(). |
|
Definition at line 153 of file creditCurve.cpp. References Absolute, Cash, Natural, yieldCurve::spotRate(), and yieldCurve::yieldCurve(). Referenced by creditCurve(). |
|
Definition at line 144 of file creditCurve.h. References _combined, _underlying, Real, and yieldCurve::spotRate(). |
|
Definition at line 139 of file creditCurve.h. References _combined, _underlying, Real, and yieldCurve::spotRate(). Referenced by defaultProbability(), maincreditcurve(), and swapFees(). |
|
Definition at line 290 of file creditCurve.cpp. References Real, and survivalProbability(). Referenced by maincreditcurve(). |
|
returns conditional default probability at a given maturity.
Definition at line 357 of file creditCurve.cpp. References _defaultProbability, _recoveryRate, _underlying, creditSpread(), yieldCurve::discountFactor(), indexOfCurrentSpread(), Natural, Real, survivalProbability(), swapFees(), timeOfCurrentSpread(), and timeOfPreviousSpread(). Referenced by hazardRate(), maincreditcurve(), survivalProbability(), and swapFees(). |
|
Calculates the discountFactor.
Reimplemented from yieldCurve. Definition at line 206 of file creditCurve.h. References _combined, and yieldCurve::discountFactor(). |
|
Calculates the discountFactor.
Reimplemented from yieldCurve. Definition at line 189 of file creditCurve.h. References _combined, yieldCurve::discountFactor(), and Real. |
|
Calculates the fwd rate.
Reimplemented from yieldCurve. Definition at line 229 of file creditCurve.h. References _combined, and yieldCurve::forwardRate(). |
|
Calculates the fwd rate.
Reimplemented from yieldCurve. Definition at line 216 of file creditCurve.h. References _combined, yieldCurve::forwardRate(), and Real. |
|
Definition at line 248 of file creditCurve.h. References _combined. Referenced by copyObj(). |
|
Definition at line 240 of file creditCurve.h. References _currency, and Currency. Referenced by copyObj(). |
|
Definition at line 251 of file creditCurve.h. References _defaultProbability. Referenced by copyObj(). |
|
Definition at line 241 of file creditCurve.h. References _frequency, and Frequency. Referenced by copyObj(). |
|
Return the maturities present in the market curve, both from the Cash and Swap Pointsvalarray<Real>.
Reimplemented from yieldCurve. Definition at line 234 of file creditCurve.h. References _combined, and yieldCurve::getMaturitiesInTheZCBCurve(). |
|
Reimplemented from yieldCurve. Definition at line 237 of file creditCurve.h. References _combined, and yieldCurve::getName(). |
|
Definition at line 239 of file creditCurve.h. References _recoveryRate, and Real. Referenced by copyObj(). |
|
Definition at line 249 of file creditCurve.h. References _spreads. Referenced by copyObj(). |
|
Definition at line 250 of file creditCurve.h. References _survivalProbability. Referenced by copyObj(). |
|
Definition at line 252 of file creditCurve.h. References _swapFees. Referenced by copyObj(). |
|
Definition at line 247 of file creditCurve.h. References _underlying. Referenced by copyObj(). |
|
returns hazard rate at a given maturity - this is an alias for defaultProbability i.e. probability of default at time t conditional on no earlier default.
Definition at line 172 of file creditCurve.h. References defaultProbability(), and Real. Referenced by maincreditcurve(). |
|
Definition at line 254 of file creditCurve.cpp. References _spreads, Natural, and Real. Referenced by defaultProbability(), survivalProbability(), swapFees(), and timeOfCurrentSpread(). |
|
Definition at line 272 of file creditCurve.cpp. References _spreads, Natural, and Real. Referenced by timeOfPreviousSpread(). |
|
Definition at line 134 of file creditCurve.cpp. References copyObj(). |
|
Definition at line 228 of file creditCurve.cpp. References _combined, _defaultProbability, _spreads, _survivalProbability, _swapFees, _underlying, Natural, Relative, and yieldCurve::spotRate(). Referenced by creditCurve(). |
|
Calculates the risky discount factor incorporating the hazard rate.
risky discount = risk free discount * survival probability In the class notes we have RF = DF * (1 - Q(T)) Q(T) is cumulative default probability so it is the complement of S(T), the cumulative survival probability. In discrete time we have the identity: (S(n) - S(n+1)) / S(n) = q(n) where q(n) is the default probability for period n conditional on no earlier default. q(n) is a discrete time version of hazard rate. In the limit (as dt -> 0) this leads to the expression S(t) = exp(-(integral from 0 to t)*h(t)*dt) The risky discount factor is a "discounted" discount factor - the discounting applied is the survival probability. In continuous time we can use the expression above but since we have calculated everything to this point in discrete time and we have an explicit expression for the survival probability we use this as the discount factor rather than the continuous time expression above. Definition at line 394 of file creditCurve.cpp. References _underlying, yieldCurve::discountFactor(), Real, and survivalProbability(). Referenced by maincreditcurve(), and riskybond::quotedPrice(). |
|
Calculates the spot ZCB rate.
Reimplemented from yieldCurve. Definition at line 180 of file creditCurve.h. References _combined, Real, and yieldCurve::spotRate(). |
|
Calculates the spot ZCB rate.
Reimplemented from yieldCurve. Definition at line 176 of file creditCurve.h. References _combined, Real, and yieldCurve::spotRate(). |
|
Definition at line 295 of file creditCurve.cpp. References _survivalProbability, defaultProbability(), indexOfCurrentSpread(), Natural, Real, timeOfCurrentSpread(), and timeOfPreviousSpread(). Referenced by cumulativeDefaultProbability(), defaultProbability(), maincreditcurve(), riskyDiscountFactor(), and swapFees(). |
|
Definition at line 320 of file creditCurve.cpp. References _swapFees, _underlying, creditSpread(), defaultProbability(), yieldCurve::discountFactor(), indexOfCurrentSpread(), Natural, Real, survivalProbability(), timeOfCurrentSpread(), and timeOfPreviousSpread(). Referenced by defaultProbability(). |
|
Definition at line 249 of file creditCurve.cpp. References _spreads, indexOfCurrentSpread(), and Real. Referenced by defaultProbability(), survivalProbability(), and swapFees(). |
|
Definition at line 285 of file creditCurve.cpp. References _spreads, indexOfPreviousSpread(), and Real. Referenced by defaultProbability(), survivalProbability(), and swapFees(). |
|
Definition at line 69 of file creditCurve.h. |
|
Definition at line 423 of file creditCurve.cpp. |
|
Definition at line 245 of file creditCurve.h. Referenced by copyObj(), creditCurve(), creditSpread(), discountFactor(), forwardRate(), getCombined(), getMaturitiesInTheZCBCurve(), getName(), operator<<(), resampleSpread(), spotRate(), and ~creditCurve(). |
|
Definition at line 264 of file creditCurve.h. Referenced by copyObj(), and getCurrency(). |
|
Definition at line 260 of file creditCurve.h. Referenced by assignFlatSpread(), copyObj(), defaultProbability(), getDefaultProbability(), and resampleSpread(). |
|
Definition at line 265 of file creditCurve.h. Referenced by copyObj(), and getFrequency(). |
|
Definition at line 263 of file creditCurve.h. Referenced by copyObj(), defaultProbability(), and getRecoveryRate(). |
|
Definition at line 256 of file creditCurve.h. Referenced by assignFlatSpread(), copyObj(), getSpreads(), indexOfCurrentSpread(), indexOfPreviousSpread(), resampleSpread(), timeOfCurrentSpread(), and timeOfPreviousSpread(). |
|
Definition at line 259 of file creditCurve.h. Referenced by assignFlatSpread(), copyObj(), getSurvivalProbability(), resampleSpread(), and survivalProbability(). |
|
Definition at line 261 of file creditCurve.h. Referenced by assignFlatSpread(), copyObj(), getSwapFees(), resampleSpread(), and swapFees(). |
|
Definition at line 244 of file creditCurve.h. Referenced by copyObj(), creditCurve(), creditSpread(), defaultProbability(), getUnderlying(), resampleSpread(), riskyDiscountFactor(), swapFees(), and ~creditCurve(). |