QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
flathazardrate.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 Roland Lichters
5 Copyright (C) 2008 StatPro Italia srl
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
21/*! \file flathazardrate.hpp
22 \brief flat hazard-rate term structure
23*/
24
25#ifndef quantlib_flat_hazard_rate_hpp
26#define quantlib_flat_hazard_rate_hpp
27
29#include <ql/quote.hpp>
30
31namespace QuantLib {
32
33 //! Flat hazard-rate curve
34 /*! \ingroup defaultprobabilitytermstructures */
36 public:
37 //! \name Constructors
38 //@{
42 const DayCounter&);
44 const Calendar& calendar,
46 const DayCounter&);
48 const Calendar& calendar,
50 const DayCounter&);
51 //@}
52 //! \name TermStructure interface
53 //@{
54 Date maxDate() const override { return Date::maxDate(); }
55 //@}
56 private:
57 //! \name HazardRateStructure interface
58 //@{
59 Rate hazardRateImpl(Time) const override { return hazardRate_->value(); }
60 //@}
61
62 //! \name DefaultProbabilityTermStructure interface
63 //@{
65 //@}
66
68 };
69
70 // inline definitions
71
73 return std::exp(-hazardRate_->value()*t);
74 }
75
76}
77
78#endif
calendar class
Definition: calendar.hpp:61
Concrete date class.
Definition: date.hpp:125
static Date maxDate()
latest allowed date
Definition: date.cpp:771
day counter class
Definition: daycounter.hpp:44
Rate hazardRate(const Date &d, bool extrapolate=false) const
Flat hazard-rate curve.
Handle< Quote > hazardRate_
Rate hazardRateImpl(Time) const override
hazard rate calculation
Probability survivalProbabilityImpl(Time) const override
survival probability calculation
Date maxDate() const override
the latest date for which the curve can return values
Shared handle to an observable.
Definition: handle.hpp:41
Hazard-rate term structure.
virtual Natural settlementDays() const
the settlementDays used for reference date calculation
virtual const Date & referenceDate() const
the date at which discount = 1.0 and/or variance = 0.0
virtual Calendar calendar() const
the calendar used for reference and/or option date calculation
const DefaultType & t
Real Time
continuous quantity with 1-year units
Definition: types.hpp:62
unsigned QL_INTEGER Natural
positive integer
Definition: types.hpp:43
Real Probability
probability
Definition: types.hpp:82
Real Rate
interest rates
Definition: types.hpp:70
hazard-rate term structure
Definition: any.hpp:35
purely virtual base class for market observables