33 const ext::shared_ptr<StrippedOptionletBase>&
s)
36 s->businessDayConvention(),
38 optionletStripper_(
s),
39 nInterpolations_(
s->optionletMaturities()),
40 strikeInterpolations_(nInterpolations_) {
44 ext::shared_ptr<SmileSection>
46 std::vector< Rate > optionletStrikes =
49 std::vector< Real > stddevs;
50 stddevs.reserve(optionletStrikes.size());
51 for (
Real optionletStrike : optionletStrikes) {
60 return ext::make_shared< InterpolatedSmileSection< Cubic > >(
74 const std::vector<Time>& optionletTimes =
76 ext::shared_ptr<LinearInterpolation> timeInterpolator(
new
79 return (*timeInterpolator)(length,
true);
88 const std::vector<Rate>& optionletStrikes =
90 const std::vector<Volatility>& optionletVolatilities =
110 optionletStrikes.end(),
111 optionletVolatilities.begin());
Cap/floor smile volatility surface.
Actual/365 (Fixed) day count convention.
Cubic interpolation factory and traits
@ SecondDerivative
Match value of second derivative at end.
virtual void calculate() const
Linear interpolation between discrete points
template class providing a null value for a given type.
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
Optionlet (caplet/floorlet) volatility structure.
void performCalculations() const override
const ext::shared_ptr< StrippedOptionletBase > optionletStripper_
Rate maxStrike() const override
the maximum strike for which the term structure can return vols
Rate minStrike() const override
the minimum strike for which the term structure can return vols
ext::shared_ptr< SmileSection > smileSectionImpl(Time optionTime) const override
implements the actual smile calculation in derived classes
VolatilityType volatilityType() const override
StrippedOptionletAdapter(const ext::shared_ptr< StrippedOptionletBase > &)
Volatility volatilityImpl(Time length, Rate strike) const override
implements the actual volatility calculation in derived classes
Date maxDate() const override
the latest date for which the curve can return values
std::vector< ext::shared_ptr< Interpolation > > strikeInterpolations_
Real displacement() const override
cubic interpolation between discrete points
Real Time
continuous quantity with 1-year units
Real Volatility
volatility
std::size_t Size
size of a container
Interpolated smile section class.
linear interpolation between discrete points
optionlet (caplet/floorlet) volatility stripper
SABR interpolation interpolation between discrete points.
StrippedOptionlet Adapter.