QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
constrainedevolver.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 Mark Joshi
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
21#ifndef quantlib_constrained_evolver_hpp
22#define quantlib_constrained_evolver_hpp
23
25#include <valarray>
26
27namespace QuantLib {
28
29 //! Constrained market-model evolver
30 /*! Abstract base class. Requires extra methods above that of
31 marketmodelevolver to let you fix rates via importance sampling.
32
33 The evolver does the actual gritty work of evolving the forward rates
34 from one time to the next.
35
36 This is intended to be used for the Fries-Joshi proxy simulation
37 approach to Greeks
38 */
40 public:
41 ~ConstrainedEvolver() override = default;
42 //! call once
43 virtual void setConstraintType(
44 const std::vector<Size>& startIndexOfSwapRate,
45 const std::vector<Size>& EndIndexOfSwapRate) = 0;
46 //! call before each path
47 virtual void setThisConstraint(
48 const std::vector<Rate>& rateConstraints,
49 const std::valarray<bool>& isConstraintActive) = 0;
50 };
51
52}
53
54#endif
Constrained market-model evolver.
~ConstrainedEvolver() override=default
virtual void setThisConstraint(const std::vector< Rate > &rateConstraints, const std::valarray< bool > &isConstraintActive)=0
call before each path
virtual void setConstraintType(const std::vector< Size > &startIndexOfSwapRate, const std::vector< Size > &EndIndexOfSwapRate)=0
call once
Market-model evolver.
Definition: evolver.hpp:35
Definition: any.hpp:35