|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
High performance/precision American engine based on fixed point iteration for the exercise boundary. More...
#include <qdfpamericanengine.hpp>
Inheritance diagram for QdFpAmericanEngine:
Collaboration diagram for QdFpAmericanEngine:Public Types | |
| enum | FixedPointEquation { FP_A , FP_B , Auto } |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
Public Member Functions | |
| QdFpAmericanEngine (ext::shared_ptr< GeneralizedBlackScholesProcess > bsProcess, ext::shared_ptr< QdFpIterationScheme > iterationScheme=accurateScheme(), FixedPointEquation fpEquation=Auto) | |
Public Member Functions inherited from QdPutCallParityEngine | |
| QdPutCallParityEngine (ext::shared_ptr< GeneralizedBlackScholesProcess > process) | |
| void | calculate () const override |
Public Member Functions inherited from GenericEngine< OneAssetOption::arguments, OneAssetOption::results > | |
| PricingEngine::arguments * | getArguments () const override |
| const PricingEngine::results * | getResults () const override |
| void | reset () override |
| void | update () override |
Public Member Functions inherited from PricingEngine | |
| ~PricingEngine () override=default | |
| virtual arguments * | getArguments () const =0 |
| virtual const results * | getResults () const =0 |
| virtual void | reset ()=0 |
| virtual void | calculate () const =0 |
Public Member Functions inherited from Observable | |
| Observable ()=default | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| Observable (Observable &&)=delete | |
| Observable & | operator= (Observable &&)=delete |
| virtual | ~Observable ()=default |
| void | notifyObservers () |
Public Member Functions inherited from Observer | |
| Observer ()=default | |
| Observer (const Observer &) | |
| Observer & | operator= (const Observer &) |
| virtual | ~Observer () |
| std::pair< iterator, bool > | registerWith (const ext::shared_ptr< Observable > &) |
| void | registerWithObservables (const ext::shared_ptr< Observer > &) |
| Size | unregisterWith (const ext::shared_ptr< Observable > &) |
| void | unregisterWithAll () |
| virtual void | update ()=0 |
| virtual void | deepUpdate () |
Static Public Member Functions | |
| static ext::shared_ptr< QdFpIterationScheme > | fastScheme () |
| static ext::shared_ptr< QdFpIterationScheme > | accurateScheme () |
| static ext::shared_ptr< QdFpIterationScheme > | highPrecisionScheme () |
Protected Member Functions | |
| Real | calculatePut (Real S, Real K, Rate r, Rate q, Volatility vol, Time T) const override |
| virtual Real | calculatePut (Real S, Real K, Rate r, Rate q, Volatility vol, Time T) const =0 |
Private Attributes | |
| const ext::shared_ptr< QdFpIterationScheme > | iterationScheme_ |
| const FixedPointEquation | fpEquation_ |
Additional Inherited Members | |
Protected Attributes inherited from QdPutCallParityEngine | |
| const ext::shared_ptr< GeneralizedBlackScholesProcess > | process_ |
Protected Attributes inherited from GenericEngine< OneAssetOption::arguments, OneAssetOption::results > | |
| OneAssetOption::arguments | arguments_ |
| OneAssetOption::results | results_ |
High performance/precision American engine based on fixed point iteration for the exercise boundary.
References: Leif Andersen, Mark Lake and Dimitri Offengenden (2015) "High Performance American Option Pricing", https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2547027
Leif Andersen, Mark Lake (2021) "Fast American Option Pricing: The Double-Boundary Case"
https://onlinelibrary.wiley.com/doi/abs/10.1002/wilm.10969
Definition at line 121 of file qdfpamericanengine.hpp.
| enum FixedPointEquation |
| Enumerator | |
|---|---|
| FP_A | |
| FP_B | |
| Auto | |
Definition at line 123 of file qdfpamericanengine.hpp.
|
explicit |
Definition at line 402 of file qdfpamericanengine.cpp.
|
static |
Definition at line 412 of file qdfpamericanengine.cpp.
|
static |
Definition at line 418 of file qdfpamericanengine.cpp.
|
static |
Definition at line 424 of file qdfpamericanengine.cpp.
|
overrideprotectedvirtual |
Implements QdPutCallParityEngine.
Definition at line 429 of file qdfpamericanengine.cpp.
Here is the call graph for this function:
|
private |
Definition at line 139 of file qdfpamericanengine.hpp.
|
private |
Definition at line 140 of file qdfpamericanengine.hpp.