Coverage Report

Created: 2025-08-05 06:45

/src/quantlib/ql/indexes/ibor/usdlibor.hpp
Line
Count
Source (jump to first uncovered line)
1
/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3
/*
4
 Copyright (C) 2000, 2001, 2002, 2003 RiskMap srl
5
 Copyright (C) 2003, 2004, 2005, 2006 StatPro Italia srl
6
 Copyright (C) 2017 Peter Caspers
7
 Copyright (C) 2017 Oleg Kulkov
8
9
 This file is part of QuantLib, a free-software/open-source library
10
 for financial quantitative analysts and developers - http://quantlib.org/
11
12
 QuantLib is free software: you can redistribute it and/or modify it
13
 under the terms of the QuantLib license.  You should have received a
14
 copy of the license along with this program; if not, please email
15
 <quantlib-dev@lists.sf.net>. The license is also available online at
16
 <http://quantlib.org/license.shtml>.
17
18
 This program is distributed in the hope that it will be useful, but WITHOUT
19
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20
 FOR A PARTICULAR PURPOSE.  See the license for more details.
21
*/
22
23
/*! \file usdlibor.hpp
24
    \brief %USD %LIBOR rate
25
*/
26
27
#ifndef quantlib_usd_libor_hpp
28
#define quantlib_usd_libor_hpp
29
30
#include <ql/indexes/ibor/libor.hpp>
31
#include <ql/time/calendars/unitedstates.hpp>
32
#include <ql/time/daycounters/actual360.hpp>
33
#include <ql/currencies/america.hpp>
34
35
namespace QuantLib {
36
37
    //! %USD %LIBOR rate
38
    /*! US Dollar LIBOR fixed by ICE.
39
40
        See <https://www.theice.com/marketdata/reports/170>.
41
    */
42
    class USDLibor : public Libor {
43
      public:
44
        USDLibor(const Period& tenor,
45
                 const Handle<YieldTermStructure>& h = {})
46
0
        : Libor("USDLibor", tenor,
47
0
                2,
48
0
                USDCurrency(),
49
0
                UnitedStates(UnitedStates::LiborImpact),
50
0
                Actual360(), h) {}
51
    };
52
53
    //! base class for the one day deposit ICE %USD %LIBOR indexes
54
    class DailyTenorUSDLibor : public DailyTenorLibor {
55
      public:
56
        DailyTenorUSDLibor(Natural settlementDays,
57
                           const Handle<YieldTermStructure>& h = {})
58
        : DailyTenorLibor("USDLibor", settlementDays,
59
                          USDCurrency(),
60
                          UnitedStates(UnitedStates::LiborImpact),
61
0
                          Actual360(), h) {}
62
    };
63
64
    //! Overnight %USD %Libor index
65
    class USDLiborON : public DailyTenorUSDLibor {
66
      public:
67
        explicit USDLiborON(const Handle<YieldTermStructure>& h = {})
68
0
        : DailyTenorUSDLibor(0, h) {}
69
    };
70
}
71
72
#endif