overnightindexedswap.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) 2009, 2011, 2015 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_overnightindexedswap_hpp
21 #define qla_overnightindexedswap_hpp
22 
23 #include <qlo/swap.hpp>
24 #include <ql/instruments/overnightindexedswap.hpp>
25 
26 namespace QuantLib {
27  class OISRateHelper;
28 }
29 
30 namespace QuantLibAddin {
31 
32  class OvernightIndexedSwap : public Swap {
33  public:
35  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
36  QuantLib::OvernightIndexedSwap::Type type,
37  std::vector<QuantLib::Real> nominals,
38  const boost::shared_ptr<QuantLib::Schedule>& schedule,
39  QuantLib::Rate fixedRate,
40  const QuantLib::DayCounter& fixedDC,
41  const boost::shared_ptr<QuantLib::OvernightIndex>& overnightIndex,
42  QuantLib::Spread overnightSpread,
43  QuantLib::Natural paymentLag,
44  bool permanent);
45  OvernightIndexedSwap( // MakeOIS
46  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
47  QuantLib::Natural settlDays,
48  const QuantLib::Period& swapTenor,
49  const boost::shared_ptr<QuantLib::OvernightIndex>& overnightIndex,
50  QuantLib::Rate fixedRate,
51  const QuantLib::Period& forwardStart,
52  const QuantLib::DayCounter& fixLegDayCounter,
53  QuantLib::Spread floatingLegSpread,
54  QuantLib::Natural paymentLag,
55  bool permanent);
56  OvernightIndexedSwap( // MakeDatedOIS
57  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
58  const QuantLib::Date& startDate,
59  const QuantLib::Date& enddate,
60  const boost::shared_ptr<QuantLib::OvernightIndex>& overnightIndex,
61  QuantLib::Rate fixedRate,
62  const QuantLib::DayCounter& fixLegDayCounter,
63  QuantLib::Spread floatingLegSpread,
64  bool permanent);
65  //OvernightIndexedSwap( //OISIndex->underlyingSwap()
66  // const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
67  // const boost::shared_ptr<QuantLib::OISIndex>& oisIndex,
68  // const QuantLib::Date& fixingDate,
69  // bool permanent);
70  OvernightIndexedSwap( // OISRateHelper->swap()
71  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
72  const boost::shared_ptr<QuantLib::OISRateHelper>& swapRH,
73  bool permanent);
74  std::vector<std::vector<ObjectHandler::property_t> > fixedLegAnalysis(
75  const QuantLib::Date& d);
76  std::vector<std::vector<ObjectHandler::property_t> > overnightLegAnalysis(
77  const QuantLib::Date& d);
78  };
79 
80 }
81 
82 #endif
OvernightIndexedSwap(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, QuantLib::OvernightIndexedSwap::Type type, std::vector< QuantLib::Real > nominals, const boost::shared_ptr< QuantLib::Schedule > &schedule, QuantLib::Rate fixedRate, const QuantLib::DayCounter &fixedDC, const boost::shared_ptr< QuantLib::OvernightIndex > &overnightIndex, QuantLib::Spread overnightSpread, QuantLib::Natural paymentLag, bool permanent)
Definition: abcd.hpp:38
std::vector< std::vector< ObjectHandler::property_t > > fixedLegAnalysis(const QuantLib::Date &d)
Definition: abcd.hpp:30
Definition: swap.hpp:35
std::vector< std::vector< ObjectHandler::property_t > > overnightLegAnalysis(const QuantLib::Date &d)
Definition: overnightindexedswap.hpp:32