QuantLib
: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
ql
pricingengines
swap
discountingswapengine.hpp
1
/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3
/*
4
Copyright (C) 2007, 2009 StatPro Italia srl
5
Copyright (C) 2011 Ferdinando Ametrano
6
7
This file is part of QuantLib, a free-software/open-source library
8
for financial quantitative analysts and developers - http://quantlib.org/
9
10
QuantLib is free software: you can redistribute it and/or modify it
11
under the terms of the QuantLib license. You should have received a
12
copy of the license along with this program; if not, please email
13
<quantlib-dev@lists.sf.net>. The license is also available online at
14
<http://quantlib.org/license.shtml>.
15
16
This program is distributed in the hope that it will be useful, but WITHOUT
17
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18
FOR A PARTICULAR PURPOSE. See the license for more details.
19
*/
20
25
#ifndef quantlib_discounting_swap_engine_hpp
26
#define quantlib_discounting_swap_engine_hpp
27
28
#include <ql/instruments/swap.hpp>
29
#include <ql/termstructures/yieldtermstructure.hpp>
30
#include <ql/handle.hpp>
31
#include <ql/optional.hpp>
32
33
namespace
QuantLib
{
34
35
class
DiscountingSwapEngine
:
public
Swap::engine
{
36
public
:
37
DiscountingSwapEngine
(
38
Handle<YieldTermStructure>
discountCurve
=
Handle<YieldTermStructure>
(),
39
const
ext::optional<bool>& includeSettlementDateFlows =
ext::nullopt
,
40
Date
settlementDate =
Date
(),
41
Date
npvDate =
Date
());
42
void
calculate
()
const override
;
43
Handle<YieldTermStructure>
discountCurve
()
const
{
44
return
discountCurve_
;
45
}
46
private
:
47
Handle<YieldTermStructure>
discountCurve_
;
48
ext::optional<bool>
includeSettlementDateFlows_
;
49
Date
settlementDate_
,
npvDate_
;
50
};
51
52
}
53
54
#endif
QuantLib::Date
Concrete date class.
Definition:
date.hpp:125
QuantLib::DiscountingSwapEngine
Definition:
discountingswapengine.hpp:35
QuantLib::DiscountingSwapEngine::discountCurve_
Handle< YieldTermStructure > discountCurve_
Definition:
discountingswapengine.hpp:47
QuantLib::DiscountingSwapEngine::includeSettlementDateFlows_
ext::optional< bool > includeSettlementDateFlows_
Definition:
discountingswapengine.hpp:48
QuantLib::DiscountingSwapEngine::discountCurve
Handle< YieldTermStructure > discountCurve() const
Definition:
discountingswapengine.hpp:43
QuantLib::DiscountingSwapEngine::calculate
void calculate() const override
Definition:
discountingswapengine.cpp:40
QuantLib::DiscountingSwapEngine::npvDate_
Date npvDate_
Definition:
discountingswapengine.hpp:49
QuantLib::DiscountingSwapEngine::settlementDate_
Date settlementDate_
Definition:
discountingswapengine.hpp:49
QuantLib::Handle
Shared handle to an observable.
Definition:
handle.hpp:41
QuantLib::Swap::engine
Definition:
swap.hpp:159
QuantLib::ext::nullopt
const boost::none_t & nullopt
Definition:
optional.cpp:27
QuantLib
Definition:
any.hpp:35
Generated by
Doxygen
1.9.5