QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Arbitrage free smile section using a C^1 inter- and extrapolation method proposed by Kahale, see http://www.risk.net/data/Pay_per_view/risk/technical/2004/0504_tech_option2.pdf Exponential extrapolation for high strikes can be used alternatively to avoid a too slowly decreasing call price function. Note that in the leftmost interval and right from the last grid point the input smile is always replaced by the extrapolating functional forms, so if you are sure that the input smile is globally arbitrage free and you do not want to change it in these strike regions you should not use this class at all. Input smile sections with a shift are handled accordingly, normal input smile section are not possible though. More...
#include <ql/termstructures/volatility/smilesection.hpp>
#include <ql/pricingengines/blackformula.hpp>
#include <ql/math/solvers1d/brent.hpp>
#include <ql/termstructures/volatility/smilesectionutils.hpp>
#include <boost/math/distributions/normal.hpp>
#include <vector>
#include <utility>
Go to the source code of this file.
Classes | |
class | KahaleSmileSection |
struct | KahaleSmileSection::cFunction |
struct | KahaleSmileSection::aHelper |
struct | KahaleSmileSection::sHelper |
struct | KahaleSmileSection::sHelper1 |
Namespaces | |
namespace | QuantLib |
Macros | |
#define | QL_KAHALE_FMAX QL_MAX_REAL |
#define | QL_KAHALE_SMAX 5.0 |
#define | QL_KAHALE_ACC 1E-12 |
#define | QL_KAHALE_EPS QL_EPSILON |
Arbitrage free smile section using a C^1 inter- and extrapolation method proposed by Kahale, see http://www.risk.net/data/Pay_per_view/risk/technical/2004/0504_tech_option2.pdf Exponential extrapolation for high strikes can be used alternatively to avoid a too slowly decreasing call price function. Note that in the leftmost interval and right from the last grid point the input smile is always replaced by the extrapolating functional forms, so if you are sure that the input smile is globally arbitrage free and you do not want to change it in these strike regions you should not use this class at all. Input smile sections with a shift are handled accordingly, normal input smile section are not possible though.
Definition in file kahalesmilesection.hpp.
#define QL_KAHALE_FMAX QL_MAX_REAL |
Definition at line 46 of file kahalesmilesection.hpp.
#define QL_KAHALE_SMAX 5.0 |
Definition at line 47 of file kahalesmilesection.hpp.
#define QL_KAHALE_ACC 1E-12 |
Definition at line 48 of file kahalesmilesection.hpp.
#define QL_KAHALE_EPS QL_EPSILON |
Definition at line 49 of file kahalesmilesection.hpp.