curvestate.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) 2006, 2007 Ferdinando Ametrano
5  Copyright (C) 2007 Chiara Fornarola
6  Copyright (C) 2006, 2007 Marco Bianchetti
7  Copyright (C) 2006, 2007 Cristina Duminuco
8  Copyright (C) 2006, 2007 Giorgio Facchinetti
9 
10  This file is part of QuantLib, a free-software/open-source library
11  for financial quantitative analysts and developers - http://quantlib.org/
12 
13  QuantLib is free software: you can redistribute it and/or modify it
14  under the terms of the QuantLib license. You should have received a
15  copy of the license along with this program; if not, please email
16  <quantlib-dev@lists.sf.net>. The license is also available online at
17  <http://quantlib.org/license.shtml>.
18 
19  This program is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
21  FOR A PARTICULAR PURPOSE. See the license for more details.
22 */
23 
24 #ifndef qla_curvestate_hpp
25 #define qla_curvestate_hpp
26 
27 #include <oh/libraryobject.hpp>
28 
29 #include <ql/types.hpp>
30 
31 namespace QuantLib {
32  class CurveState;
33 }
34 
35 namespace QuantLibAddin {
36 
37  OH_LIB_CLASS(CurveState, QuantLib::CurveState);
38 
39  class CMSwapCurveState : public CurveState {
40  public:
42  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
43  const std::vector<QuantLib::Time>& rateTimes,
44  QuantLib::Size spanningForwards,
45  bool permanent);
46  };
47 
48  class CoterminalSwapCurveState : public CurveState {
49  public:
51  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
52  const std::vector<QuantLib::Time>& rateTimes,
53  bool permanent);
54  };
55 
56  class LMMCurveState : public CurveState {
57  public:
59  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
60  const std::vector<QuantLib::Time>& rateTimes,
61  bool permanent);
62  };
63 
64  std::vector<QuantLib::Rate> qlForwardsFromDiscountRatios(
65  const QuantLib::Size firstValidIndex,
66  const std::vector<QuantLib::DiscountFactor>& ds,
67  const std::vector<QuantLib::Time>& taus);
68 
69  std::vector<QuantLib::Rate> qlCoterminalSwapRatesFromDiscountRatios(
70  const QuantLib::Size firstValidIndex,
71  const std::vector<QuantLib::DiscountFactor>& ds,
72  const std::vector<QuantLib::Time>& taus);
73 
74  std::vector<QuantLib::Real> qlCoterminalSwapAnnuitiesFromDiscountRatios(
75  const QuantLib::Size firstValidIndex,
76  const std::vector<QuantLib::DiscountFactor>& ds,
77  const std::vector<QuantLib::Time>& taus);
78 
79  std::vector<QuantLib::Rate> qlConstantMaturitySwapRatesFromDiscountRatios(
80  const QuantLib::Size spanningForwards,
81  const QuantLib::Size firstValidIndex,
82  const std::vector<QuantLib::DiscountFactor>& ds,
83  const std::vector<QuantLib::Time>& taus);
84 
85  std::vector<QuantLib::Real> qlConstantMaturitySwapAnnuitiesFromDiscountRatios(
86  const QuantLib::Size spanningForwards,
87  const QuantLib::Size firstValidIndex,
88  const std::vector<QuantLib::DiscountFactor>& ds,
89  const std::vector<QuantLib::Time>& taus);
90 }
91 
92 #endif
93 
std::vector< QuantLib::Real > qlCoterminalSwapAnnuitiesFromDiscountRatios(const QuantLib::Size firstValidIndex, const std::vector< QuantLib::DiscountFactor > &ds, const std::vector< QuantLib::Time > &taus)
std::vector< QuantLib::Rate > qlForwardsFromDiscountRatios(const QuantLib::Size firstValidIndex, const std::vector< QuantLib::DiscountFactor > &ds, const std::vector< QuantLib::Time > &taus)
LMMCurveState(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const std::vector< QuantLib::Time > &rateTimes, bool permanent)
std::vector< QuantLib::Rate > qlConstantMaturitySwapRatesFromDiscountRatios(const QuantLib::Size spanningForwards, const QuantLib::Size firstValidIndex, const std::vector< QuantLib::DiscountFactor > &ds, const std::vector< QuantLib::Time > &taus)
OH_LIB_CLASS(AlphaForm, QuantLib::AlphaForm)
CoterminalSwapCurveState(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const std::vector< QuantLib::Time > &rateTimes, bool permanent)
std::vector< QuantLib::Real > qlConstantMaturitySwapAnnuitiesFromDiscountRatios(const QuantLib::Size spanningForwards, const QuantLib::Size firstValidIndex, const std::vector< QuantLib::DiscountFactor > &ds, const std::vector< QuantLib::Time > &taus)
Definition: curvestate.hpp:56
Definition: abcd.hpp:38
Definition: curvestate.hpp:48
Definition: abcd.hpp:30
std::vector< QuantLib::Rate > qlCoterminalSwapRatesFromDiscountRatios(const QuantLib::Size firstValidIndex, const std::vector< QuantLib::DiscountFactor > &ds, const std::vector< QuantLib::Time > &taus)
CMSwapCurveState(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const std::vector< QuantLib::Time > &rateTimes, QuantLib::Size spanningForwards, bool permanent)
Definition: curvestate.hpp:39