QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Pricing engine for barrier options using analytical formulae. More...
#include <suowangdoublebarrierengine.hpp>
Public Member Functions | |
SuoWangDoubleBarrierEngine (ext::shared_ptr< GeneralizedBlackScholesProcess > process, int series=5) | |
void | calculate () const override |
Public Member Functions inherited from GenericEngine< DoubleBarrierOption::arguments, DoubleBarrierOption::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 () | |
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 () |
Private Member Functions | |
Real | strike () const |
Time | residualTime () const |
Volatility | volatility () const |
Rate | riskFreeRate () const |
DiscountFactor | riskFreeDiscount () const |
Rate | dividendYield () const |
DiscountFactor | dividendDiscount () const |
Real | D (Real X, Real lambda, Real sigma, Real T) const |
Private Attributes | |
ext::shared_ptr< GeneralizedBlackScholesProcess > | process_ |
const int | series_ |
CumulativeNormalDistribution | f_ |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
Protected Member Functions inherited from DoubleBarrierOption::engine | |
bool | triggered (Real underlying) const |
Protected Attributes inherited from GenericEngine< DoubleBarrierOption::arguments, DoubleBarrierOption::results > | |
DoubleBarrierOption::arguments | arguments_ |
DoubleBarrierOption::results | results_ |
Pricing engine for barrier options using analytical formulae.
The formulas are taken from "Barrier Option Pricing", Wulin Suo, Yong Wang.
Definition at line 42 of file suowangdoublebarrierengine.hpp.
|
explicit |
Definition at line 28 of file suowangdoublebarrierengine.cpp.
|
overridevirtual |
Implements PricingEngine.
Definition at line 34 of file suowangdoublebarrierengine.cpp.
|
private |
Definition at line 133 of file suowangdoublebarrierengine.cpp.
|
private |
Definition at line 140 of file suowangdoublebarrierengine.cpp.
|
private |
Definition at line 144 of file suowangdoublebarrierengine.cpp.
|
private |
Definition at line 148 of file suowangdoublebarrierengine.cpp.
|
private |
Definition at line 153 of file suowangdoublebarrierengine.cpp.
|
private |
Definition at line 157 of file suowangdoublebarrierengine.cpp.
|
private |
Definition at line 162 of file suowangdoublebarrierengine.cpp.
Definition at line 166 of file suowangdoublebarrierengine.cpp.
|
private |
Definition at line 49 of file suowangdoublebarrierengine.hpp.
|
private |
Definition at line 50 of file suowangdoublebarrierengine.hpp.
|
private |
Definition at line 51 of file suowangdoublebarrierengine.hpp.