Coverage Report

Created: 2026-02-03 07:02

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/quantlib/ql/time/calendars/thailand.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
 Copyright (C) 2023 Skandinaviska Enskilda Banken AB (publ)
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
 <https://www.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 thailand.hpp
22
    \brief Thailand calendars
23
*/
24
25
#ifndef quantlib_thailand_calendar_hpp
26
#define quantlib_thailand_calendar_hpp
27
28
#include <ql/time/calendar.hpp>
29
30
namespace QuantLib {
31
32
    //! %Thailand calendars
33
    /*! Holidays for the Thailand exchange
34
        Holidays observed by financial institutions (not to be confused with bank holidays in the United Kingdom) are regulated by the Bank of Thailand.
35
        If a holiday fall on a weekend the government will announce a replacement day (usually the following Monday).
36
37
        Sometimes the government add one or two extra holidays in a year.
38
39
        (data from
40
         https://www.bot.or.th/en/financial-institutions-holiday.html:
41
        Fixed holidays
42
        <ul>
43
        <li>Saturdays</li>
44
        <li>Sundays</li>
45
        <li>Chakri Memorial Day, April 6th</li>
46
        <li>Songkran holiday, April 13th - 15th</li>
47
        <li>Labour Day, May 1st</li>
48
        <li>H.M. the King's Birthday, July 28th (from 2017)</li>
49
        <li>H.M. the Queen's Birthday, August 12th </li>
50
        <li>The Passing of H.M. the Late King Bhumibol Adulyadej (Rama IX), October 13th (from 2017) </li>
51
        <li>H.M. the Late King Bhumibol Adulyadej's Birthday, December 5th</li>
52
        <li>Constitution Day, December 10th</li>
53
        <li>New Year's Eve, December 31th</li>
54
        </ul>
55
56
        Other holidays for which no rule is given
57
        (data available for 2000-2024 with some years missing)
58
        <ul>
59
        <li>Makha Bucha Day</li>
60
        <li>Wisakha Bucha Day</li>
61
        <li>Buddhist Lent Day (until 2006)</li>
62
        <li>Asarnha Bucha Day (from 2007)</li>
63
        <li>Chulalongkorn Day</li>
64
        <li>Other special holidays</li>
65
        </ul>
66
67
        \ingroup calendars
68
    */
69
    class Thailand : public Calendar {
70
      private:
71
        class SetImpl final : public Calendar::WesternImpl {
72
          public:
73
0
            std::string name() const override { return "Thailand stock exchange"; }
74
            bool isBusinessDay(const Date&) const override;
75
        };
76
      public:
77
        Thailand();
78
    };
79
80
}
81
82
83
#endif