QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
Loading...
Searching...
No Matches
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
29namespace 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:
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
85 explicit NewZealand(Market market = Wellington);
86 };
87
88}
89
90
91#endif
calendar class
partial calendar implementation
Definition: calendar.hpp:174
calendar class
Definition: calendar.hpp:61
Concrete date class.
Definition: date.hpp:125
bool isBusinessDay(const Date &) const override
Definition: newzealand.cpp:95
std::string name() const override
Definition: newzealand.hpp:79
bool isBusinessDay(const Date &) const override
Definition: newzealand.cpp:24
bool isBusinessDay(const Date &) const override
Definition: newzealand.cpp:83
std::string name() const override
Definition: newzealand.hpp:74
New Zealand calendar.
Definition: newzealand.hpp:66
Market
NZ calendars.
Definition: newzealand.hpp:84
Definition: any.hpp:37