cmsmarketcalibration.hpp
Go to the documentation of this file.
1 /* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 
3 /*
4  Copyright (C) 2007 Ferdinando Ametrano
5  Copyright (C) 2006 Giorgio Facchinetti
6 
7  This file is part of QuantLib, a free-software/open-source library
8  for financial quantitative analysts and developers - http://quantlib.org/
9 
10  QuantLib is free software: you can redistribute it and/or modify it
11  under the terms of the QuantLib license. You should have received a
12  copy of the license along with this program; if not, please email
13  <quantlib-dev@lists.sf.net>. The license is also available online at
14  <http://quantlib.org/license.shtml>.
15 
16  This program is distributed in the hope that it will be useful, but WITHOUT
17  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18  FOR A PARTICULAR PURPOSE. See the license for more details.
19 */
20 
21 #ifndef qla_cmsmarket_calibration_hpp
22 #define qla_cmsmarket_calibration_hpp
23 
24 #include <oh/libraryobject.hpp>
25 
26 // To be removed later
27 #include <ql/termstructures/volatility/swaption/cmsmarketcalibration.hpp>
28 
29 #include <ql/types.hpp>
30 
31 #include <ql/math/array.hpp>
32 
33 namespace QuantLib {
34  class CmsCouponPricer;
35  class Matrix;
36  class CmsMarket;
37  class Period;
38  class SwapIndex;
39  class Quote;
40  class YieldTermStructure;
41  class CmsMarketCalibration;
42  class SwaptionVolatilityStructure;
43  class EndCriteria;
44  class OptimizationMethod;
45 }
46 
47 namespace QuantLibAddin {
48 
49  class CmsMarketCalibration: public ObjectHandler::LibraryObject<QuantLib::CmsMarketCalibration>{
50  public:
52  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
54  boost::shared_ptr<QuantLib::CmsMarket>& cmsMarket,
55  const QuantLib::Matrix& weights,
56  QuantLib::CmsMarketCalibration::CalibrationType calibrationType,
57  bool permanent);
58 
59  std::vector<std::vector<ObjectHandler::property_t> > getSparseSabrParameters();
60  std::vector<std::vector<ObjectHandler::property_t> > getDenseSabrParameters();
61  std::vector<std::vector<ObjectHandler::property_t> > getCmsMarket();
62  QuantLib::Real elapsed() {return elapsed_ ; }
63  QuantLib::Array compute(const boost::shared_ptr<QuantLib::EndCriteria>& endCriteria,
64  const boost::shared_ptr<QuantLib::OptimizationMethod>& method,
65  const QuantLib::Array& guess,
66  bool isMeanReversionFixed);
67  private:
68  QuantLib::Real elapsed_;
69  };
70 }
71 
72 #endif
73 
Definition: basketlossmodels.hpp:32
QuantLib::Real elapsed()
Definition: cmsmarketcalibration.hpp:62
Definition: cmsmarketcalibration.hpp:49
QuantLib::Array compute(const boost::shared_ptr< QuantLib::EndCriteria > &endCriteria, const boost::shared_ptr< QuantLib::OptimizationMethod > &method, const QuantLib::Array &guess, bool isMeanReversionFixed)
std::vector< std::vector< ObjectHandler::property_t > > getSparseSabrParameters()
std::vector< std::vector< ObjectHandler::property_t > > getCmsMarket()
CmsMarketCalibration(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, QuantLib::Handle< QuantLib::SwaptionVolatilityStructure > &volCube, boost::shared_ptr< QuantLib::CmsMarket > &cmsMarket, const QuantLib::Matrix &weights, QuantLib::CmsMarketCalibration::CalibrationType calibrationType, bool permanent)
Definition: abcd.hpp:38
Definition: abcd.hpp:30
std::vector< std::vector< ObjectHandler::property_t > > getDenseSabrParameters()