1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta name="robots" content="none">
<title>NthToDefault Class Reference</title>
<link rel="stylesheet" href="quantlib.css" type="text/css">
<link rel="stylesheet" href="print.css" type="text/css" media="print">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="icon" href="favicon.ico" type="image/x-icon">
</head>
<body>
<div id="container">
<div id="header">
<img class="titleimage"
src="QL-title.jpg" width="185" height="50" border="0"
alt="QuantLib">
<br>
<h3 class="subtitle">A free/open-source library for quantitative finance</h3>
</div>
<div id="menu">
<h3 class="navbartitle">Version 1.2</h3>
<hr>
<h3 class="navbartitle">Getting started</h3>
<ul class="navbarlist">
<li class="navlink"><a href="index.html">Introduction</a></li>
<li class="navlink"><a href="where.html">Where to get QuantLib</a></li>
<li class="navlink"><a href="install.html">Installation</a></li>
<li class="navlink"><a href="config.html">Configuration</a></li>
<li class="navlink"><a href="usage.html">Usage</a></li>
<li class="navlink"><a href="history.html">Version history</a></li>
<li class="navlink"><a href="resources.html">Additional resources</a></li>
<li class="navlink"><a href="group.html">The QuantLib group</a></li>
<li class="navlink"><a href="license.html">Copyright and license</a></li>
</ul>
<hr>
<h3 class="navbartitle">Reference manual</h3>
<ul class="navbarlist">
<li class="navlink"><a href="modules.html">Modules</a></li>
<li class="navlink"><a href="hierarchy.html">Class Hierarchy</a></li>
<li class="navlink"><a href="annotated.html">Compound List</a></li>
<li class="navlink"><a href="files.html">File List</a></li>
<li class="navlink"><a href="functions.html">Compound Members</a></li>
<li class="navlink"><a href="globals.html">File Members</a></li>
<li class="navlink"><a href="todo.html">Todo List</a></li>
<li class="navlink"><a href="bug.html">Known Bugs</a></li>
<li class="navlink"><a href="caveats.html">Caveats</a></li>
<li class="navlink"><a href="test.html">Test Suite</a></li>
<li class="navlink"><a href="examples.html">Examples</a></li>
</ul>
</div>
<div id="content">
<!--Doxygen-generated content-->
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>QuantLib</b> </li>
<li class="navelem"><a class="el" href="class_quant_lib_1_1_nth_to_default.html">NthToDefault</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">NthToDefault Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="QuantLib::NthToDefault" --><!-- doxytag: inherits="QuantLib::Instrument" -->
<p>N-th to default swap.
<a href="class_quant_lib_1_1_nth_to_default.html#details">More...</a></p>
<p><code>#include <ql/experimental/credit/nthtodefault.hpp></code></p>
<div class="dynheader">
Inheritance diagram for NthToDefault:</div>
<div class="dyncontent">
<div class="center"><img src="class_quant_lib_1_1_nth_to_default__inherit__graph.png" border="0" usemap="#_nth_to_default_inherit__map" alt="Inheritance graph"/></div>
<map name="_nth_to_default_inherit__map" id="_nth_to_default_inherit__map">
<area shape="rect" id="node2" href="class_quant_lib_1_1_instrument.html" title="Abstract instrument class." alt="" coords="12,6,95,37"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="class_quant_lib_1_1_nth_to_default-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4337e6f7c077f1cf068894f35fa76a74"></a><!-- doxytag: member="QuantLib::NthToDefault::NthToDefault" ref="a4337e6f7c077f1cf068894f35fa76a74" args="(Size n, const std::vector< Handle< DefaultProbabilityTermStructure > > &probabilities, Real recoveryRate, const Handle< OneFactorCopula > &copula, Protection::Side side, Real nominal, const Schedule &premiumSchedule, Rate premiumRate, const DayCounter &dayCounter, bool settlePremiumAccrual, const Handle< YieldTermStructure > &yieldTS, const Period &integrationStepSize, boost::shared_ptr< Claim > claim=boost::shared_ptr< Claim >())" -->
 </td><td class="memItemRight" valign="bottom"><b>NthToDefault</b> (<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> n, const std::vector< <a class="el" href="class_quant_lib_1_1_handle.html">Handle</a>< <a class="el" href="class_quant_lib_1_1_default_probability_term_structure.html">DefaultProbabilityTermStructure</a> > > &probabilities, <a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> recoveryRate, const <a class="el" href="class_quant_lib_1_1_handle.html">Handle</a>< <a class="el" href="class_quant_lib_1_1_one_factor_copula.html">OneFactorCopula</a> > &copula, Protection::Side side, <a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> nominal, const <a class="el" href="class_quant_lib_1_1_schedule.html">Schedule</a> &premiumSchedule, <a class="el" href="group__types.html#gaede435af51236692b1107d7639581d39">Rate</a> premiumRate, const <a class="el" href="class_quant_lib_1_1_day_counter.html">DayCounter</a> &dayCounter, bool settlePremiumAccrual, const <a class="el" href="class_quant_lib_1_1_handle.html">Handle</a>< <a class="el" href="class_quant_lib_1_1_yield_term_structure.html">YieldTermStructure</a> > &yieldTS, const <a class="el" href="class_quant_lib_1_1_period.html">Period</a> &integrationStepSize, boost::shared_ptr< <a class="el" href="class_quant_lib_1_1_claim.html">Claim</a> > claim=boost::shared_ptr< <a class="el" href="class_quant_lib_1_1_claim.html">Claim</a> >())</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a274c03751addc5c2ea63cc23d14a0bfe"></a><!-- doxytag: member="QuantLib::NthToDefault::isExpired" ref="a274c03751addc5c2ea63cc23d14a0bfe" args="() const " -->
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_nth_to_default.html#a274c03751addc5c2ea63cc23d14a0bfe">isExpired</a> () const </td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">returns whether the instrument might have value greater than zero. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a439b4331763c1772af92bec6b182c62c"></a><!-- doxytag: member="QuantLib::NthToDefault::fairPremium" ref="a439b4331763c1772af92bec6b182c62c" args="() const " -->
<a class="el" href="group__types.html#gaede435af51236692b1107d7639581d39">Rate</a> </td><td class="memItemRight" valign="bottom"><b>fairPremium</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31d3d825697988d20419edfd4483d8fe"></a><!-- doxytag: member="QuantLib::NthToDefault::premium" ref="a31d3d825697988d20419edfd4483d8fe" args="() const " -->
<a class="el" href="group__types.html#gaede435af51236692b1107d7639581d39">Rate</a> </td><td class="memItemRight" valign="bottom"><b>premium</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0c27f57255d093f0a9c42fb53e991e7d"></a><!-- doxytag: member="QuantLib::NthToDefault::nominal" ref="a0c27f57255d093f0a9c42fb53e991e7d" args="() const " -->
<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> </td><td class="memItemRight" valign="bottom"><b>nominal</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac147d63df367bbe5282b76b1f98cb9be"></a><!-- doxytag: member="QuantLib::NthToDefault::dayCounter" ref="ac147d63df367bbe5282b76b1f98cb9be" args="() const " -->
<a class="el" href="class_quant_lib_1_1_day_counter.html">DayCounter</a> </td><td class="memItemRight" valign="bottom"><b>dayCounter</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc92405f554372b2ac8be49b9c052908"></a><!-- doxytag: member="QuantLib::NthToDefault::side" ref="acc92405f554372b2ac8be49b9c052908" args="() const " -->
Protection::Side </td><td class="memItemRight" valign="bottom"><b>side</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a392c795adb43821ad813f80cfaa88823"></a><!-- doxytag: member="QuantLib::NthToDefault::rank" ref="a392c795adb43821ad813f80cfaa88823" args="() const " -->
<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> </td><td class="memItemRight" valign="bottom"><b>rank</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf42f0c06e4fc9d3a800e752ffdb0f1c"></a><!-- doxytag: member="QuantLib::NthToDefault::basketSize" ref="abf42f0c06e4fc9d3a800e752ffdb0f1c" args="() const " -->
<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> </td><td class="memItemRight" valign="bottom"><b>basketSize</b> () const </td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>N-th to default swap. </p>
<p>A NTD instrument exchanges protection against the nth default in a basket of underlying credits for premium payments based on the protected notional amount.</p>
<p>The pricing is analogous to the pricing of a CDS instrument which represents protection against default of a single underlying credit. The only difference is the calculation of the probability of default. In the CDS case, it is the probabilty of single name default; in the NTD case the probability of at least N defaults in the portfolio of underlying credits.</p>
<p>This probability is computed using the algorithm in John Hull and Alan White, "Valuation of a CDO and nth to
default CDS without Monte Carlo simulation", Journal of Derivatives 12, 2, 2004.</p>
<p>The algorithm allows for varying probability of default across the basket. Otherwise, for identical probabilities of default, the probability of n defaults is given by the binomial distribution.</p>
<p>Default correlation is modeled using a one-factor Gaussian copula approach.</p>
<p>The class is tested against data in Hull-White (see reference above.) </p>
</div></div><!-- contents -->
</div>
<div class="footer">
<div class="endmatter">
Documentation generated by
<a href="http://www.doxygen.org">Doxygen</a> 1.7.6.1
</div>
</div>
</div>
</body>
</html>
|