Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
ice.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2019 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 ice.hpp
20 \brief Intercontinental Exchange calendars
21*/
22
23#ifndef quantext_ice_calendar_hpp
24#define quantext_ice_calendar_hpp
25
26#include <ql/time/calendar.hpp>
27
28namespace QuantExt {
29
30/*! Various ICE calendars outlined on the website at:
31 https://www.theice.com/holiday-hours
32*/
33class ICE : public QuantLib::Calendar {
34
35private:
37 public:
38 std::string name() const override { return "ICE Futures U.S."; }
39 bool isBusinessDay(const QuantLib::Date& d) const override;
40 };
41
43 public:
44 std::string name() const override { return "ICE Futures U.S. 1"; }
45 bool isBusinessDay(const QuantLib::Date& d) const override;
46 };
47
49 public:
50 std::string name() const override { return "ICE Futures U.S. 2"; }
51 bool isBusinessDay(const QuantLib::Date& d) const override;
52 };
53
55 public:
56 std::string name() const override { return "ICE Futures Europe"; }
57 bool isBusinessDay(const QuantLib::Date& d) const override;
58 };
59
61 public:
62 std::string name() const override { return "ICE Futures Europe 1"; }
63 bool isBusinessDay(const QuantLib::Date& d) const override;
64 };
65
67 public:
68 std::string name() const override { return "ICE Endex Energy"; }
69 bool isBusinessDay(const QuantLib::Date& d) const override;
70 };
71
73 public:
74 std::string name() const override { return "ICE Endex Equities"; }
75 bool isBusinessDay(const QuantLib::Date& d) const override;
76 };
77
79 public:
80 std::string name() const override { return "ICE Swap Trade U.S."; }
81 bool isBusinessDay(const QuantLib::Date& d) const override;
82 };
83
85 public:
86 std::string name() const override { return "ICE Swap Trade U.K."; }
87 bool isBusinessDay(const QuantLib::Date& d) const override;
88 };
89
91 public:
92 std::string name() const override { return "ICE Futures Singapore"; }
93 bool isBusinessDay(const QuantLib::Date& d) const override;
94 };
95
96public:
97 enum Market {
98 FuturesUS, /*!< ICE Futures U.S. Currency, Stock and Credit Index,
99 Metal, Nat Gas, Power, Oil and Environmental */
100 FuturesUS_1, //!< ICE Futures U.S. Sugar, Cocoa, Coffee, Cotton and FCOJ
101 FuturesUS_2, //!< ICE Futures U.S. Canola
102 FuturesEU, //!< ICE Futures Europe
103 FuturesEU_1, //!< ICE Futures Europe for contracts where 26 Dec is a holiday
104 EndexEnergy, //!< ICE Endex European power and natural gas products
105 EndexEquities, //!< ICE Endex European equities
106 SwapTradeUS, //!< ICE Swap Trade U.S.
107 SwapTradeUK, //!< ICE Swap Trade U.K.
108 FuturesSingapore //!< ICE futures Singapore
109 };
110
111 ICE(Market market);
112};
113
114} // namespace QuantExt
115
116#endif
bool isBusinessDay(const QuantLib::Date &d) const override
Definition: ice.cpp:185
std::string name() const override
Definition: ice.hpp:68
bool isBusinessDay(const QuantLib::Date &d) const override
Definition: ice.cpp:211
std::string name() const override
Definition: ice.hpp:74
bool isBusinessDay(const QuantLib::Date &d) const override
Definition: ice.cpp:171
std::string name() const override
Definition: ice.hpp:62
bool isBusinessDay(const QuantLib::Date &d) const override
Definition: ice.cpp:149
std::string name() const override
Definition: ice.hpp:56
bool isBusinessDay(const QuantLib::Date &d) const override
Definition: ice.cpp:307
std::string name() const override
Definition: ice.hpp:92
bool isBusinessDay(const QuantLib::Date &d) const override
Definition: ice.cpp:98
std::string name() const override
Definition: ice.hpp:44
bool isBusinessDay(const QuantLib::Date &d) const override
Definition: ice.cpp:123
std::string name() const override
Definition: ice.hpp:50
bool isBusinessDay(const QuantLib::Date &d) const override
Definition: ice.cpp:76
std::string name() const override
Definition: ice.hpp:38
bool isBusinessDay(const QuantLib::Date &d) const override
Definition: ice.cpp:277
std::string name() const override
Definition: ice.hpp:86
bool isBusinessDay(const QuantLib::Date &d) const override
Definition: ice.cpp:239
std::string name() const override
Definition: ice.hpp:80
@ FuturesEU_1
ICE Futures Europe for contracts where 26 Dec is a holiday.
Definition: ice.hpp:103
@ FuturesEU
ICE Futures Europe.
Definition: ice.hpp:102
@ FuturesUS_2
ICE Futures U.S. Canola.
Definition: ice.hpp:101
@ FuturesSingapore
ICE futures Singapore.
Definition: ice.hpp:108
@ FuturesUS_1
ICE Futures U.S. Sugar, Cocoa, Coffee, Cotton and FCOJ.
Definition: ice.hpp:100
@ FuturesUS
Definition: ice.hpp:98
@ EndexEnergy
ICE Endex European power and natural gas products.
Definition: ice.hpp:104
@ EndexEquities
ICE Endex European equities.
Definition: ice.hpp:105
@ SwapTradeUS
ICE Swap Trade U.S.
Definition: ice.hpp:106
@ SwapTradeUK
ICE Swap Trade U.K.
Definition: ice.hpp:107