File: class_quant_lib_1_1_nth_to_default.html

package info (click to toggle)
quantlib-refman-html 1.2-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 84,552 kB
  • ctags: 5,132
  • sloc: makefile: 33
file content (137 lines) | stat: -rw-r--r-- 10,915 bytes parent folder | download
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 &lt;ql/experimental/credit/nthtodefault.hpp&gt;</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&lt; Handle&lt; DefaultProbabilityTermStructure &gt; &gt; &amp;probabilities, Real recoveryRate, const Handle&lt; OneFactorCopula &gt; &amp;copula, Protection::Side side, Real nominal, const Schedule &amp;premiumSchedule, Rate premiumRate, const DayCounter &amp;dayCounter, bool settlePremiumAccrual, const Handle&lt; YieldTermStructure &gt; &amp;yieldTS, const Period &amp;integrationStepSize, boost::shared_ptr&lt; Claim &gt; claim=boost::shared_ptr&lt; Claim &gt;())" -->
&#160;</td><td class="memItemRight" valign="bottom"><b>NthToDefault</b> (<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> n, const std::vector&lt; <a class="el" href="class_quant_lib_1_1_handle.html">Handle</a>&lt; <a class="el" href="class_quant_lib_1_1_default_probability_term_structure.html">DefaultProbabilityTermStructure</a> &gt; &gt; &amp;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>&lt; <a class="el" href="class_quant_lib_1_1_one_factor_copula.html">OneFactorCopula</a> &gt; &amp;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> &amp;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> &amp;dayCounter, bool settlePremiumAccrual, const <a class="el" href="class_quant_lib_1_1_handle.html">Handle</a>&lt; <a class="el" href="class_quant_lib_1_1_yield_term_structure.html">YieldTermStructure</a> &gt; &amp;yieldTS, const <a class="el" href="class_quant_lib_1_1_period.html">Period</a> &amp;integrationStepSize, boost::shared_ptr&lt; <a class="el" href="class_quant_lib_1_1_claim.html">Claim</a> &gt; claim=boost::shared_ptr&lt; <a class="el" href="class_quant_lib_1_1_claim.html">Claim</a> &gt;())</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&#160;</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">&#160;</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>&#160;</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>&#160;</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>&#160;</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>&#160;</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&#160;</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>&#160;</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>&#160;</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>