28 const Date& futuresDate,
32 : dc_(index->dayCounter()), futuresDate_(futuresDate),
33 indexMaturityDate_(index->maturityDate(futuresDate_)), futuresQuote_(
std::move(futuresQuote)),
34 volatility_(
std::move(volatility)), meanReversion_(
std::move(meanReversion)) {
42 const std::string& immCode,
46 : dc_(index->dayCounter()), futuresDate_(
IMM::date(immCode)),
47 indexMaturityDate_(index->maturityDate(futuresDate_)), futuresQuote_(
std::move(futuresQuote)),
48 volatility_(
std::move(volatility)), meanReversion_(
std::move(meanReversion)) {
Time yearFraction(const Date &, const Date &, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date()) const
Returns the period between two dates as a fraction of year.
Handle< Quote > volatility_
Handle< Quote > meanReversion_
FuturesConvAdjustmentQuote(const ext::shared_ptr< IborIndex > &index, const Date &futuresDate, Handle< Quote > futuresQuote, Handle< Quote > volatility, Handle< Quote > meanReversion)
Handle< Quote > futuresQuote_
const Date indexMaturityDate_
Real value() const override
returns the current value
bool isValid() const override
returns true if the Quote holds a valid value
Shared handle to an observable.
static Rate convexityBias(Real futurePrice, Time t, Time T, Real sigma, Real a)
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
DateProxy & evaluationDate()
the date at which pricing is to be performed.
static Settings & instance()
access to the unique instance
quote for the futures-convexity adjustment of an index
Real Time
continuous quantity with 1-year units
IMM-related date functions.
Main cycle of the International Money Market (a.k.a. IMM) months.