QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
suowangdoublebarrierengine.hpp
Go to the documentation of this file.
1/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3/*
4 Copyright (C) 2013 Yue Tian
5
6 This file is part of QuantLib, a free-software/open-source library
7 for financial quantitative analysts and developers - http://quantlib.org/
8
9 QuantLib is free software: you can redistribute it and/or modify it
10 under the terms of the QuantLib license. You should have received a
11 copy of the license along with this program; if not, please email
12 <quantlib-dev@lists.sf.net>. The license is also available online at
13 <http://quantlib.org/license.shtml>.
14
15 This program is distributed in the hope that it will be useful, but WITHOUT
16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17 FOR A PARTICULAR PURPOSE. See the license for more details.
18*/
19
20/*! \file suowangdoublebarrierengine.hpp
21 \brief Wulin Suo, Yong Wang double-barrier option engine
22*/
23
24#ifndef wulin_yong_double_barrier_engine_hpp
25#define wulin_yong_double_barrier_engine_hpp
26
30
31namespace QuantLib {
32
33 //! Pricing engine for barrier options using analytical formulae
34 /*! The formulas are taken from "Barrier Option Pricing",
35 Wulin Suo, Yong Wang.
36
37 \ingroup barrierengines
38
39 \test the correctness of the returned value is tested by
40 reproducing results available in literature.
41 */
43 public:
45 ext::shared_ptr<GeneralizedBlackScholesProcess> process, int series = 5);
46 void calculate() const override;
47
48 private:
49 ext::shared_ptr<GeneralizedBlackScholesProcess> process_;
50 const int series_;
52 // helper methods
53 Real strike() const;
54 Time residualTime() const;
55 Volatility volatility() const;
56 Rate riskFreeRate() const;
58 Rate dividendYield() const;
60 Real D(Real X, Real lambda, Real sigma, Real T) const;
61
62 };
63
64}
65
66
67#endif
Black-Scholes processes.
Cumulative normal distribution function.
Double-Barrier-option engine base class
Pricing engine for barrier options using analytical formulae.
Real D(Real X, Real lambda, Real sigma, Real T) const
ext::shared_ptr< GeneralizedBlackScholesProcess > process_
double Barrier european option on a single asset
Real Time
continuous quantity with 1-year units
Definition: types.hpp:62
QL_REAL Real
real number
Definition: types.hpp:50
Real DiscountFactor
discount factor between dates
Definition: types.hpp:66
Real Volatility
volatility
Definition: types.hpp:78
Real Rate
interest rates
Definition: types.hpp:70
Real sigma
Definition: any.hpp:35
normal, cumulative and inverse cumulative distributions