22#include <ql/pricingengines/blackformula.hpp>
26using namespace CrossAssetAnalytics;
29 const Size index,
const Real baseCPI)
30 : model_(model), index_(index), baseCPI_(baseCPI) {}
34 QL_DEPRECATED_DISABLE_WARNING
35 bool interpolate =
arguments_.observationInterpolation == CPI::Linear ||
37 QL_DEPRECATED_ENABLE_WARNING
39 Real t = inflationYearFraction(
arguments_.index->frequency(), interpolate,
65 Real discount =
model_->irlgm1f(irIdx)->termStructure()->discount(
arguments_.payDate);
67 results_.value = nTilde * blackFormula(
arguments_.type, kTilde, m, std::sqrt(v), discount);
analytic dk cpi cap floor engine
const Instrument::results * results_
void calculate() const override
AnalyticDkCpiCapFloorEngine(const QuantLib::ext::shared_ptr< CrossAssetModel > &model, const Size index, const Real baseCPI)
const QuantLib::ext::shared_ptr< CrossAssetModel > model_
analytics for the cross asset model
Real integral(const CrossAssetModel &model, const E &e, const Real a, const Real b)
const P2_< E1, E2 > P(const E1 &e1, const E2 &e2)
INF H component. May relate to real rate portion of JY model or z component of DK model.
QuantLib::Real eval(const CrossAssetModel &x, const QuantLib::Real t) const
INF alpha component. May relate to real rate portion of JY model or z component of DK model.
INF zeta component. May relate to real rate portion of JY model or z component of DK model.
Real eval(const CrossAssetModel &x, const Real t) const
Swap::arguments * arguments_