24#ifndef quantext_crossasset_analytics_hpp
25#define quantext_crossasset_analytics_hpp
33namespace CrossAssetAnalytics {
57Real
ir_expectation_1(
const CrossAssetModel& model,
const Size i,
const Time t0,
const Real dt);
72Real
ir_expectation_2(
const CrossAssetModel& model,
const Size i,
const Real zi_0);
78 QuantLib::Time t0, QuantLib::Real dt);
85 const std::pair<QuantLib::Real, QuantLib::Real>& state_0,
86 QuantLib::Real zi_i_0, QuantLib::Real dt);
131 const Real z0_0,
const Real dt);
471 Hy(QuantLib::Size i) :
i_(i) {}
477 return x.
infjy(
i_)->realRate()->H(t);
479 QL_FAIL(
"Expected inflation model to be JY or DK");
487 ay(QuantLib::Size i) :
i_(i) {}
493 return x.
infjy(
i_)->realRate()->alpha(t);
495 QL_FAIL(
"Expected inflation model to be JY or DK");
509 return x.
infjy(
i_)->realRate()->zeta(t);
511 QL_FAIL(
"Expected inflation model to be JY or DK");
519 sy(QuantLib::Size i) :
i_(i) {}
523 return x.
infjy(
i_)->index()->sigma(t);
525 QL_FAIL(
"Inflation index sigma only valid for JY model.");
533 vy(QuantLib::Size i) :
i_(i) {}
537 return x.
infjy(
i_)->index()->variance(t);
539 QL_FAIL(
"Inflation index variance only valid for JY model.");
589 rzz(
const Size i,
const Size j) :
i_(i),
j_(j) {}
598 rzx(
const Size i,
const Size j) :
i_(i),
j_(j) {}
607 rxx(
const Size i,
const Size j) :
i_(i),
j_(j) {}
622 ryy(QuantLib::Size i, QuantLib::Size j, QuantLib::Size iOffset = 0, QuantLib::Size jOffset = 0)
638 rzy(
const Size i,
const Size j, QuantLib::Size jOffset = 0) :
i_(i),
j_(j),
jOffset_(jOffset) {}
650 rxy(
const Size i,
const Size j, QuantLib::Size jOffset = 0) :
i_(i),
j_(j),
jOffset_(jOffset) {}
662 rll(
const Size i,
const Size j) :
i_(i),
j_(j) {}
671 rzl(
const Size i,
const Size j) :
i_(i),
j_(j) {}
680 rxl(
const Size i,
const Size j) :
i_(i),
j_(j) {}
689 ryl(
const Size i,
const Size j, QuantLib::Size iOffset = 0) :
i_(i),
j_(j),
iOffset_(iOffset) {}
701 rss(
const Size i,
const Size j) :
i_(i),
j_(j) {}
710 rzs(
const Size i,
const Size j) :
i_(i),
j_(j) {}
719 rxs(
const Size i,
const Size j) :
i_(i),
j_(j) {}
728 rys(
const Size i,
const Size j, QuantLib::Size iOffset = 0) :
i_(i),
j_(j),
iOffset_(iOffset) {}
740 rls(
const Size i,
const Size j) :
i_(i),
j_(j) {}
749 rcc(
const Size i,
const Size j) :
i_(i),
j_(j) {}
const QuantLib::ext::shared_ptr< InfDkParametrization > infdk(const Size i) const
const QuantLib::ext::shared_ptr< IrLgm1fParametrization > irlgm1f(const Size ccy) const
const QuantLib::ext::shared_ptr< EqBsParametrization > eqbs(const Size ccy) const
const QuantLib::ext::shared_ptr< InfJyParameterization > infjy(const Size i) const
Inflation JY component.
const QuantLib::ext::shared_ptr< CrLgm1fParametrization > crlgm1f(const Size i) const
const QuantLib::ext::shared_ptr< CommoditySchwartzParametrization > combs(const Size ccy) const
ModelType modelType(const AssetType t, const Size i) const
const QuantLib::ext::shared_ptr< FxBsParametrization > fxbs(const Size ccy) const
const Matrix & correlation() const
basic functions for analytics in the cross asset model
Real ir_expectation_2(const CrossAssetModel &, const Size, const Real zi_0)
Real com_com_covariance(const CrossAssetModel &x, const Size k, const Size l, const Time t0, const Time dt)
Real fx_fx_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real ir_fx_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real fx_infy_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real infy_infy_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real cry_eq_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real ir_com_covariance(const CrossAssetModel &model, const Size i, const Size j, const Time t0, const Time dt)
Real ir_cry_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real ir_infy_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real fx_cry_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real ir_eq_covariance(const CrossAssetModel &x, const Size j, const Size k, const Time t0, const Time dt)
Real infz_infy_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real fx_infz_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real infy_crz_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real ir_expectation_1(const CrossAssetModel &x, const Size i, const Time t0, const Real dt)
Real ir_crz_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real infz_com_covariance(const CrossAssetModel &model, const Size i, const Size j, const Time t0, const Time dt)
Real eq_expectation_1(const CrossAssetModel &x, const Size k, const Time t0, const Real dt)
Real fx_crz_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real crz_com_covariance(const CrossAssetModel &model, const Size i, const Size j, const Time t0, const Time dt)
Real aux_fx_covariance(const CrossAssetModel &x, const Size j, const Time t0, const Time dt)
Real eq_expectation_2(const CrossAssetModel &x, const Size k, const Time t0, const Real sk_0, const Real zi_0, const Real dt)
Real infz_infz_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real cry_com_covariance(const CrossAssetModel &model, const Size i, const Size j, const Time t0, const Time dt)
Real infz_eq_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real infy_cry_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real crz_cry_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real eq_com_covariance(const CrossAssetModel &model, const Size i, const Size j, const Time t0, const Time dt)
Real fx_com_covariance(const CrossAssetModel &model, const Size i, const Size j, const Time t0, const Time dt)
Real infz_crz_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real fx_expectation_2(const CrossAssetModel &x, const Size i, const Time t0, const Real xi_0, const Real zi_0, const Real z0_0, const Real dt)
Real infy_com_covariance(const CrossAssetModel &model, const Size i, const Size j, const Time t0, const Time dt)
Real ir_ir_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real ir_infz_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real aux_ir_covariance(const CrossAssetModel &x, const Size j, const Time t0, const Time dt)
Real aux_aux_covariance(const CrossAssetModel &x, const Time t0, const Time dt)
Real crstate_crstate_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real fx_eq_covariance(const CrossAssetModel &x, const Size j, const Size k, const Time t0, const Time dt)
Real cry_cry_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real crz_eq_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real ir_crstate_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real fx_crstate_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real infz_cry_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real infy_eq_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real crz_crz_covariance(const CrossAssetModel &x, const Size i, const Size j, const Time t0, const Time dt)
Real eq_eq_covariance(const CrossAssetModel &x, const Size k, const Size l, const Time t0, const Time dt)
Real fx_expectation_1(const CrossAssetModel &x, const Size i, const Time t0, const Real dt)
pair< Real, Real > inf_jy_expectation_1(const CrossAssetModel &x, Size i, Time t0, Real dt)
pair< Real, Real > inf_jy_expectation_2(const CrossAssetModel &x, Size i, Time t0, const pair< Real, Real > &state_0, Real zi_i_0, Real dt)
Real eval(const CrossAssetModel &x, const Real t) const
HTtz(const Size i, const Real T)
Real eval(const CrossAssetModel &x, const Real t) const
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
Real eval(const CrossAssetModel &x, const Real t) const
Real eval(const CrossAssetModel &x, const Real t) const
INF alpha 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
Real eval(const CrossAssetModel &x, const Real t) const
Real eval(const CrossAssetModel &x, const Real t) const
rcc(const Size i, const Size j)
Real eval(const CrossAssetModel &x, const Real) const
Real eval(const CrossAssetModel &x, const Real) const
rccrs(const Size i, const Size j)
Real eval(const CrossAssetModel &x, const Real) const
rll(const Size i, const Size j)
rls(const Size i, const Size j)
Real eval(const CrossAssetModel &x, const Real) const
Real eval(const CrossAssetModel &x, const Real) const
rxcrs(const Size i, const Size j)
Real eval(const CrossAssetModel &x, const Real) const
rxl(const Size i, const Size j)
rxs(const Size i, const Size j)
Real eval(const CrossAssetModel &x, const Real) const
rxx(const Size i, const Size j)
Real eval(const CrossAssetModel &x, const Real) const
Real eval(const CrossAssetModel &x, const Real) const
rxy(const Size i, const Size j, QuantLib::Size jOffset=0)
Real eval(const CrossAssetModel &x, const Real) const
ryl(const Size i, const Size j, QuantLib::Size iOffset=0)
Real eval(const CrossAssetModel &x, const Real) const
rys(const Size i, const Size j, QuantLib::Size iOffset=0)
QuantLib::Real eval(const CrossAssetModel &x, const QuantLib::Real) const
ryy(QuantLib::Size i, QuantLib::Size j, QuantLib::Size iOffset=0, QuantLib::Size jOffset=0)
rzcrs(const Size i, const Size j)
Real eval(const CrossAssetModel &x, const Real) const
Real eval(const CrossAssetModel &x, const Real) const
rzl(const Size i, const Size j)
Real eval(const CrossAssetModel &x, const Real) const
rzs(const Size i, const Size j)
Real eval(const CrossAssetModel &x, const Real) const
rzx(const Size i, const Size j)
Real eval(const CrossAssetModel &x, const Real) const
rzy(const Size i, const Size j, QuantLib::Size jOffset=0)
Real eval(const CrossAssetModel &x, const Real) const
rzz(const Size i, const Size j)
Real eval(const CrossAssetModel &x, const Real t) const
Real eval(const CrossAssetModel &x, const Real t) const
JY INF index sigma component.
QuantLib::Real eval(const CrossAssetModel &x, const QuantLib::Real t) const
Real eval(const CrossAssetModel &x, const Real t) const
Real eval(const CrossAssetModel &x, const Real t) const
JY INF index variance component.
QuantLib::Real eval(const CrossAssetModel &x, const QuantLib::Real t) const
Real eval(const CrossAssetModel &x, const Real t) const
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
Real eval(const CrossAssetModel &x, const Real t) const