latentmodels.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) 2014 Jose Aparicio
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_latentmodels_hpp
21 #define qla_latentmodels_hpp
22 
23 #include <oh/libraryobject.hpp>
24 #include <ql/types.hpp>
25 
26 namespace QuantLib {
27  template<class copulaPolicy> class DefaultLatentModel;
28 
29  struct GaussianCopulaPolicy;
30  class TCopulaPolicy;
31 
34 
35  class Basket;
36 }
37 
38 namespace QuantLibAddin {
39 
40  /* \todo: This needs to be turn into a factory with a common ancestor and
41  all the available options (integration policy etc)
42  */
44  public ObjectHandler::LibraryObject<QuantLib::GaussianDefProbLM> {
45  public:
47  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
48  const boost::shared_ptr<QuantLib::Basket>& basket,
49  const std::vector<std::vector<QuantLib::Real> >& factorWeights,
50  bool permanent);
51  };
52 
53  class TDefProbLM :
54  public ObjectHandler::LibraryObject<QuantLib::TDefProbLM> {
55  public:
56  TDefProbLM(
57  const boost::shared_ptr<ObjectHandler::ValueObject>& properties,
58  const std::vector<QuantLib::Integer>& tOrders,
59  const boost::shared_ptr<QuantLib::Basket>& basket,
60  const std::vector<std::vector<QuantLib::Real> >& factorWeights,
61  bool permanent);
62  };
63 
64 }
65 
66 #endif
Definition: latentmodels.hpp:43
Definition: latentmodels.hpp:53
Definition: abcd.hpp:38
DefaultLatentModel< GaussianCopulaPolicy > GaussianDefProbLM
Definition: latentmodels.hpp:30
TDefProbLM(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const std::vector< QuantLib::Integer > &tOrders, const boost::shared_ptr< QuantLib::Basket > &basket, const std::vector< std::vector< QuantLib::Real > > &factorWeights, bool permanent)
Definition: latentmodels.hpp:27
Definition: abcd.hpp:30
GaussianDefProbLM(const boost::shared_ptr< ObjectHandler::ValueObject > &properties, const boost::shared_ptr< QuantLib::Basket > &basket, const std::vector< std::vector< QuantLib::Real > > &factorWeights, bool permanent)
DefaultLatentModel< TCopulaPolicy > TDefProbLM
Definition: latentmodels.hpp:33