File: class_quant_lib_1_1_optionlet_stripper.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 (177 lines) | stat: -rw-r--r-- 18,270 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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
<!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>OptionletStripper 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_optionlet_stripper.html">OptionletStripper</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">OptionletStripper Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="QuantLib::OptionletStripper" --><!-- doxytag: inherits="QuantLib::StrippedOptionletBase" -->
<p><code>#include &lt;ql/termstructures/volatility/optionlet/optionletstripper.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for OptionletStripper:</div>
<div class="dyncontent">
<div class="center"><img src="class_quant_lib_1_1_optionlet_stripper__inherit__graph.png" border="0" usemap="#_optionlet_stripper_inherit__map" alt="Inheritance graph"/></div>
<map name="_optionlet_stripper_inherit__map" id="_optionlet_stripper_inherit__map">
<area shape="rect" id="node5" href="class_quant_lib_1_1_optionlet_stripper1.html" title="OptionletStripper1" alt="" coords="5,166,131,197"/><area shape="rect" id="node7" href="class_quant_lib_1_1_optionlet_stripper2.html" title="OptionletStripper2" alt="" coords="155,166,280,197"/><area shape="rect" id="node2" href="class_quant_lib_1_1_stripped_optionlet_base.html" title="StrippedOptionletBase" alt="" coords="67,6,219,37"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="class_quant_lib_1_1_optionlet_stripper-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="ae202892d94f34cdd9e988035e85ce7e8"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletFixingTenors" ref="ae202892d94f34cdd9e988035e85ce7e8" args="() const " -->
const std::vector&lt; <a class="el" href="class_quant_lib_1_1_period.html">Period</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletFixingTenors</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a805f2578b0a6fda83dfe3bfa5f64a4ad"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletPaymentDates" ref="a805f2578b0a6fda83dfe3bfa5f64a4ad" args="() const " -->
const std::vector&lt; <a class="el" href="class_quant_lib_1_1_date.html">Date</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletPaymentDates</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29c1279cbcb231f1f7ebb9114e9594f6"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletAccrualPeriods" ref="a29c1279cbcb231f1f7ebb9114e9594f6" args="() const " -->
const std::vector&lt; <a class="el" href="group__types.html#ga14fb8fca43a68f4168654e1f9f7e22f7">Time</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletAccrualPeriods</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad502687af32ea28b4c73205ac4e4ede6"></a><!-- doxytag: member="QuantLib::OptionletStripper::termVolSurface" ref="ad502687af32ea28b4c73205ac4e4ede6" args="() const " -->
boost::shared_ptr<br class="typebreak"/>
&lt; <a class="el" href="class_quant_lib_1_1_cap_floor_term_vol_surface.html">CapFloorTermVolSurface</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>termVolSurface</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39c9489a774110f2c9109243222f287e"></a><!-- doxytag: member="QuantLib::OptionletStripper::iborIndex" ref="a39c9489a774110f2c9109243222f287e" args="() const " -->
boost::shared_ptr&lt; <a class="el" href="class_quant_lib_1_1_ibor_index.html">IborIndex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>iborIndex</b> () const </td></tr>
<tr><td colspan="2"><div class="groupHeader">StrippedOptionletBase interface</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a507e4c6ee7a50980ed6f3a110681d7e0"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletStrikes" ref="a507e4c6ee7a50980ed6f3a110681d7e0" args="(Size i) const " -->
const std::vector&lt; <a class="el" href="group__types.html#gaede435af51236692b1107d7639581d39">Rate</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletStrikes</b> (<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> i) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abe7a67bc08b873c9a15a2144c821a9e3"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletVolatilities" ref="abe7a67bc08b873c9a15a2144c821a9e3" args="(Size i) const " -->
const std::vector&lt; <a class="el" href="group__types.html#gaaa95ab7fe66935e3f7535413fad2a7d3">Volatility</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletVolatilities</b> (<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> i) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3a00159416293bc9559326540986aec2"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletFixingDates" ref="a3a00159416293bc9559326540986aec2" args="() const " -->
const std::vector&lt; <a class="el" href="class_quant_lib_1_1_date.html">Date</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletFixingDates</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad47bd5a39f71c57c6784f6d623332886"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletFixingTimes" ref="ad47bd5a39f71c57c6784f6d623332886" args="() const " -->
const std::vector&lt; <a class="el" href="group__types.html#ga14fb8fca43a68f4168654e1f9f7e22f7">Time</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletFixingTimes</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34bc094ec5d29c718b7e66cb6624a6db"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletMaturities" ref="a34bc094ec5d29c718b7e66cb6624a6db" args="() const " -->
<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a>&#160;</td><td class="memItemRight" valign="bottom"><b>optionletMaturities</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f452b7201204399d0cfa566a9a7a7e8"></a><!-- doxytag: member="QuantLib::OptionletStripper::atmOptionletRates" ref="a8f452b7201204399d0cfa566a9a7a7e8" args="() const " -->
const std::vector&lt; <a class="el" href="group__types.html#gaede435af51236692b1107d7639581d39">Rate</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>atmOptionletRates</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac147d63df367bbe5282b76b1f98cb9be"></a><!-- doxytag: member="QuantLib::OptionletStripper::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="ae9a0f3904cff2fe61596c593dd0b6448"></a><!-- doxytag: member="QuantLib::OptionletStripper::calendar" ref="ae9a0f3904cff2fe61596c593dd0b6448" args="() const " -->
<a class="el" href="class_quant_lib_1_1_calendar.html">Calendar</a>&#160;</td><td class="memItemRight" valign="bottom"><b>calendar</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab6506da60fec85c6f146f1b43116de70"></a><!-- doxytag: member="QuantLib::OptionletStripper::settlementDays" ref="ab6506da60fec85c6f146f1b43116de70" args="() const " -->
<a class="el" href="group__types.html#ga7e529c39c477ba1f5a22264d93e8457a">Natural</a>&#160;</td><td class="memItemRight" valign="bottom"><b>settlementDays</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d653d6960e5abf8a835f24fd9beb685"></a><!-- doxytag: member="QuantLib::OptionletStripper::businessDayConvention" ref="a9d653d6960e5abf8a835f24fd9beb685" args="() const " -->
<a class="el" href="group__datetime.html#gaff46c5ae9385d20709bedade86edd368">BusinessDayConvention</a>&#160;</td><td class="memItemRight" valign="bottom"><b>businessDayConvention</b> () const </td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a086966f71f9ea4261180018802902954"></a><!-- doxytag: member="QuantLib::OptionletStripper::OptionletStripper" ref="a086966f71f9ea4261180018802902954" args="(const boost::shared_ptr&lt; CapFloorTermVolSurface &gt; &amp;, const boost::shared_ptr&lt; IborIndex &gt; &amp;iborIndex_)" -->
&#160;</td><td class="memItemRight" valign="bottom"><b>OptionletStripper</b> (const boost::shared_ptr&lt; <a class="el" href="class_quant_lib_1_1_cap_floor_term_vol_surface.html">CapFloorTermVolSurface</a> &gt; &amp;, const boost::shared_ptr&lt; <a class="el" href="class_quant_lib_1_1_ibor_index.html">IborIndex</a> &gt; &amp;iborIndex_)</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af74a6d2207b53104a7af15d6c475f1e8"></a><!-- doxytag: member="QuantLib::OptionletStripper::termVolSurface_" ref="af74a6d2207b53104a7af15d6c475f1e8" args="" -->
const boost::shared_ptr<br class="typebreak"/>
&lt; <a class="el" href="class_quant_lib_1_1_cap_floor_term_vol_surface.html">CapFloorTermVolSurface</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>termVolSurface_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d81914beca9a7c39ae1b911f410aef6"></a><!-- doxytag: member="QuantLib::OptionletStripper::iborIndex_" ref="a0d81914beca9a7c39ae1b911f410aef6" args="" -->
const boost::shared_ptr<br class="typebreak"/>
&lt; <a class="el" href="class_quant_lib_1_1_ibor_index.html">IborIndex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>iborIndex_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67ae5ca8c9285c2e266d0472b1c1e7ad"></a><!-- doxytag: member="QuantLib::OptionletStripper::nStrikes_" ref="a67ae5ca8c9285c2e266d0472b1c1e7ad" args="" -->
<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a>&#160;</td><td class="memItemRight" valign="bottom"><b>nStrikes_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af63bf0c780bf6fb48dca01de652bcd36"></a><!-- doxytag: member="QuantLib::OptionletStripper::nOptionletTenors_" ref="af63bf0c780bf6fb48dca01de652bcd36" args="" -->
<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a>&#160;</td><td class="memItemRight" valign="bottom"><b>nOptionletTenors_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad326a486270bf61958c6e5cfd41b4af6"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletStrikes_" ref="ad326a486270bf61958c6e5cfd41b4af6" args="" -->
std::vector&lt; std::vector&lt; <a class="el" href="group__types.html#gaede435af51236692b1107d7639581d39">Rate</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletStrikes_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a299a6625c5bfcf50287bbb43cd631175"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletVolatilities_" ref="a299a6625c5bfcf50287bbb43cd631175" args="" -->
std::vector&lt; std::vector<br class="typebreak"/>
&lt; <a class="el" href="group__types.html#gaaa95ab7fe66935e3f7535413fad2a7d3">Volatility</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletVolatilities_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a901d3034547526afa185e14c7232382e"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletTimes_" ref="a901d3034547526afa185e14c7232382e" args="" -->
std::vector&lt; <a class="el" href="group__types.html#ga14fb8fca43a68f4168654e1f9f7e22f7">Time</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletTimes_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90d9e439fb5ebe3ecf3fece2945cce6f"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletDates_" ref="a90d9e439fb5ebe3ecf3fece2945cce6f" args="" -->
std::vector&lt; <a class="el" href="class_quant_lib_1_1_date.html">Date</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletDates_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f6701abeb60a26972389b8ce0d52c0a"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletTenors_" ref="a6f6701abeb60a26972389b8ce0d52c0a" args="" -->
std::vector&lt; <a class="el" href="class_quant_lib_1_1_period.html">Period</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletTenors_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23e84c781ddae11d094ab2efb1cb4198"></a><!-- doxytag: member="QuantLib::OptionletStripper::atmOptionletRate_" ref="a23e84c781ddae11d094ab2efb1cb4198" args="" -->
std::vector&lt; <a class="el" href="group__types.html#gaede435af51236692b1107d7639581d39">Rate</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>atmOptionletRate_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a62c7151370cd9b4466f5d20f35a99e12"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletPaymentDates_" ref="a62c7151370cd9b4466f5d20f35a99e12" args="" -->
std::vector&lt; <a class="el" href="class_quant_lib_1_1_date.html">Date</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletPaymentDates_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a64f90db40b98e9207338979fdc18f6ae"></a><!-- doxytag: member="QuantLib::OptionletStripper::optionletAccrualPeriods_" ref="a64f90db40b98e9207338979fdc18f6ae" args="" -->
std::vector&lt; <a class="el" href="group__types.html#ga14fb8fca43a68f4168654e1f9f7e22f7">Time</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>optionletAccrualPeriods_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31a56f3f9b923dff0104681b4f234110"></a><!-- doxytag: member="QuantLib::OptionletStripper::capFloorLengths_" ref="a31a56f3f9b923dff0104681b4f234110" args="" -->
std::vector&lt; <a class="el" href="class_quant_lib_1_1_period.html">Period</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>capFloorLengths_</b></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p><a class="el" href="class_quant_lib_1_1_stripped_optionlet_base.html">StrippedOptionletBase</a> specialization. It's up to derived classes to implement <a class="el" href="class_quant_lib_1_1_lazy_object.html#a572dbe926524786c64db01e31dba7ab8">LazyObject::performCalculations</a> </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>