QuantLib
: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
Loading...
Searching...
No Matches
ql
time
calendars
newzealand.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) 2000, 2001, 2002, 2003 RiskMap srl
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
<http://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 newzealand.hpp
21
\brief New Zealand calendar
22
*/
23
24
#ifndef quantlib_new_zealand_calendar_hpp
25
#define quantlib_new_zealand_calendar_hpp
26
27
#include <
ql/time/calendar.hpp
>
28
29
namespace
QuantLib
{
30
31
//! New Zealand calendar
32
/*! Common holidays:
33
<ul>
34
<li>Saturdays</li>
35
<li>Sundays</li>
36
<li>New Year's Day, January 1st (possibly moved to Monday or Tuesday)</li>
37
<li>Day after New Year's Day, January 2st (possibly moved to Monday or Tuesday)</li>
38
<li>Waitangi Day. February 6th (possibly moved to Monday since 2013)</li>
39
<li>Good Friday</li>
40
<li>Easter Monday</li>
41
<li>ANZAC Day. April 25th (possibly moved to Monday since 2013)</li>
42
<li>Queen's Birthday, first Monday in June</li>
43
<li>Labour Day, fourth Monday in October</li>
44
<li>Christmas, December 25th (possibly moved to Monday or Tuesday)</li>
45
<li>Boxing Day, December 26th (possibly moved to Monday or Tuesday)</li>
46
<li>Matariki, in June or July, official calendar released for years 2022-2052</li>
47
</ul>
48
49
Additional holidays for Wellington:
50
<ul>
51
<li>Anniversary Day, Monday nearest January 22nd</li>
52
</ul>
53
54
Additional holidays for Auckland:
55
<ul>
56
<li>Anniversary Day, Monday nearest January 29nd</li>
57
</ul>
58
59
\note The holiday rules for New Zealand were documented by
60
David Gilbert for IDB (http://www.jrefinery.com/ibd/)
61
The Matariki holiday calendar has been released by the NZ Government
62
(https://www.legislation.govt.nz/act/public/2022/0014/latest/LMS557893.html)
63
64
\ingroup calendars
65
*/
66
class
NewZealand
:
public
Calendar
{
67
private
:
68
class
CommonImpl
:
public
Calendar::WesternImpl
{
69
public
:
70
bool
isBusinessDay
(
const
Date
&)
const override
;
71
};
72
class
WellingtonImpl
final :
public
CommonImpl
{
73
public
:
74
std::string
name
()
const override
{
return
"New Zealand (Wellington)"
; }
75
bool
isBusinessDay
(
const
Date
&)
const override
;
76
};
77
class
AucklandImpl
final :
public
CommonImpl
{
78
public
:
79
std::string
name
()
const override
{
return
"New Zealand (Auckland)"
; }
80
bool
isBusinessDay
(
const
Date
&)
const override
;
81
};
82
public
:
83
//! NZ calendars
84
enum
Market
{
Wellington
,
Auckland
};
85
explicit
NewZealand
(
Market
market =
Wellington
);
86
};
87
88
}
89
90
91
#endif
calendar.hpp
calendar class
QuantLib::Calendar::WesternImpl
partial calendar implementation
Definition:
calendar.hpp:174
QuantLib::Calendar
calendar class
Definition:
calendar.hpp:61
QuantLib::Date
Concrete date class.
Definition:
date.hpp:125
QuantLib::NewZealand::AucklandImpl
Definition:
newzealand.hpp:77
QuantLib::NewZealand::AucklandImpl::isBusinessDay
bool isBusinessDay(const Date &) const override
Definition:
newzealand.cpp:95
QuantLib::NewZealand::AucklandImpl::name
std::string name() const override
Definition:
newzealand.hpp:79
QuantLib::NewZealand::CommonImpl
Definition:
newzealand.hpp:68
QuantLib::NewZealand::CommonImpl::isBusinessDay
bool isBusinessDay(const Date &) const override
Definition:
newzealand.cpp:24
QuantLib::NewZealand::WellingtonImpl
Definition:
newzealand.hpp:72
QuantLib::NewZealand::WellingtonImpl::isBusinessDay
bool isBusinessDay(const Date &) const override
Definition:
newzealand.cpp:83
QuantLib::NewZealand::WellingtonImpl::name
std::string name() const override
Definition:
newzealand.hpp:74
QuantLib::NewZealand
New Zealand calendar.
Definition:
newzealand.hpp:66
QuantLib::NewZealand::Market
Market
NZ calendars.
Definition:
newzealand.hpp:84
QuantLib::NewZealand::Auckland
@ Auckland
Definition:
newzealand.hpp:84
QuantLib::NewZealand::Wellington
@ Wellington
Definition:
newzealand.hpp:84
QuantLib
Definition:
any.hpp:37
Generated by
Doxygen
1.9.5