btp.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) 2010, 2011 Ferdinando Ametrano
5 
6  This file is part of QuantLib, a free-software/open-source library
7  for financial quantitative analysts and developers - http://quantlib.org/
8 
9  QuantLib is free software: you can redistribute it and/or modify it
10  under the terms of the QuantLib license. You should have received a
11  copy of the license along with this program; if not, please email
12  <quantlib-dev@lists.sf.net>. The license is also available online at
13  <http://quantlib.org/license.shtml>.
14 
15  This program is distributed in the hope that it will be useful, but WITHOUT
16  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17  FOR A PARTICULAR PURPOSE. See the license for more details.
18 */
19 
20 #ifndef qla_btp_hpp
21 #define qla_btp_hpp
22 
23 #include <qlo/bonds.hpp>
24 #include <qlo/quote.hpp>
25 
26 namespace QuantLib {
27  class RendistatoBasket;
28  class RendistatoCalculator;
29  class BTP;
30  template <class T>
31  class Handle;
32  class Quote;
33  class Euribor;
34 }
35 
36 namespace QuantLibAddin {
37 
38  class CCTEU : public FloatingRateBond {
39  public:
40  CCTEU(const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
41  const std::string&,
42  const QuantLib::Date& maturityDate,
43  QuantLib::Spread spread,
45  const QuantLib::Date& startDate,
46  const QuantLib::Date& issueDate,
47  bool permanent);
48  };
49 
50  class BTP : public FixedRateBond {
51  public:
52  BTP(const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
53  const std::string&,
54  const QuantLib::Date& maturityDate,
55  QuantLib::Rate fixedRate,
56  const QuantLib::Date& startDate,
57  const QuantLib::Date& issueDate,
58  bool permanent);
59  BTP(const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
60  const std::string&,
61  const QuantLib::Date& maturityDate,
62  QuantLib::Rate fixedRate,
63  QuantLib::Real redemption,
64  const QuantLib::Date& startDate,
65  const QuantLib::Date& issueDate,
66  bool permanent);
67  };
68 
69  class RendistatoBasket : public ObjectHandler::LibraryObject<QuantLib::RendistatoBasket> {
70  public:
72  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
73  const std::vector<boost::shared_ptr<QuantLib::BTP> >& btps,
74  const std::vector<QuantLib::Real>& outstandings,
75  const std::vector<QuantLib::Handle<QuantLib::Quote> >& cleanPriceQuotes,
76  bool permanent);
77  };
78 
79  class RendistatoCalculator : public ObjectHandler::LibraryObject<QuantLib::RendistatoCalculator> {
80  public:
82  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
83  const boost::shared_ptr<QuantLib::RendistatoBasket>& basket,
84  const boost::shared_ptr<QuantLib::Euribor>& euriborIndex,
86  bool permanent);
87  };
88 
89  class RendistatoEquivalentSwapLengthQuote : public Quote {
90  public:
92  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
93  const boost::shared_ptr<QuantLib::RendistatoCalculator>& r,
94  bool permanent);
95  };
96 
97  class RendistatoEquivalentSwapSpreadQuote : public Quote {
98  public:
100  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
101  const boost::shared_ptr<QuantLib::RendistatoCalculator>& r,
102  bool permanent);
103  };
104 
105 }
106 
107 #endif
Definition: basketlossmodels.hpp:32
RendistatoBasket(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const std::vector< boost::shared_ptr< QuantLib::BTP > > &btps, const std::vector< QuantLib::Real > &outstandings, const std::vector< QuantLib::Handle< QuantLib::Quote > > &cleanPriceQuotes, bool permanent)
BTP(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const std::string &, const QuantLib::Date &maturityDate, QuantLib::Rate fixedRate, const QuantLib::Date &startDate, const QuantLib::Date &issueDate, bool permanent)
RendistatoCalculator(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const boost::shared_ptr< QuantLib::RendistatoBasket > &basket, const boost::shared_ptr< QuantLib::Euribor > &euriborIndex, const QuantLib::Handle< QuantLib::YieldTermStructure > &discountCurve, bool permanent)
CCTEU(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const std::string &, const QuantLib::Date &maturityDate, QuantLib::Spread spread, const QuantLib::Handle< QuantLib::YieldTermStructure > &fwdCurve, const QuantLib::Date &startDate, const QuantLib::Date &issueDate, bool permanent)
Definition: btp.hpp:50
RendistatoEquivalentSwapLengthQuote(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const boost::shared_ptr< QuantLib::RendistatoCalculator > &r, bool permanent)
Definition: bonds.hpp:135
Definition: btp.hpp:69
Definition: abcd.hpp:38
Definition: bonds.hpp:98
Definition: abcd.hpp:30
RendistatoEquivalentSwapSpreadQuote(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const boost::shared_ptr< QuantLib::RendistatoCalculator > &r, bool permanent)
Definition: btp.hpp:38