24#ifndef quantlib_gaussian1dsmilesection_hpp
25#define quantlib_gaussian1dsmilesection_hpp
27#include <ql/termstructures/volatility/smilesection.hpp>
28#include <ql/indexes/swapindex.hpp>
29#include <ql/indexes/iborindex.hpp>
30#include <ql/models/shortrate/onefactormodels/gaussian1dmodel.hpp>
31#include <ql/pricingengines/swaption/gaussian1dswaptionengine.hpp>
32#include <ql/pricingengines/capfloor/gaussian1dcapfloorengine.hpp>
44 ext::shared_ptr<SwapIndex> swapIndex,
45 const ext::shared_ptr<Gaussian1dModel>& model,
47 const ext::shared_ptr<Gaussian1dSwaptionEngine>& swaptionEngine =
48 ext::shared_ptr<Gaussian1dSwaptionEngine>());
50 ext::shared_ptr<IborIndex> swapIndex,
51 const ext::shared_ptr<Gaussian1dModel>& model,
53 const ext::shared_ptr<Gaussian1dCapFloorEngine>& capEngine =
54 ext::shared_ptr<Gaussian1dCapFloorEngine>());
72 ext::shared_ptr<Gaussian1dModel>
model_;
Real atmLevel() const override
ext::shared_ptr< IborIndex > iborIndex_
Real minStrike() const override
ext::shared_ptr< SwapIndex > swapIndex_
ext::shared_ptr< PricingEngine > engine_
ext::shared_ptr< Gaussian1dModel > model_
Real maxStrike() const override
Real optionPrice(Rate strike, Option::Type=Option::Call, Real discount=1.0) const override
Real volatilityImpl(Rate strike) const override
interest rate volatility smile section