pandas-market-calendars 4.3.3__tar.gz → 4.6.0__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. {pandas_market_calendars-4.3.3/pandas_market_calendars.egg-info → pandas_market_calendars-4.6.0}/PKG-INFO +10 -6
  2. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/README.rst +3 -1
  3. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/__init__.py +39 -38
  4. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendar_registry.py +57 -53
  5. pandas_market_calendars-4.6.0/pandas_market_calendars/calendar_utils.py +1200 -0
  6. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/asx.py +66 -66
  7. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/bmf.py +223 -206
  8. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/bse.py +421 -407
  9. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/cboe.py +145 -145
  10. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/cme.py +405 -402
  11. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/cme_globex_agriculture.py +172 -126
  12. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/cme_globex_base.py +119 -119
  13. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/cme_globex_crypto.py +160 -160
  14. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/cme_globex_energy_and_metals.py +216 -216
  15. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/cme_globex_equities.py +123 -123
  16. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/cme_globex_fixed_income.py +136 -136
  17. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/cme_globex_fx.py +101 -101
  18. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/eurex.py +131 -139
  19. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/eurex_fixed_income.py +98 -98
  20. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/hkex.py +429 -426
  21. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/ice.py +81 -81
  22. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/iex.py +151 -112
  23. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/jpx.py +113 -109
  24. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/lse.py +114 -114
  25. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/mirror.py +149 -130
  26. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/nyse.py +1466 -1324
  27. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/ose.py +116 -116
  28. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/sifma.py +354 -350
  29. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/six.py +132 -132
  30. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/sse.py +311 -311
  31. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/tase.py +220 -197
  32. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/tsx.py +181 -181
  33. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/holidays/cme.py +385 -385
  34. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/holidays/cme_globex.py +214 -214
  35. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/holidays/cn.py +1476 -1455
  36. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/holidays/jp.py +401 -398
  37. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/holidays/jpx_equinox.py +1 -0
  38. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/holidays/nyse.py +1536 -1531
  39. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/holidays/oz.py +63 -63
  40. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/holidays/sifma.py +350 -338
  41. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/holidays/us.py +376 -376
  42. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/market_calendar.py +1057 -895
  43. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0/pandas_market_calendars.egg-info}/PKG-INFO +10 -6
  44. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars.egg-info/SOURCES.txt +5 -1
  45. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars.egg-info/requires.txt +3 -2
  46. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pyproject.toml +66 -65
  47. pandas_market_calendars-4.6.0/tests/test_24_7_calendar.py +25 -0
  48. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_XNYS_calendar.py +264 -264
  49. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_asx_calendar.py +67 -67
  50. pandas_market_calendars-4.6.0/tests/test_bmf_calendar.py +72 -0
  51. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_bse_calendar.py +43 -43
  52. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_class_registry.py +199 -198
  53. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_cme_agriculture_calendar.py +52 -53
  54. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_cme_bond_calendar.py +65 -65
  55. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_cme_equity_calendar.py +67 -67
  56. pandas_market_calendars-4.6.0/tests/test_date_range.py +2042 -0
  57. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_eurex_calendar.py +36 -36
  58. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_eurex_fixed_income_calendar.py +143 -143
  59. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_exchange_calendar_cme_globex_crypto.py +288 -288
  60. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_exchange_calendar_cme_globex_energy_and_metals.py +162 -162
  61. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_exchange_calendar_cme_globex_equities.py +626 -626
  62. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_exchange_calendar_cme_globex_fixed_income.py +584 -584
  63. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_exchange_calendar_cme_globex_fx.py +169 -169
  64. pandas_market_calendars-4.6.0/tests/test_exchange_calendar_cme_globex_grains.py +30 -0
  65. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_hkex_calendar.py +63 -63
  66. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_iex_calendar.py +46 -40
  67. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_jpx_calendar.py +303 -269
  68. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_lse_calendar.py +160 -160
  69. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_market_calendar.py +1680 -1654
  70. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_nyse_calendar.py +454 -454
  71. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_nyse_calendar_early_years.py +4151 -4019
  72. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_ose_calendar.py +155 -155
  73. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_sifma_calendars.py +508 -468
  74. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_six_calendar.py +79 -79
  75. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_sse_calendar.py +54 -54
  76. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_tsx_calendar.py +33 -33
  77. pandas_market_calendars-4.6.0/tests/test_utils.py +270 -0
  78. pandas_market_calendars-4.6.0/tests/test_xtae_calendar.py +53 -0
  79. pandas_market_calendars-4.3.3/pandas_market_calendars/calendar_utils.py +0 -261
  80. pandas_market_calendars-4.3.3/tests/test_bmf_calendar.py +0 -39
  81. pandas_market_calendars-4.3.3/tests/test_utils.py +0 -665
  82. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/LICENSE +0 -0
  83. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/NOTICE +0 -0
  84. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/calendars/__init__.py +0 -0
  85. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/class_registry.py +0 -0
  86. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/holidays/__init__.py +0 -0
  87. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars/holidays/uk.py +0 -0
  88. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars.egg-info/dependency_links.txt +0 -0
  89. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/pandas_market_calendars.egg-info/top_level.txt +0 -0
  90. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/setup.cfg +0 -0
  91. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_cboe_calendars.py +0 -0
  92. {pandas_market_calendars-4.3.3 → pandas_market_calendars-4.6.0}/tests/test_ice_calendar.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: pandas_market_calendars
3
- Version: 4.3.3
3
+ Version: 4.6.0
4
4
  Summary: Market and exchange trading calendars for pandas
5
5
  Author-email: Ryan Sheftel <rsheftel@alumni.upenn.edu>
6
6
  License: MIT
@@ -14,22 +14,24 @@ Classifier: Development Status :: 5 - Production/Stable
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: Topic :: Software Development
16
16
  Classifier: License :: OSI Approved :: MIT License
17
- Classifier: Programming Language :: Python :: 3.8
18
17
  Classifier: Programming Language :: Python :: 3.9
19
18
  Classifier: Programming Language :: Python :: 3.10
20
19
  Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
21
22
  Requires-Python: >=3.8
22
23
  Description-Content-Type: text/x-rst
23
24
  License-File: LICENSE
24
25
  License-File: NOTICE
25
- Requires-Dist: pandas<2.0,>=1.1
26
+ Requires-Dist: pandas>=1.1
26
27
  Requires-Dist: pytz
27
28
  Requires-Dist: python-dateutil
28
29
  Requires-Dist: exchange-calendars>=3.3
29
30
  Provides-Extra: dev
30
31
  Requires-Dist: pytest; extra == "dev"
31
- Requires-Dist: black==23.7.0; extra == "dev"
32
+ Requires-Dist: black; extra == "dev"
32
33
  Requires-Dist: pre-commit; extra == "dev"
34
+ Requires-Dist: build; extra == "dev"
33
35
 
34
36
  pandas_market_calendars
35
37
  =======================
@@ -196,4 +198,6 @@ Sponsor
196
198
  :target: https://www.tradinghours.com/data
197
199
  :alt: TradingHours.com
198
200
 
199
- `TradingHours.com <https://www.tradinghours.com>`_ provides the most accurate and comprehensive coverage of market holidays and trading hours data available. They cover over 900 markets around the world. Their data is continually monitored for changes and updated daily. `Learn more <https://www.tradinghours.com/data>`_
201
+ `TradingHours.com <https://www.tradinghours.com?utm_source=github&utm_medium=sponsor&utm_campaign=panda>`_ provides the most accurate and comprehensive coverage of market holidays and trading hours data available. They cover over 1,100 markets worldwide, with extensive historical data and full coverage of all global trading venues, including the CME, ICE, Eurex, and more.
202
+
203
+ Their data is continuously monitored for changes and updated daily. If there's a market you need that they don't currently cover, they'll add it. For when accurate, reliable data matters most, choose TradingHours.com. `Learn more <https://www.tradinghours.com/data?utm_source=github&utm_medium=sponsor&utm_campaign=panda>`_
@@ -163,4 +163,6 @@ Sponsor
163
163
  :target: https://www.tradinghours.com/data
164
164
  :alt: TradingHours.com
165
165
 
166
- `TradingHours.com <https://www.tradinghours.com>`_ provides the most accurate and comprehensive coverage of market holidays and trading hours data available. They cover over 900 markets around the world. Their data is continually monitored for changes and updated daily. `Learn more <https://www.tradinghours.com/data>`_
166
+ `TradingHours.com <https://www.tradinghours.com?utm_source=github&utm_medium=sponsor&utm_campaign=panda>`_ provides the most accurate and comprehensive coverage of market holidays and trading hours data available. They cover over 1,100 markets worldwide, with extensive historical data and full coverage of all global trading venues, including the CME, ICE, Eurex, and more.
167
+
168
+ Their data is continuously monitored for changes and updated daily. If there's a market you need that they don't currently cover, they'll add it. For when accurate, reliable data matters most, choose TradingHours.com. `Learn more <https://www.tradinghours.com/data?utm_source=github&utm_medium=sponsor&utm_campaign=panda>`_
@@ -1,38 +1,39 @@
1
- # Fork of Zipline by Quantopian released under MIT license. Original Zipline license below.
2
- #
3
- # Copyright 2016 Quantopian, Inc.
4
- #
5
- # Licensed under the Apache License, Version 2.0 (the "License");
6
- # you may not use this file except in compliance with the License.
7
- # You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing, software
12
- # distributed under the License is distributed on an "AS IS" BASIS,
13
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- # See the License for the specific language governing permissions and
15
- # limitations under the License.
16
-
17
- from importlib import metadata
18
-
19
- from .calendar_registry import get_calendar, get_calendar_names
20
- from .calendar_utils import convert_freq, date_range, merge_schedules
21
-
22
- # TODO: is the below needed? Can I replace all the imports on the calendars with ".market_calendar"
23
- from .market_calendar import MarketCalendar
24
-
25
- # if running in development there may not be a package
26
- try:
27
- __version__ = metadata.version("pandas_market_calendars")
28
- except metadata.PackageNotFoundError:
29
- __version__ = "development"
30
-
31
- __all__ = [
32
- "MarketCalendar",
33
- "get_calendar",
34
- "get_calendar_names",
35
- "merge_schedules",
36
- "date_range",
37
- "convert_freq",
38
- ]
1
+ # Fork of Zipline by Quantopian released under MIT license. Original Zipline license below.
2
+ #
3
+ # Copyright 2016 Quantopian, Inc.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ from importlib import metadata
18
+
19
+ from .calendar_registry import get_calendar, get_calendar_names
20
+ from .calendar_utils import convert_freq, date_range, merge_schedules, mark_session
21
+
22
+ # TODO: is the below needed? Can I replace all the imports on the calendars with ".market_calendar"
23
+ from .market_calendar import MarketCalendar
24
+
25
+ # if running in development there may not be a package
26
+ try:
27
+ __version__ = metadata.version("pandas_market_calendars")
28
+ except metadata.PackageNotFoundError:
29
+ __version__ = "development"
30
+
31
+ __all__ = [
32
+ "MarketCalendar",
33
+ "get_calendar",
34
+ "get_calendar_names",
35
+ "merge_schedules",
36
+ "date_range",
37
+ "mark_session",
38
+ "convert_freq",
39
+ ]
@@ -1,53 +1,57 @@
1
- from .market_calendar import MarketCalendar
2
- from .calendars.asx import ASXExchangeCalendar
3
- from .calendars.bmf import BMFExchangeCalendar
4
- from .calendars.bse import BSEExchangeCalendar
5
- from .calendars.cboe import CFEExchangeCalendar
6
- from .calendars.cme import CMEEquityExchangeCalendar, CMEBondExchangeCalendar
7
- from .calendars.cme_globex_base import CMEGlobexBaseExchangeCalendar
8
- from .calendars.cme_globex_agriculture import CMEGlobexAgricultureExchangeCalendar
9
- from .calendars.cme_globex_crypto import CMEGlobexCryptoExchangeCalendar
10
- from .calendars.cme_globex_energy_and_metals import (
11
- CMEGlobexEnergyAndMetalsExchangeCalendar,
12
- )
13
- from .calendars.cme_globex_equities import CMEGlobexEquitiesExchangeCalendar
14
- from .calendars.cme_globex_fx import CMEGlobexFXExchangeCalendar
15
- from .calendars.cme_globex_fixed_income import CMEGlobexFixedIncomeCalendar
16
- from .calendars.eurex import EUREXExchangeCalendar
17
- from .calendars.eurex_fixed_income import EUREXFixedIncomeCalendar
18
- from .calendars.hkex import HKEXExchangeCalendar
19
- from .calendars.ice import ICEExchangeCalendar
20
- from .calendars.iex import IEXExchangeCalendar
21
- from .calendars.jpx import JPXExchangeCalendar
22
- from .calendars.lse import LSEExchangeCalendar
23
- from .calendars.nyse import NYSEExchangeCalendar
24
- from .calendars.ose import OSEExchangeCalendar
25
- from .calendars.sifma import (
26
- SIFMAUSExchangeCalendar,
27
- SIFMAUKExchangeCalendar,
28
- SIFMAJPExchangeCalendar,
29
- )
30
- from .calendars.six import SIXExchangeCalendar
31
- from .calendars.sse import SSEExchangeCalendar
32
- from .calendars.tase import TASEExchangeCalendar
33
- from .calendars.tsx import TSXExchangeCalendar
34
- from .calendars.mirror import *
35
-
36
-
37
- def get_calendar(name, open_time=None, close_time=None) -> MarketCalendar:
38
- """
39
- Retrieves an instance of an MarketCalendar whose name is given.
40
-
41
- :param name: The name of the MarketCalendar to be retrieved.
42
- :param open_time: Market open time override as datetime.time object. If None then default is used.
43
- :param close_time: Market close time override as datetime.time object. If None then default is used.
44
- :return: MarketCalendar of the desired calendar.
45
- """
46
- return MarketCalendar.factory(name, open_time=open_time, close_time=close_time)
47
-
48
-
49
- def get_calendar_names():
50
- """All Market Calendar names and aliases that can be used in "factory"
51
- :return: list(str)
52
- """
53
- return MarketCalendar.calendar_names()
1
+ from .market_calendar import MarketCalendar
2
+ from .calendars.asx import ASXExchangeCalendar
3
+ from .calendars.bmf import BMFExchangeCalendar
4
+ from .calendars.bse import BSEExchangeCalendar
5
+ from .calendars.cboe import CFEExchangeCalendar
6
+ from .calendars.cme import CMEEquityExchangeCalendar, CMEBondExchangeCalendar
7
+ from .calendars.cme_globex_base import CMEGlobexBaseExchangeCalendar
8
+ from .calendars.cme_globex_agriculture import (
9
+ CMEGlobexAgricultureExchangeCalendar,
10
+ CMEGlobexLivestockExchangeCalendar,
11
+ CMEGlobexGrainsAndOilseedsExchangeCalendar,
12
+ )
13
+ from .calendars.cme_globex_crypto import CMEGlobexCryptoExchangeCalendar
14
+ from .calendars.cme_globex_energy_and_metals import (
15
+ CMEGlobexEnergyAndMetalsExchangeCalendar,
16
+ )
17
+ from .calendars.cme_globex_equities import CMEGlobexEquitiesExchangeCalendar
18
+ from .calendars.cme_globex_fx import CMEGlobexFXExchangeCalendar
19
+ from .calendars.cme_globex_fixed_income import CMEGlobexFixedIncomeCalendar
20
+ from .calendars.eurex import EUREXExchangeCalendar
21
+ from .calendars.eurex_fixed_income import EUREXFixedIncomeCalendar
22
+ from .calendars.hkex import HKEXExchangeCalendar
23
+ from .calendars.ice import ICEExchangeCalendar
24
+ from .calendars.iex import IEXExchangeCalendar
25
+ from .calendars.jpx import JPXExchangeCalendar
26
+ from .calendars.lse import LSEExchangeCalendar
27
+ from .calendars.nyse import NYSEExchangeCalendar
28
+ from .calendars.ose import OSEExchangeCalendar
29
+ from .calendars.sifma import (
30
+ SIFMAUSExchangeCalendar,
31
+ SIFMAUKExchangeCalendar,
32
+ SIFMAJPExchangeCalendar,
33
+ )
34
+ from .calendars.six import SIXExchangeCalendar
35
+ from .calendars.sse import SSEExchangeCalendar
36
+ from .calendars.tase import TASEExchangeCalendar
37
+ from .calendars.tsx import TSXExchangeCalendar
38
+ from .calendars.mirror import *
39
+
40
+
41
+ def get_calendar(name, open_time=None, close_time=None) -> MarketCalendar:
42
+ """
43
+ Retrieves an instance of an MarketCalendar whose name is given.
44
+
45
+ :param name: The name of the MarketCalendar to be retrieved.
46
+ :param open_time: Market open time override as datetime.time object. If None then default is used.
47
+ :param close_time: Market close time override as datetime.time object. If None then default is used.
48
+ :return: MarketCalendar of the desired calendar.
49
+ """
50
+ return MarketCalendar.factory(name, open_time=open_time, close_time=close_time)
51
+
52
+
53
+ def get_calendar_names():
54
+ """All Market Calendar names and aliases that can be used in "factory"
55
+ :return: list(str)
56
+ """
57
+ return MarketCalendar.calendar_names()