volatility.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_volatility_hpp
25 #define qla_volatility_hpp
26 
27 #include <oh/libraryobject.hpp>
28 
29 #include <ql/types.hpp>
30 
31 namespace QuantLib {
32  class LmVolatilityModel;
33  class PiecewiseConstantVariance;
34 }
35 
36 namespace QuantLibAddin {
37 
38  // Volatility Model
39  OH_LIB_CLASS(LmVolatilityModel, QuantLib::LmVolatilityModel);
40 
41  OH_OBJ_CLASS(LmLinearExponentialVolatilityModel, LmVolatilityModel);
42 
43  class LmExtLinearExponentialVolModel : public LmLinearExponentialVolatilityModel {
44  public:
45  LmExtLinearExponentialVolModel(const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
46  const std::vector<QuantLib::Time>& fixingTimes,
47  QuantLib::Real a,
48  QuantLib::Real b,
49  QuantLib::Real c,
50  QuantLib::Real d,
51  bool permanent);
52 
53  };
54 
55  OH_LIB_CLASS(PiecewiseConstantVariance, QuantLib::PiecewiseConstantVariance);
56 
57  class PiecewiseConstantAbcdVariance : public PiecewiseConstantVariance {
58  public:
59  PiecewiseConstantAbcdVariance(const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
60  QuantLib::Real a, QuantLib::Real b,
61  QuantLib::Real c, QuantLib::Real d,
62  const QuantLib::Size resetIndex,
63  const std::vector<QuantLib::Time>& rateTimes,
64  bool permanent);
65 
66  };
67 }
68 
69 #endif
70 
PiecewiseConstantAbcdVariance(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, QuantLib::Real a, QuantLib::Real b, QuantLib::Real c, QuantLib::Real d, const QuantLib::Size resetIndex, const std::vector< QuantLib::Time > &rateTimes, bool permanent)
OH_LIB_CLASS(AlphaForm, QuantLib::AlphaForm)
LmExtLinearExponentialVolModel(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const std::vector< QuantLib::Time > &fixingTimes, QuantLib::Real a, QuantLib::Real b, QuantLib::Real c, QuantLib::Real d, bool permanent)
OH_OBJ_CLASS(OneAssetOption, Instrument)
Definition: abcd.hpp:38
Definition: abcd.hpp:30