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
|
<!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>Payoff 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_payoff.html">Payoff</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Payoff Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="QuantLib::Payoff" --><!-- doxytag: inherits="std::unary_function" -->
<p>Abstract base class for option payoffs.
<a href="class_quant_lib_1_1_payoff.html#details">More...</a></p>
<p><code>#include <ql/payoff.hpp></code></p>
<div class="dynheader">
Inheritance diagram for Payoff:</div>
<div class="dyncontent">
<div class="center"><img src="class_quant_lib_1_1_payoff__inherit__graph.png" border="0" usemap="#_payoff_inherit__map" alt="Inheritance graph"/></div>
<map name="_payoff_inherit__map" id="_payoff_inherit__map">
<area shape="rect" id="node3" href="class_quant_lib_1_1_double_sticky_ratchet_payoff.html" title="Intermediate class for single/double sticky/ratchet payoffs." alt="" coords="5,86,184,117"/><area shape="rect" id="node5" href="class_quant_lib_1_1_forward_type_payoff.html" title="Class for forward type payoffs." alt="" coords="208,86,339,117"/><area shape="rect" id="node7" href="class_quant_lib_1_1_null_payoff.html" title="Dummy payoff class." alt="" coords="363,86,440,117"/><area shape="rect" id="node9" href="class_quant_lib_1_1_type_payoff.html" title="Intermediate class for put/call payoffs." alt="" coords="464,86,549,117"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<p><a href="class_quant_lib_1_1_payoff-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 colspan="2"><div class="groupHeader">Payoff interface</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_payoff.html#a7f04e718c6856c4d3d77a496b6acad0d">name</a> () const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77d7003fa5d2e29669371413d5662141"></a><!-- doxytag: member="QuantLib::Payoff::description" ref="a77d7003fa5d2e29669371413d5662141" args="() const =0" -->
virtual std::string </td><td class="memItemRight" valign="bottom"><b>description</b> () const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d8b8d4f6c9e7904c5de2786903518b6"></a><!-- doxytag: member="QuantLib::Payoff::operator()" ref="a6d8b8d4f6c9e7904c5de2786903518b6" args="(Real price) const =0" -->
virtual <a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> </td><td class="memItemRight" valign="bottom"><b>operator()</b> (<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> price) const =0</td></tr>
<tr><td colspan="2"><div class="groupHeader">Visitability</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d7eaf2f5dccce1c7781b54d64ba4a07"></a><!-- doxytag: member="QuantLib::Payoff::accept" ref="a1d7eaf2f5dccce1c7781b54d64ba4a07" args="(AcyclicVisitor &)" -->
virtual void </td><td class="memItemRight" valign="bottom"><b>accept</b> (<a class="el" href="class_quant_lib_1_1_acyclic_visitor.html">AcyclicVisitor</a> &)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Abstract base class for option payoffs. </p>
</div><hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a7f04e718c6856c4d3d77a496b6acad0d"></a><!-- doxytag: member="QuantLib::Payoff::name" ref="a7f04e718c6856c4d3d77a496b6acad0d" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual std::string <a class="el" href="class_quant_lib_1_1_payoff.html#a7f04e718c6856c4d3d77a496b6acad0d">name</a> </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="caveats"><dt><b><a class="el" href="caveats.html#_caveats000087">Warning:</a></b></dt><dd>This method is used for output and comparison between payoffs. It is <b>not</b> meant to be used for writing switch-on-type code. </dd></dl>
<p>Implemented in <a class="el" href="class_quant_lib_1_1_super_share_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">SuperSharePayoff</a>, <a class="el" href="class_quant_lib_1_1_super_fund_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">SuperFundPayoff</a>, <a class="el" href="class_quant_lib_1_1_gap_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">GapPayoff</a>, <a class="el" href="class_quant_lib_1_1_sticky_min_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">StickyMinPayoff</a>, <a class="el" href="class_quant_lib_1_1_cash_or_nothing_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">CashOrNothingPayoff</a>, <a class="el" href="class_quant_lib_1_1_forward_type_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">ForwardTypePayoff</a>, <a class="el" href="class_quant_lib_1_1_sticky_max_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">StickyMaxPayoff</a>, <a class="el" href="class_quant_lib_1_1_asset_or_nothing_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">AssetOrNothingPayoff</a>, <a class="el" href="class_quant_lib_1_1_ratchet_min_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">RatchetMinPayoff</a>, <a class="el" href="class_quant_lib_1_1_percentage_strike_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">PercentageStrikePayoff</a>, <a class="el" href="class_quant_lib_1_1_plain_vanilla_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">PlainVanillaPayoff</a>, <a class="el" href="class_quant_lib_1_1_ratchet_max_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">RatchetMaxPayoff</a>, <a class="el" href="class_quant_lib_1_1_sticky_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">StickyPayoff</a>, <a class="el" href="class_quant_lib_1_1_floating_type_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">FloatingTypePayoff</a>, <a class="el" href="class_quant_lib_1_1_ratchet_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">RatchetPayoff</a>, <a class="el" href="class_quant_lib_1_1_double_sticky_ratchet_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">DoubleStickyRatchetPayoff</a>, and <a class="el" href="class_quant_lib_1_1_null_payoff.html#a37627d5d5bba7f4a8690c71c2ab3cb07">NullPayoff</a>.</p>
</div>
</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>
|