26#ifndef quantlib_cms_market_h
27#define quantlib_cms_market_h
35 class CmsCouponPricer;
39 class YieldTermStructure;
45 std::vector<ext::shared_ptr<SwapIndex> > swapIndexes,
46 ext::shared_ptr<IborIndex> iborIndex,
47 const std::vector<std::vector<
Handle<Quote> > >& bidAskSpreads,
48 const std::vector<ext::shared_ptr<CmsCouponPricer> >& pricers,
81 std::vector<ext::shared_ptr<CmsCouponPricer> >
pricers_;
110 std::vector<std::vector<ext::shared_ptr<Swap> > >
spotSwaps_;
111 std::vector<std::vector<ext::shared_ptr<Swap> > >
fwdSwaps_;
1-D array used in linear algebra.
Array weightedFwdNpvErrors(const Matrix &weights)
void performCalculations() const override
const Matrix & spreadErrors()
Handle< YieldTermStructure > discTS_
std::vector< std::vector< Handle< Quote > > > bidAskSpreads_
std::vector< Period > swapTenors_
Real weightedSpotNpvError(const Matrix &weights)
Real weightedSpreadError(const Matrix &weights)
std::vector< ext::shared_ptr< CmsCouponPricer > > pricers_
const std::vector< Period > & swapTenors() const
Array weightedSpotNpvErrors(const Matrix &weights)
ext::shared_ptr< IborIndex > iborIndex_
Real weightedMean(const Matrix &var, const Matrix &weights) const
std::vector< std::vector< ext::shared_ptr< Swap > > > fwdSwaps_
std::vector< ext::shared_ptr< SwapIndex > > swapIndexes_
const std::vector< Period > & swapLengths() const
Array weightedMeans(const Matrix &var, const Matrix &weights) const
void reprice(const Handle< SwaptionVolatilityStructure > &volStructure, Real meanReversion)
Array weightedSpreadErrors(const Matrix &weights)
Real weightedFwdNpvError(const Matrix &weights)
const Matrix & impliedCmsSpreads()
std::vector< std::vector< ext::shared_ptr< Swap > > > spotSwaps_
std::vector< Period > swapLengths_
Shared handle to an observable.
Framework for calculation on demand and result caching.
Matrix used in linear algebra.
std::size_t Size
size of a container
matrix used in linear algebra.
purely virtual base class for market observables