Coverage Report

Created: 2025-10-14 06:32

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/quantlib/ql/indexes/ibor/bibor.hpp
Line
Count
Source
1
/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3
/*
4
 Copyright (C) 2018 Matthias Groncki
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
 <https://www.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
/*! \file bibor.hpp
21
    \brief %Bangkok Interbank Offered Rate index
22
*/
23
24
#ifndef quantlib_bibor_hpp
25
#define quantlib_bibor_hpp
26
27
#include <ql/indexes/iborindex.hpp>
28
29
namespace QuantLib {
30
31
    //! %Bibor index
32
    /*! Bangkok Interbank Offered Rate  fixed by the Bank of Thailand BOT.
33
    */
34
    class Bibor : public IborIndex {
35
      public:
36
        Bibor(const Period& tenor,
37
              const Handle<YieldTermStructure>& h = {});
38
    };
39
40
41
    //! 1-week %Bibor index
42
    class BiborSW : public Bibor {
43
      public:
44
        explicit BiborSW(const Handle<YieldTermStructure>& h = {})
45
0
        : Bibor(Period(1, Weeks), h) {}
46
    };
47
48
49
    //! 1-month %Bibor index
50
    class Bibor1M : public Bibor {
51
      public:
52
        explicit Bibor1M(const Handle<YieldTermStructure>& h = {})
53
0
        : Bibor(Period(1, Months), h) {}
54
    };
55
56
    //! 2-months %Bibor index
57
    class Bibor2M : public Bibor {
58
      public:
59
        explicit Bibor2M(const Handle<YieldTermStructure>& h = {})
60
0
        : Bibor(Period(2, Months), h) {}
61
    };
62
63
    //! 3-months %Bibor index
64
    class Bibor3M : public Bibor {
65
      public:
66
        explicit Bibor3M(const Handle<YieldTermStructure>& h = {})
67
0
        : Bibor(Period(3, Months), h) {}
68
    };
69
70
    //! 6-months %Bibor index
71
    class Bibor6M : public Bibor {
72
      public:
73
        explicit Bibor6M(const Handle<YieldTermStructure>& h = {})
74
0
        : Bibor(Period(6, Months), h) {}
75
    };
76
77
    //! 1-year %Bibor index
78
    class Bibor1Y : public Bibor {
79
      public:
80
        explicit Bibor1Y(const Handle<YieldTermStructure>& h = {})
81
0
        : Bibor(Period(1, Years), h) {}
82
    };
83
84
}
85
86
#endif