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. More...
#include <ql/termstructures/volatility/smilesection.hpp>
#include <ql/pricingengines/blackformula.hpp>
#include <ql/math/solvers1d/brent.hpp>
#include <ql/experimental/models/smilesectionutils.hpp>
#include <boost/math/distributions/normal.hpp>
#include <vector>
Namespaces | |
QuantLib | |
Macros | |
#define | QL_KAHALE_FMAX 1000.0 |
#define | QL_KAHALE_SMAX 5.0 |
#define | QL_KAHALE_ACC 1E-12 |
#define | QL_KAHALE_ACC_RELAX 1E-5 |
#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.