stickyratchet.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 Marco Bianchetti
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_stickyratchet_hpp
21 #define qla_stickyratchet_hpp
22 
23 #include <oh/libraryobject.hpp>
24 #include <ql/instruments/stickyratchet.hpp>
25 #include <qlo/payoffs.hpp>
26 
27 namespace QuantLibAddin {
28 
29  class DoubleStickyRatchetPayoff : public Payoff {
30  public:
32  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
33  const QuantLib::Real type1,
34  const QuantLib::Real type2,
35  const QuantLib::Real gearing1,
36  const QuantLib::Real gearing2,
37  const QuantLib::Real gearing3,
38  const QuantLib::Spread spread1,
39  const QuantLib::Spread spread2,
40  const QuantLib::Spread spread3,
41  const QuantLib::Real initialValue1,
42  const QuantLib::Real initialValue2,
43  const QuantLib::Real accrualFactor,
44  bool permanent);
45  protected:
47  };
48 
50  public:
52  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
53  const QuantLib::Real gearing1,
54  const QuantLib::Real gearing2,
55  const QuantLib::Spread spread1,
56  const QuantLib::Spread spread2,
57  const QuantLib::Real initialValue,
58  const QuantLib::Real accrualFactor,
59  bool permanent);
60  };
61 
63  public:
65  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
66  const QuantLib::Real gearing1,
67  const QuantLib::Real gearing2,
68  const QuantLib::Spread spread1,
69  const QuantLib::Spread spread2,
70  const QuantLib::Real initialValue,
71  const QuantLib::Real accrualFactor,
72  bool permanent);
73  };
74 
76  public:
78  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
79  const QuantLib::Real gearing1,
80  const QuantLib::Real gearing2,
81  const QuantLib::Real gearing3,
82  const QuantLib::Spread spread1,
83  const QuantLib::Spread spread2,
84  const QuantLib::Spread spread3,
85  const QuantLib::Real initialValue1,
86  const QuantLib::Real initialValue2,
87  const QuantLib::Real accrualFactor,
88  bool permanent);
89  };
90 
92  public:
94  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
95  const QuantLib::Real gearing1,
96  const QuantLib::Real gearing2,
97  const QuantLib::Real gearing3,
98  const QuantLib::Spread spread1,
99  const QuantLib::Spread spread2,
100  const QuantLib::Spread spread3,
101  const QuantLib::Real initialValue1,
102  const QuantLib::Real initialValue2,
103  const QuantLib::Real accrualFactor,
104  bool permanent);
105  };
106 
108  public:
110  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
111  const QuantLib::Real gearing1,
112  const QuantLib::Real gearing2,
113  const QuantLib::Real gearing3,
114  const QuantLib::Spread spread1,
115  const QuantLib::Spread spread2,
116  const QuantLib::Spread spread3,
117  const QuantLib::Real initialValue1,
118  const QuantLib::Real initialValue2,
119  const QuantLib::Real accrualFactor,
120  bool permanent);
121  };
122 
124  public:
126  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
127  const QuantLib::Real gearing1,
128  const QuantLib::Real gearing2,
129  const QuantLib::Real gearing3,
130  const QuantLib::Spread spread1,
131  const QuantLib::Spread spread2,
132  const QuantLib::Spread spread3,
133  const QuantLib::Real initialValue1,
134  const QuantLib::Real initialValue2,
135  const QuantLib::Real accrualFactor,
136  bool permanent);
137  };
138 
139 }
140 
141 #endif
142 
Definition: stickyratchet.hpp:91
Definition: stickyratchet.hpp:49
Definition: stickyratchet.hpp:107
StickyMaxPayoff(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const QuantLib::Real gearing1, const QuantLib::Real gearing2, const QuantLib::Real gearing3, const QuantLib::Spread spread1, const QuantLib::Spread spread2, const QuantLib::Spread spread3, const QuantLib::Real initialValue1, const QuantLib::Real initialValue2, const QuantLib::Real accrualFactor, bool permanent)
StickyMinPayoff(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const QuantLib::Real gearing1, const QuantLib::Real gearing2, const QuantLib::Real gearing3, const QuantLib::Spread spread1, const QuantLib::Spread spread2, const QuantLib::Spread spread3, const QuantLib::Real initialValue1, const QuantLib::Real initialValue2, const QuantLib::Real accrualFactor, bool permanent)
Definition: stickyratchet.hpp:62
Definition: stickyratchet.hpp:123
RatchetPayoff(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const QuantLib::Real gearing1, const QuantLib::Real gearing2, const QuantLib::Spread spread1, const QuantLib::Spread spread2, const QuantLib::Real initialValue, const QuantLib::Real accrualFactor, bool permanent)
RatchetMinPayoff(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const QuantLib::Real gearing1, const QuantLib::Real gearing2, const QuantLib::Real gearing3, const QuantLib::Spread spread1, const QuantLib::Spread spread2, const QuantLib::Spread spread3, const QuantLib::Real initialValue1, const QuantLib::Real initialValue2, const QuantLib::Real accrualFactor, bool permanent)
Definition: stickyratchet.hpp:75
Definition: abcd.hpp:38
DoubleStickyRatchetPayoff(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const QuantLib::Real type1, const QuantLib::Real type2, const QuantLib::Real gearing1, const QuantLib::Real gearing2, const QuantLib::Real gearing3, const QuantLib::Spread spread1, const QuantLib::Spread spread2, const QuantLib::Spread spread3, const QuantLib::Real initialValue1, const QuantLib::Real initialValue2, const QuantLib::Real accrualFactor, bool permanent)
Definition: stickyratchet.hpp:29
RatchetMaxPayoff(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const QuantLib::Real gearing1, const QuantLib::Real gearing2, const QuantLib::Real gearing3, const QuantLib::Spread spread1, const QuantLib::Spread spread2, const QuantLib::Spread spread3, const QuantLib::Real initialValue1, const QuantLib::Real initialValue2, const QuantLib::Real accrualFactor, bool permanent)
OH_OBJ_CTOR(DoubleStickyRatchetPayoff, Payoff)
StickyPayoff(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const QuantLib::Real gearing1, const QuantLib::Real gearing2, const QuantLib::Spread spread1, const QuantLib::Spread spread2, const QuantLib::Real initialValue, const QuantLib::Real accrualFactor, bool permanent)