Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
qle
calendars
cyprus.hpp
Go to the documentation of this file.
1
/*
2
Copyright (C) 2021 Quaternion Risk Management Ltd
3
All rights reserved.
4
5
This file is part of ORE, a free-software/open-source library
6
for transparent pricing and risk analysis - http://opensourcerisk.org
7
8
ORE is free software: you can redistribute it and/or modify it
9
under the terms of the Modified BSD License. You should have received a
10
copy of the license along with this program.
11
The license is also available online at <http://opensourcerisk.org>
12
13
This program is distributed on the basis that it will form a useful
14
contribution to risk analytics and model standardisation, but WITHOUT
15
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16
FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
17
*/
18
19
/*! \file qle/calendars/cyprus.hpp
20
\brief Cyprus Calendar
21
*/
22
23
#pragma once
24
25
#include <ql/time/calendar.hpp>
26
27
namespace
QuantExt
{
28
29
//! Cyprus Calendar
30
/*! Public holidays (data from https://www.centralbank.cy/en/the-bank/working-hours-bank-holidays):
31
32
Fixed Dates
33
<ul>
34
<li>Saturdays</li>
35
<li>Sundays</li>
36
<li>New Year's Day, January 1st</li>
37
<li>Ephiphany Day, 6th January</li>
38
<li>Greek Independence Day, 25th March</li>
39
<li>National Day, 1st April</li>
40
<li>Labour Day, 1st May</li>
41
<li>Assumption (Theotokos) Day, 15st August</li>
42
<li>Cyprus Independence Day, 1st October</li>
43
<li>Greece National Day, 28th October</li>
44
<li>Christmas Day, December 25th</li>
45
<li>Boxing Day, December 26th</li>
46
</ul>
47
48
Variable days
49
<ul>
50
<li>Green Monday</li>
51
<li>Good Friday</li>
52
<li>Easter Monday</li>
53
<li>Easter Tuesday/li>
54
<li>Orthodox Pentecost (Whit) Monday</li>
55
</ul>
56
57
\ingroup calendars
58
59
\test the correctness of the returned results is tested
60
against a list of known holidays.
61
*/
62
class
Cyprus
:
public
QuantLib::Calendar {
63
private
:
64
class
Impl
:
public
QuantLib::Calendar::OrthodoxImpl
{
65
public
:
66
std::string
name
()
const override
{
return
"Cyprus"
; }
67
bool
isBusinessDay
(
const
QuantLib::Date&)
const override
;
68
};
69
70
public
:
71
Cyprus
();
72
};
73
}
// namespace QuantExt
QuantExt::Cyprus::Impl
Definition:
cyprus.hpp:64
QuantExt::Cyprus::Impl::isBusinessDay
bool isBusinessDay(const QuantLib::Date &) const override
Definition:
cyprus.cpp:31
QuantExt::Cyprus::Impl::name
std::string name() const override
Definition:
cyprus.hpp:66
QuantExt::Cyprus
Cyprus Calendar.
Definition:
cyprus.hpp:62
QuantExt::Cyprus::Cyprus
Cyprus()
Definition:
cyprus.cpp:25
QuantLib::Calendar::OrthodoxImpl
QuantExt
Definition:
namespaces.docs:19
Generated by
Doxygen
1.9.5