vanillaswap.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) 2005, 2006 Eric Ehlers
5  Copyright (C) 2005 Plamen Neykov
6  Copyright (C) 2005 Aurelien Chanudet
7  Copyright (C) 2011, 2015 Ferdinando Ametrano
8 
9  This file is part of QuantLib, a free-software/open-source library
10  for financial quantitative analysts and developers - http://quantlib.org/
11 
12  QuantLib is free software: you can redistribute it and/or modify it
13  under the terms of the QuantLib license. You should have received a
14  copy of the license along with this program; if not, please email
15  <quantlib-dev@lists.sf.net>. The license is also available online at
16  <http://quantlib.org/license.shtml>.
17 
18  This program is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20  FOR A PARTICULAR PURPOSE. See the license for more details.
21 */
22 
23 #ifndef qla_simpleswap_hpp
24 #define qla_simpleswap_hpp
25 
26 #include <qlo/swap.hpp>
27 
28 #include <ql/instruments/vanillaswap.hpp>
29 
30 namespace QuantLib {
31  class SwapRateHelper;
32 }
33 
34 namespace QuantLibAddin {
35 
36  class VanillaSwap : public Swap {
37  public:
39  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
40  QuantLib::VanillaSwap::Type type,
41  QuantLib::Real nominal,
42  const boost::shared_ptr<QuantLib::Schedule>& fixedSchedule,
43  QuantLib::Rate fixedRate,
44  const QuantLib::DayCounter& fixLegDayCounter,
45  const boost::shared_ptr<QuantLib::Schedule>& floatSchedule,
46  const boost::shared_ptr<QuantLib::IborIndex>& iborIndex,
47  QuantLib::Spread floatingLegSpread,
48  const QuantLib::DayCounter& floatDayCounter,
49  QuantLib::BusinessDayConvention paymentConvention,
50  bool permanent);
51  VanillaSwap( // MakeVanillaSwap
52  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
53  QuantLib::Natural settlDays,
54  const QuantLib::Period& swapTenor,
55  const boost::shared_ptr<QuantLib::IborIndex>& iborIndex,
56  QuantLib::Rate fixedRate,
57  const QuantLib::Period& forwardStart,
58  const QuantLib::DayCounter& fixLegDayCounter,
59  QuantLib::Spread floatingLegSpread,
60  const boost::shared_ptr<QuantLib::PricingEngine>& engine,
61  bool permanent);
62  VanillaSwap( // MakeIMMSwap
63  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
64  const QuantLib::Period& swapTenor,
65  const boost::shared_ptr<QuantLib::IborIndex>& iborIndex,
66  QuantLib::Rate fixedRate,
67  const QuantLib::Date& immDate,
68  const QuantLib::DayCounter& fixLegDayCounter,
69  QuantLib::Spread floatingLegSpread,
70  const boost::shared_ptr<QuantLib::PricingEngine>& engine,
71  bool permanent);
72  VanillaSwap( // SwapIndex->underlyingSwap()
73  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
74  const boost::shared_ptr<QuantLib::SwapIndex>& swapIndex,
75  const QuantLib::Date& fixingDate,
76  bool permanent);
77  VanillaSwap( // SwapRateHelper->swap()
78  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
79  const boost::shared_ptr<QuantLib::SwapRateHelper>& swapRH,
80  bool permanent);
81  std::vector<std::vector<ObjectHandler::property_t> >
82  fixedLegAnalysis(const QuantLib::Date& d);
83  std::vector<std::vector<ObjectHandler::property_t> >
84  floatingLegAnalysis(const QuantLib::Date&);
85  };
86 
87 }
88 
89 #endif
std::vector< std::vector< ObjectHandler::property_t > > floatingLegAnalysis(const QuantLib::Date &)
std::vector< std::vector< ObjectHandler::property_t > > fixedLegAnalysis(const QuantLib::Date &d)
Definition: abcd.hpp:38
Definition: abcd.hpp:30
VanillaSwap(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, QuantLib::VanillaSwap::Type type, QuantLib::Real nominal, const boost::shared_ptr< QuantLib::Schedule > &fixedSchedule, QuantLib::Rate fixedRate, const QuantLib::DayCounter &fixLegDayCounter, const boost::shared_ptr< QuantLib::Schedule > &floatSchedule, const boost::shared_ptr< QuantLib::IborIndex > &iborIndex, QuantLib::Spread floatingLegSpread, const QuantLib::DayCounter &floatDayCounter, QuantLib::BusinessDayConvention paymentConvention, bool permanent)
Definition: swap.hpp:35
Definition: vanillaswap.hpp:36