QuantLib
: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
ql
models
marketmodels
pathwisediscounter.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) 2008 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_pathwise_market_model_discounter_hpp
22
#define quantlib_pathwise_market_model_discounter_hpp
23
24
#include <
ql/types.hpp
>
25
#include <
ql/math/matrix.hpp
>
26
#include <vector>
27
28
namespace
QuantLib
{
29
30
class
CurveState;
31
/*!
32
this class returns the number of units of the discretely compounding money
33
market account that 1 unit of cash at the payment can buy using the LIBOR
34
rates from current step.
35
36
It also returns the derivative of this number with respect to each of the
37
rates.
38
39
Discounting is purely based on the simulation LIBOR rates,
40
to get a discounting back to zero you need to multiply by
41
the discount factor of t_0.
42
*/
43
class
MarketModelPathwiseDiscounter
{
44
public
:
45
MarketModelPathwiseDiscounter
(
Time
paymentTime,
46
const
std::vector<Time>& rateTimes);
47
void
getFactors
(
const
Matrix
& LIBORRates,
// LIBOR rate values for all steps
48
const
Matrix
& Discounts,
// P(t_0, t_j) for j=0,...n for each step
49
Size
currentStep,
50
std::vector<Real>& factors)
const
;
51
private
:
52
Size
before_
;
53
Size
numberRates_
;
54
Real
beforeWeight_
;
55
Real
postWeight_
;
56
std::vector<Real>
taus_
;
57
58
};
59
60
}
61
62
#endif
QuantLib::MarketModelPathwiseDiscounter
Definition:
pathwisediscounter.hpp:43
QuantLib::MarketModelPathwiseDiscounter::before_
Size before_
Definition:
pathwisediscounter.hpp:52
QuantLib::MarketModelPathwiseDiscounter::getFactors
void getFactors(const Matrix &LIBORRates, const Matrix &Discounts, Size currentStep, std::vector< Real > &factors) const
Definition:
pathwisediscounter.cpp:51
QuantLib::MarketModelPathwiseDiscounter::numberRates_
Size numberRates_
Definition:
pathwisediscounter.hpp:53
QuantLib::MarketModelPathwiseDiscounter::taus_
std::vector< Real > taus_
Definition:
pathwisediscounter.hpp:56
QuantLib::MarketModelPathwiseDiscounter::beforeWeight_
Real beforeWeight_
Definition:
pathwisediscounter.hpp:54
QuantLib::MarketModelPathwiseDiscounter::postWeight_
Real postWeight_
Definition:
pathwisediscounter.hpp:55
QuantLib::Matrix
Matrix used in linear algebra.
Definition:
matrix.hpp:41
QuantLib::Time
Real Time
continuous quantity with 1-year units
Definition:
types.hpp:62
QuantLib::Real
QL_REAL Real
real number
Definition:
types.hpp:50
QuantLib::Size
std::size_t Size
size of a container
Definition:
types.hpp:58
matrix.hpp
matrix used in linear algebra.
QuantLib
Definition:
any.hpp:35
types.hpp
Custom types.
Generated by
Doxygen
1.9.5