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 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>QuantLib: MCEuropeanEngine< RNG, S > Class Template Reference</title>
<link href='https://fonts.googleapis.com/css?family=Merriweather+Sans:800' rel='stylesheet' type='text/css'>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="quantlibextra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname"><a href="http://quantlib.org">
<img alt="QuantLib" src="QL-title.jpg"></a>
<div id="projectbrief">A free/open-source library for quantitative finance</div>
<div id="projectnumber">Reference manual - version 1.20</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespace_quant_lib.html">QuantLib</a></li><li class="navelem"><a class="el" href="class_quant_lib_1_1_m_c_european_engine.html">MCEuropeanEngine</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> |
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pro-methods">Protected Member Functions</a> |
<a href="class_quant_lib_1_1_m_c_european_engine-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">MCEuropeanEngine< RNG, S > Class Template Reference<div class="ingroups"><a class="el" href="group__engines.html">Pricing engines</a> » <a class="el" href="group__vanillaengines.html">Vanilla option engines</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>European option pricing engine using Monte Carlo simulation.
<a href="class_quant_lib_1_1_m_c_european_engine.html#details">More...</a></p>
<p><code>#include <ql/pricingengines/vanilla/mceuropeanengine.hpp></code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
<img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for MCEuropeanEngine< RNG, S >:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="class_quant_lib_1_1_m_c_european_engine__inherit__graph.png" border="0" usemap="#a_m_c_european_engine_3_01_r_n_g_00_01_s_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="_m_c_european_engine_3_01_r_n_g_00_01_s_01_4_inherit__map" id="a_m_c_european_engine_3_01_r_n_g_00_01_s_01_4_inherit__map">
<area shape="rect" title="European option pricing engine using Monte Carlo simulation." alt="" coords="7,184,217,211"/>
<area shape="rect" href="class_quant_lib_1_1_m_c_vanilla_engine.html" title=" " alt="" coords="5,95,219,136"/>
<area shape="rect" href="class_quant_lib_1_1_mc_simulation.html" title=" " alt="" coords="15,5,209,47"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:adbe9b93b6c3876a6f4ba5321ef098b08"><td class="memItemLeft" align="right" valign="top"><a id="adbe9b93b6c3876a6f4ba5321ef098b08"></a>
typedef <a class="el" href="class_quant_lib_1_1_m_c_vanilla_engine.html">MCVanillaEngine</a>< <a class="el" href="struct_quant_lib_1_1_single_variate.html">SingleVariate</a>, RNG, S >::<a class="el" href="class_quant_lib_1_1_multi_path_generator.html">path_generator_type</a> </td><td class="memItemRight" valign="bottom"><b>path_generator_type</b></td></tr>
<tr class="separator:adbe9b93b6c3876a6f4ba5321ef098b08"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af24f9f2c0de053e45d36f3d549af4d5b"><td class="memItemLeft" align="right" valign="top"><a id="af24f9f2c0de053e45d36f3d549af4d5b"></a>
typedef <a class="el" href="class_quant_lib_1_1_m_c_vanilla_engine.html">MCVanillaEngine</a>< <a class="el" href="struct_quant_lib_1_1_single_variate.html">SingleVariate</a>, RNG, S >::<a class="el" href="class_quant_lib_1_1_path_pricer.html">path_pricer_type</a> </td><td class="memItemRight" valign="bottom"><b>path_pricer_type</b></td></tr>
<tr class="separator:af24f9f2c0de053e45d36f3d549af4d5b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ada2759e0be1476c26ab996d38fbeae01"><td class="memItemLeft" align="right" valign="top"><a id="ada2759e0be1476c26ab996d38fbeae01"></a>
typedef <a class="el" href="class_quant_lib_1_1_m_c_vanilla_engine.html">MCVanillaEngine</a>< <a class="el" href="struct_quant_lib_1_1_single_variate.html">SingleVariate</a>, RNG, S >::<a class="el" href="class_quant_lib_1_1_generic_risk_statistics.html">stats_type</a> </td><td class="memItemRight" valign="bottom"><b>stats_type</b></td></tr>
<tr class="separator:ada2759e0be1476c26ab996d38fbeae01"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_types_class_quant_lib_1_1_mc_simulation"><td colspan="2" onclick="javascript:toggleInherit('pub_types_class_quant_lib_1_1_mc_simulation')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="class_quant_lib_1_1_mc_simulation.html">McSimulation< SingleVariate, PseudoRandom, Statistics ></a></td></tr>
<tr class="memitem:a4e86ff468be75be1d9ec907a1af3818f inherit pub_types_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="a4e86ff468be75be1d9ec907a1af3818f"></a>
typedef <a class="el" href="class_quant_lib_1_1_monte_carlo_model.html">MonteCarloModel</a>< <a class="el" href="struct_quant_lib_1_1_single_variate.html">SingleVariate</a>, <a class="el" href="namespace_quant_lib.html#af791c06b3da1d5f4b90a19f3f423e75e">PseudoRandom</a>, <a class="el" href="namespace_quant_lib.html#a235b6c8805adaa743cc845aae9c05946">Statistics</a> >::<a class="el" href="class_quant_lib_1_1_multi_path_generator.html">path_generator_type</a> </td><td class="memItemRight" valign="bottom"><b>path_generator_type</b></td></tr>
<tr class="separator:a4e86ff468be75be1d9ec907a1af3818f inherit pub_types_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae4588b42428cb979b0fad7369aef51a6 inherit pub_types_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="ae4588b42428cb979b0fad7369aef51a6"></a>
typedef <a class="el" href="class_quant_lib_1_1_monte_carlo_model.html">MonteCarloModel</a>< <a class="el" href="struct_quant_lib_1_1_single_variate.html">SingleVariate</a>, <a class="el" href="namespace_quant_lib.html#af791c06b3da1d5f4b90a19f3f423e75e">PseudoRandom</a>, <a class="el" href="namespace_quant_lib.html#a235b6c8805adaa743cc845aae9c05946">Statistics</a> >::<a class="el" href="class_quant_lib_1_1_path_pricer.html">path_pricer_type</a> </td><td class="memItemRight" valign="bottom"><b>path_pricer_type</b></td></tr>
<tr class="separator:ae4588b42428cb979b0fad7369aef51a6 inherit pub_types_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a38a0f2b84a876f1da1a5805922d8bb7b inherit pub_types_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="a38a0f2b84a876f1da1a5805922d8bb7b"></a>
typedef <a class="el" href="class_quant_lib_1_1_monte_carlo_model.html">MonteCarloModel</a>< <a class="el" href="struct_quant_lib_1_1_single_variate.html">SingleVariate</a>, <a class="el" href="namespace_quant_lib.html#af791c06b3da1d5f4b90a19f3f423e75e">PseudoRandom</a>, <a class="el" href="namespace_quant_lib.html#a235b6c8805adaa743cc845aae9c05946">Statistics</a> >::<a class="el" href="class_quant_lib_1_1_generic_risk_statistics.html">stats_type</a> </td><td class="memItemRight" valign="bottom"><b>stats_type</b></td></tr>
<tr class="separator:a38a0f2b84a876f1da1a5805922d8bb7b inherit pub_types_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a94aa31e474a79b56b5921e9b5e59090d inherit pub_types_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="a94aa31e474a79b56b5921e9b5e59090d"></a>
typedef <a class="el" href="class_quant_lib_1_1_monte_carlo_model.html">MonteCarloModel</a>< <a class="el" href="struct_quant_lib_1_1_single_variate.html">SingleVariate</a>, <a class="el" href="namespace_quant_lib.html#af791c06b3da1d5f4b90a19f3f423e75e">PseudoRandom</a>, <a class="el" href="namespace_quant_lib.html#a235b6c8805adaa743cc845aae9c05946">Statistics</a> >::result_type </td><td class="memItemRight" valign="bottom"><b>result_type</b></td></tr>
<tr class="separator:a94aa31e474a79b56b5921e9b5e59090d inherit pub_types_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5c5b6ad43c10146e2f4941ac6962e7b8"><td class="memItemLeft" align="right" valign="top"><a id="a5c5b6ad43c10146e2f4941ac6962e7b8"></a>
 </td><td class="memItemRight" valign="bottom"><b>MCEuropeanEngine</b> (const ext::shared_ptr< <a class="el" href="class_quant_lib_1_1_generalized_black_scholes_process.html">GeneralizedBlackScholesProcess</a> > &process, <a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> timeSteps, <a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> timeStepsPerYear, bool brownianBridge, bool antitheticVariate, <a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> requiredSamples, <a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> requiredTolerance, <a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> maxSamples, <a class="el" href="namespace_quant_lib.html#ae3df3f13e67885465f4e359b3bffa4e6">BigNatural</a> seed)</td></tr>
<tr class="separator:a5c5b6ad43c10146e2f4941ac6962e7b8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_methods_class_quant_lib_1_1_m_c_vanilla_engine"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_quant_lib_1_1_m_c_vanilla_engine')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="class_quant_lib_1_1_m_c_vanilla_engine.html">MCVanillaEngine< SingleVariate, PseudoRandom, Statistics ></a></td></tr>
<tr class="memitem:a082ff96da379d5e17436372ccb3c0972 inherit pub_methods_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a082ff96da379d5e17436372ccb3c0972"></a>
void </td><td class="memItemRight" valign="bottom"><b>calculate</b> () const</td></tr>
<tr class="separator:a082ff96da379d5e17436372ccb3c0972 inherit pub_methods_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_methods_class_quant_lib_1_1_mc_simulation"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_quant_lib_1_1_mc_simulation')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="class_quant_lib_1_1_mc_simulation.html">McSimulation< SingleVariate, PseudoRandom, Statistics ></a></td></tr>
<tr class="memitem:a5a561aadfe4f8552ee3e1a793a229973 inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="a5a561aadfe4f8552ee3e1a793a229973"></a>
result_type </td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_mc_simulation.html#a5a561aadfe4f8552ee3e1a793a229973">value</a> (<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> tolerance, <a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> maxSamples=<a class="el" href="group__limit_macros.html#gac49205214551771cf97efe9839ac6cb5">QL_MAX_INTEGER</a>, <a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> minSamples=1023) const</td></tr>
<tr class="memdesc:a5a561aadfe4f8552ee3e1a793a229973 inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="mdescLeft"> </td><td class="mdescRight">add samples until the required absolute tolerance is reached <br /></td></tr>
<tr class="separator:a5a561aadfe4f8552ee3e1a793a229973 inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a19d48f0ef361732925944d5406327b62 inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="a19d48f0ef361732925944d5406327b62"></a>
result_type </td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_mc_simulation.html#a19d48f0ef361732925944d5406327b62">valueWithSamples</a> (<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> samples) const</td></tr>
<tr class="memdesc:a19d48f0ef361732925944d5406327b62 inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="mdescLeft"> </td><td class="mdescRight">simulate a fixed number of samples <br /></td></tr>
<tr class="separator:a19d48f0ef361732925944d5406327b62 inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2b77f533f06da69df238758cd636985e inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="a2b77f533f06da69df238758cd636985e"></a>
result_type </td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_mc_simulation.html#a2b77f533f06da69df238758cd636985e">errorEstimate</a> () const</td></tr>
<tr class="memdesc:a2b77f533f06da69df238758cd636985e inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="mdescLeft"> </td><td class="mdescRight">error estimated using the samples simulated so far <br /></td></tr>
<tr class="separator:a2b77f533f06da69df238758cd636985e inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:abf7622f9bc94fbb40425a63aea8bac43 inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="abf7622f9bc94fbb40425a63aea8bac43"></a>
const <a class="el" href="class_quant_lib_1_1_generic_risk_statistics.html">stats_type</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_mc_simulation.html#abf7622f9bc94fbb40425a63aea8bac43">sampleAccumulator</a> () const</td></tr>
<tr class="memdesc:abf7622f9bc94fbb40425a63aea8bac43 inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="mdescLeft"> </td><td class="mdescRight">access to the sample accumulator for richer statistics <br /></td></tr>
<tr class="separator:abf7622f9bc94fbb40425a63aea8bac43 inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad5f42177fb934aa1898abe8120e7d8dc inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="ad5f42177fb934aa1898abe8120e7d8dc"></a>
void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_mc_simulation.html#ad5f42177fb934aa1898abe8120e7d8dc">calculate</a> (<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> requiredTolerance, <a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> requiredSamples, <a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> maxSamples) const</td></tr>
<tr class="memdesc:ad5f42177fb934aa1898abe8120e7d8dc inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="mdescLeft"> </td><td class="mdescRight">basic calculate method provided to inherited pricing engines <br /></td></tr>
<tr class="separator:ad5f42177fb934aa1898abe8120e7d8dc inherit pub_methods_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a3ebabc6dea517fe9a5ecc2c7a5d45978"><td class="memItemLeft" align="right" valign="top"><a id="a3ebabc6dea517fe9a5ecc2c7a5d45978"></a>
ext::shared_ptr< <a class="el" href="class_quant_lib_1_1_path_pricer.html">path_pricer_type</a> > </td><td class="memItemRight" valign="bottom"><b>pathPricer</b> () const</td></tr>
<tr class="separator:a3ebabc6dea517fe9a5ecc2c7a5d45978"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_methods_class_quant_lib_1_1_m_c_vanilla_engine"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_quant_lib_1_1_m_c_vanilla_engine')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="class_quant_lib_1_1_m_c_vanilla_engine.html">MCVanillaEngine< SingleVariate, PseudoRandom, Statistics ></a></td></tr>
<tr class="memitem:a5237744a46950b7d986a2593e9872561 inherit pro_methods_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a5237744a46950b7d986a2593e9872561"></a>
 </td><td class="memItemRight" valign="bottom"><b>MCVanillaEngine</b> (const ext::shared_ptr< <a class="el" href="class_quant_lib_1_1_stochastic_process.html">StochasticProcess</a> > &, <a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> timeSteps, <a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> timeStepsPerYear, bool brownianBridge, bool antitheticVariate, bool controlVariate, <a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> requiredSamples, <a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> requiredTolerance, <a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> maxSamples, <a class="el" href="namespace_quant_lib.html#ae3df3f13e67885465f4e359b3bffa4e6">BigNatural</a> seed)</td></tr>
<tr class="separator:a5237744a46950b7d986a2593e9872561 inherit pro_methods_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9820e026a481e4c1cb95b4d89345101c inherit pro_methods_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a9820e026a481e4c1cb95b4d89345101c"></a>
<a class="el" href="class_quant_lib_1_1_time_grid.html">TimeGrid</a> </td><td class="memItemRight" valign="bottom"><b>timeGrid</b> () const</td></tr>
<tr class="separator:a9820e026a481e4c1cb95b4d89345101c inherit pro_methods_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aec5bc43c03597bb7ebab23d33d2ac915 inherit pro_methods_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="aec5bc43c03597bb7ebab23d33d2ac915"></a>
ext::shared_ptr< <a class="el" href="class_quant_lib_1_1_multi_path_generator.html">path_generator_type</a> > </td><td class="memItemRight" valign="bottom"><b>pathGenerator</b> () const</td></tr>
<tr class="separator:aec5bc43c03597bb7ebab23d33d2ac915 inherit pro_methods_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a324dd986dad98c3e0813a907f07d37a6 inherit pro_methods_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a324dd986dad98c3e0813a907f07d37a6"></a>
result_type </td><td class="memItemRight" valign="bottom"><b>controlVariateValue</b> () const</td></tr>
<tr class="separator:a324dd986dad98c3e0813a907f07d37a6 inherit pro_methods_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_methods_class_quant_lib_1_1_mc_simulation"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_quant_lib_1_1_mc_simulation')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="class_quant_lib_1_1_mc_simulation.html">McSimulation< SingleVariate, PseudoRandom, Statistics ></a></td></tr>
<tr class="memitem:ab494776b2804de3802deefd3b35e2503 inherit pro_methods_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="ab494776b2804de3802deefd3b35e2503"></a>
 </td><td class="memItemRight" valign="bottom"><b>McSimulation</b> (bool antitheticVariate, bool controlVariate)</td></tr>
<tr class="separator:ab494776b2804de3802deefd3b35e2503 inherit pro_methods_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a061f7d2ee81dfc1fa0b3f6554f55bff6 inherit pro_methods_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="a061f7d2ee81dfc1fa0b3f6554f55bff6"></a>
virtual ext::shared_ptr< <a class="el" href="class_quant_lib_1_1_path_pricer.html">path_pricer_type</a> > </td><td class="memItemRight" valign="bottom"><b>pathPricer</b> () const=0</td></tr>
<tr class="separator:a061f7d2ee81dfc1fa0b3f6554f55bff6 inherit pro_methods_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab0baeac19d70cdc5bb45fba69e952650 inherit pro_methods_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="ab0baeac19d70cdc5bb45fba69e952650"></a>
virtual ext::shared_ptr< <a class="el" href="class_quant_lib_1_1_path_pricer.html">path_pricer_type</a> > </td><td class="memItemRight" valign="bottom"><b>controlPathPricer</b> () const</td></tr>
<tr class="separator:ab0baeac19d70cdc5bb45fba69e952650 inherit pro_methods_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a79f272afb2a75b9cb82976068659645d inherit pro_methods_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="a79f272afb2a75b9cb82976068659645d"></a>
virtual ext::shared_ptr< <a class="el" href="class_quant_lib_1_1_multi_path_generator.html">path_generator_type</a> > </td><td class="memItemRight" valign="bottom"><b>controlPathGenerator</b> () const</td></tr>
<tr class="separator:a79f272afb2a75b9cb82976068659645d inherit pro_methods_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a441d284ba060bff72096605cf8d2bbd8 inherit pro_methods_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="a441d284ba060bff72096605cf8d2bbd8"></a>
virtual ext::shared_ptr< <a class="el" href="class_quant_lib_1_1_pricing_engine.html">PricingEngine</a> > </td><td class="memItemRight" valign="bottom"><b>controlPricingEngine</b> () const</td></tr>
<tr class="separator:a441d284ba060bff72096605cf8d2bbd8 inherit pro_methods_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_types_class_quant_lib_1_1_m_c_vanilla_engine"><td colspan="2" onclick="javascript:toggleInherit('pro_types_class_quant_lib_1_1_m_c_vanilla_engine')"><img src="closed.png" alt="-"/> Protected Types inherited from <a class="el" href="class_quant_lib_1_1_m_c_vanilla_engine.html">MCVanillaEngine< SingleVariate, PseudoRandom, Statistics ></a></td></tr>
<tr class="memitem:a2e301ff1e9761ffd43e2e8a626d5ae90 inherit pro_types_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a2e301ff1e9761ffd43e2e8a626d5ae90"></a>
typedef <a class="el" href="class_quant_lib_1_1_mc_simulation.html">McSimulation</a>< <a class="el" href="struct_quant_lib_1_1_single_variate.html">SingleVariate</a>, <a class="el" href="namespace_quant_lib.html#af791c06b3da1d5f4b90a19f3f423e75e">PseudoRandom</a>, <a class="el" href="namespace_quant_lib.html#a235b6c8805adaa743cc845aae9c05946">Statistics</a> >::<a class="el" href="class_quant_lib_1_1_multi_path_generator.html">path_generator_type</a> </td><td class="memItemRight" valign="bottom"><b>path_generator_type</b></td></tr>
<tr class="separator:a2e301ff1e9761ffd43e2e8a626d5ae90 inherit pro_types_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7922dd7fea2c004ef3dc817d274cfe84 inherit pro_types_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a7922dd7fea2c004ef3dc817d274cfe84"></a>
typedef <a class="el" href="class_quant_lib_1_1_mc_simulation.html">McSimulation</a>< <a class="el" href="struct_quant_lib_1_1_single_variate.html">SingleVariate</a>, <a class="el" href="namespace_quant_lib.html#af791c06b3da1d5f4b90a19f3f423e75e">PseudoRandom</a>, <a class="el" href="namespace_quant_lib.html#a235b6c8805adaa743cc845aae9c05946">Statistics</a> >::<a class="el" href="class_quant_lib_1_1_path_pricer.html">path_pricer_type</a> </td><td class="memItemRight" valign="bottom"><b>path_pricer_type</b></td></tr>
<tr class="separator:a7922dd7fea2c004ef3dc817d274cfe84 inherit pro_types_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9e8c6745d46fec52af674b05ce5b75d7 inherit pro_types_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a9e8c6745d46fec52af674b05ce5b75d7"></a>
typedef <a class="el" href="class_quant_lib_1_1_mc_simulation.html">McSimulation</a>< <a class="el" href="struct_quant_lib_1_1_single_variate.html">SingleVariate</a>, <a class="el" href="namespace_quant_lib.html#af791c06b3da1d5f4b90a19f3f423e75e">PseudoRandom</a>, <a class="el" href="namespace_quant_lib.html#a235b6c8805adaa743cc845aae9c05946">Statistics</a> >::<a class="el" href="class_quant_lib_1_1_generic_risk_statistics.html">stats_type</a> </td><td class="memItemRight" valign="bottom"><b>stats_type</b></td></tr>
<tr class="separator:a9e8c6745d46fec52af674b05ce5b75d7 inherit pro_types_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a07e1e84bbe02891bd31885fe3fc4c181 inherit pro_types_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a07e1e84bbe02891bd31885fe3fc4c181"></a>
typedef <a class="el" href="class_quant_lib_1_1_mc_simulation.html">McSimulation</a>< <a class="el" href="struct_quant_lib_1_1_single_variate.html">SingleVariate</a>, <a class="el" href="namespace_quant_lib.html#af791c06b3da1d5f4b90a19f3f423e75e">PseudoRandom</a>, <a class="el" href="namespace_quant_lib.html#a235b6c8805adaa743cc845aae9c05946">Statistics</a> >::result_type </td><td class="memItemRight" valign="bottom"><b>result_type</b></td></tr>
<tr class="separator:a07e1e84bbe02891bd31885fe3fc4c181 inherit pro_types_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_static_methods_class_quant_lib_1_1_mc_simulation"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_class_quant_lib_1_1_mc_simulation')"><img src="closed.png" alt="-"/> Static Protected Member Functions inherited from <a class="el" href="class_quant_lib_1_1_mc_simulation.html">McSimulation< SingleVariate, PseudoRandom, Statistics ></a></td></tr>
<tr class="memitem:a6e88fa36deb63e5bf40cad0082068f57 inherit pro_static_methods_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="a6e88fa36deb63e5bf40cad0082068f57"></a>
static <a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> </td><td class="memItemRight" valign="bottom"><b>maxError</b> (const Sequence &sequence)</td></tr>
<tr class="separator:a6e88fa36deb63e5bf40cad0082068f57 inherit pro_static_methods_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab8fcdfbea80f9ee9882c197655216b2d inherit pro_static_methods_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="ab8fcdfbea80f9ee9882c197655216b2d"></a>
static <a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> </td><td class="memItemRight" valign="bottom"><b>maxError</b> (<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> error)</td></tr>
<tr class="separator:ab8fcdfbea80f9ee9882c197655216b2d inherit pro_static_methods_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="class_quant_lib_1_1_m_c_vanilla_engine.html">MCVanillaEngine< SingleVariate, PseudoRandom, Statistics ></a></td></tr>
<tr class="memitem:a1e8595e5b016209840f487121dbee3e7 inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a1e8595e5b016209840f487121dbee3e7"></a>
ext::shared_ptr< <a class="el" href="class_quant_lib_1_1_stochastic_process.html">StochasticProcess</a> > </td><td class="memItemRight" valign="bottom"><b>process_</b></td></tr>
<tr class="separator:a1e8595e5b016209840f487121dbee3e7 inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a02b035f6fcde4fb3cc9964c0518964ae inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a02b035f6fcde4fb3cc9964c0518964ae"></a>
<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> </td><td class="memItemRight" valign="bottom"><b>timeSteps_</b></td></tr>
<tr class="separator:a02b035f6fcde4fb3cc9964c0518964ae inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9c25c7000e01433677e04eae138ff831 inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a9c25c7000e01433677e04eae138ff831"></a>
<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> </td><td class="memItemRight" valign="bottom"><b>timeStepsPerYear_</b></td></tr>
<tr class="separator:a9c25c7000e01433677e04eae138ff831 inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a937ea3e2dae694ac2df5226b1b349b22 inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a937ea3e2dae694ac2df5226b1b349b22"></a>
<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> </td><td class="memItemRight" valign="bottom"><b>requiredSamples_</b></td></tr>
<tr class="separator:a937ea3e2dae694ac2df5226b1b349b22 inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae92c9f4ec24db42ea6eceb5919e9dea5 inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="ae92c9f4ec24db42ea6eceb5919e9dea5"></a>
<a class="el" href="group__types.html#gaf38bdb4c54463b1f456655efa95b5c77">Size</a> </td><td class="memItemRight" valign="bottom"><b>maxSamples_</b></td></tr>
<tr class="separator:ae92c9f4ec24db42ea6eceb5919e9dea5 inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa336fe20be7a7fe0b17df1565bbc2f1a inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="aa336fe20be7a7fe0b17df1565bbc2f1a"></a>
<a class="el" href="group__types.html#ga4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> </td><td class="memItemRight" valign="bottom"><b>requiredTolerance_</b></td></tr>
<tr class="separator:aa336fe20be7a7fe0b17df1565bbc2f1a inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a237ba632601944316deef578c245e825 inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a237ba632601944316deef578c245e825"></a>
bool </td><td class="memItemRight" valign="bottom"><b>brownianBridge_</b></td></tr>
<tr class="separator:a237ba632601944316deef578c245e825 inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a654936ea7a7e268c1d02b452e80c7fdb inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memItemLeft" align="right" valign="top"><a id="a654936ea7a7e268c1d02b452e80c7fdb"></a>
<a class="el" href="namespace_quant_lib.html#ae3df3f13e67885465f4e359b3bffa4e6">BigNatural</a> </td><td class="memItemRight" valign="bottom"><b>seed_</b></td></tr>
<tr class="separator:a654936ea7a7e268c1d02b452e80c7fdb inherit pro_attribs_class_quant_lib_1_1_m_c_vanilla_engine"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pro_attribs_class_quant_lib_1_1_mc_simulation"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_quant_lib_1_1_mc_simulation')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="class_quant_lib_1_1_mc_simulation.html">McSimulation< SingleVariate, PseudoRandom, Statistics ></a></td></tr>
<tr class="memitem:ac5c688be78662f3ff27e1f0cc6d96c86 inherit pro_attribs_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="ac5c688be78662f3ff27e1f0cc6d96c86"></a>
ext::shared_ptr< <a class="el" href="class_quant_lib_1_1_monte_carlo_model.html">MonteCarloModel</a>< <a class="el" href="struct_quant_lib_1_1_single_variate.html">SingleVariate</a>, <a class="el" href="namespace_quant_lib.html#af791c06b3da1d5f4b90a19f3f423e75e">PseudoRandom</a>, <a class="el" href="namespace_quant_lib.html#a235b6c8805adaa743cc845aae9c05946">Statistics</a> > > </td><td class="memItemRight" valign="bottom"><b>mcModel_</b></td></tr>
<tr class="separator:ac5c688be78662f3ff27e1f0cc6d96c86 inherit pro_attribs_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3f79786890b8283d011bf31f3b325311 inherit pro_attribs_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="a3f79786890b8283d011bf31f3b325311"></a>
bool </td><td class="memItemRight" valign="bottom"><b>antitheticVariate_</b></td></tr>
<tr class="separator:a3f79786890b8283d011bf31f3b325311 inherit pro_attribs_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1c27fd78e44f207125a15990d39ad4f5 inherit pro_attribs_class_quant_lib_1_1_mc_simulation"><td class="memItemLeft" align="right" valign="top"><a id="a1c27fd78e44f207125a15990d39ad4f5"></a>
bool </td><td class="memItemRight" valign="bottom"><b>controlVariate_</b></td></tr>
<tr class="separator:a1c27fd78e44f207125a15990d39ad4f5 inherit pro_attribs_class_quant_lib_1_1_mc_simulation"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template<class RNG = PseudoRandom, class S = Statistics><br />
class QuantLib::MCEuropeanEngine< RNG, S ></h3>
<p>European option pricing engine using Monte Carlo simulation. </p>
<dl class="test"><dt><b><a class="el" href="test.html#_test000143">Tests:</a></b></dt><dd>the correctness of the returned value is tested by checking it against analytic results. </dd></dl>
</div></div><!-- contents -->
<!-- HTML footer for doxygen 1.8.9.1-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="http://www.doxygen.org/index.html">Doxygen</a>
1.8.20
</small></address>
</body>
</html>
|