{"id":13625415,"url":"https://github.com/gerrymanoim/exchange_calendars","last_synced_at":"2025-04-16T06:32:42.292Z","repository":{"id":36965456,"uuid":"308674441","full_name":"gerrymanoim/exchange_calendars","owner":"gerrymanoim","description":"Calendars for various securities exchanges.","archived":false,"fork":true,"pushed_at":"2024-09-12T17:43:55.000Z","size":12527,"stargazers_count":422,"open_issues_count":34,"forks_count":132,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-09-13T06:57:31.891Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"quantopian/trading_calendars","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gerrymanoim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-10-30T15:43:44.000Z","updated_at":"2024-09-11T08:39:12.000Z","dependencies_parsed_at":"2023-02-15T10:31:43.981Z","dependency_job_id":null,"html_url":"https://github.com/gerrymanoim/exchange_calendars","commit_stats":{"total_commits":632,"total_committers":89,"mean_commits":7.101123595505618,"dds":0.8306962025316456,"last_synced_commit":"cc336d54963c1ea45ce09a2c55f7ce671587a724"},"previous_names":[],"tags_count":70,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gerrymanoim%2Fexchange_calendars","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gerrymanoim%2Fexchange_calendars/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gerrymanoim%2Fexchange_calendars/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gerrymanoim%2Fexchange_calendars/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gerrymanoim","download_url":"https://codeload.github.com/gerrymanoim/exchange_calendars/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223700424,"owners_count":17188319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T21:01:55.406Z","updated_at":"2024-11-08T14:31:18.404Z","avatar_url":"https://github.com/gerrymanoim.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":["Calendars","日历工具"],"readme":"# exchange_calendars\n\n[![PyPI](https://img.shields.io/pypi/v/exchange-calendars)](https://pypi.org/project/exchange-calendars/) ![Python Support](https://img.shields.io/pypi/pyversions/exchange_calendars) ![PyPI Downloads](https://img.shields.io/pypi/dd/exchange-calendars) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nA Python library for defining and querying calendars for security exchanges.\n\nCalendars for more than [50 exchanges](#Calendars) available out-the-box! If you still can't find the calendar you're looking for, [create a new one](#How-can-I-create-a-new-calendar)!\n\n## Installation\n\n```bash\n$ pip install exchange_calendars\n```\n\n## Quick Start\n\n```python\nimport exchange_calendars as xcals\n```\n\nGet a list of available calendars:\n\n```python\n\u003e\u003e\u003e xcals.get_calendar_names(include_aliases=False)[5:10]\n['CMES', 'IEPA', 'XAMS', 'XASX', 'XBKK']\n```\n\nGet a calendar:\n\n```python\n\u003e\u003e\u003e xnys = xcals.get_calendar(\"XNYS\")  # New York Stock Exchange\n\u003e\u003e\u003e xhkg = xcals.get_calendar(\"XHKG\")  # Hong Kong Stock Exchange\n```\nQuery the schedule:\n\n```python\n\u003e\u003e\u003e xhkg.schedule.loc[\"2021-12-29\":\"2022-01-04\"]\n```\n\u003c!-- base of output from `xhkg.schedule.loc[\"2021-12-29\":\"2022-01-04\"].to_html()` --\u003e\n\u003ctable border=\"1\" class=\"dataframe\" style=\"width: 100%\"\u003e\n        \u003ccolgroup\u003e\n                \u003ccol span=\"1\" style=\"width: 20%;\"\u003e\n                \u003ccol span=\"1\" style=\"width: 20%;\"\u003e\n                \u003ccol span=\"1\" style=\"width: 20%;\"\u003e\n                \u003ccol span=\"1\" style=\"width: 20%;\"\u003e\n                \u003ccol span=\"1\" style=\"width: 20%;\"\u003e\n        \u003c/colgroup\u003e\n        \u003cthead\u003e    \u003ctr style=\"text-align: right; font-size: 13px\"\u003e      \u003cth\u003e\u003c/th\u003e      \u003cth\u003eopen\u003c/th\u003e      \u003cth\u003ebreak_start\u003c/th\u003e      \u003cth\u003ebreak_end\u003c/th\u003e      \u003cth\u003eclose\u003c/th\u003e    \u003c/tr\u003e  \u003c/thead\u003e  \u003ctbody style=\"text-align: right; font-size: 11px\"\u003e    \u003ctr\u003e      \u003cth\u003e2021-12-29\u003c/th\u003e      \u003ctd\u003e2021-12-29 01:30:00+00:00\u003c/td\u003e      \u003ctd\u003e2021-12-29 04:00:00+00:00\u003c/td\u003e      \u003ctd\u003e2021-12-29 05:00:00+00:00\u003c/td\u003e      \u003ctd\u003e2021-12-29 08:00:00+00:00\u003c/td\u003e    \u003c/tr\u003e    \u003ctr\u003e      \u003cth\u003e2021-12-30\u003c/th\u003e      \u003ctd\u003e2021-12-30 01:30:00+00:00\u003c/td\u003e      \u003ctd\u003e2021-12-30 04:00:00+00:00\u003c/td\u003e      \u003ctd\u003e2021-12-30 05:00:00+00:00\u003c/td\u003e      \u003ctd\u003e2021-12-30 08:00:00+00:00\u003c/td\u003e    \u003c/tr\u003e    \u003ctr\u003e      \u003cth\u003e2021-12-31\u003c/th\u003e      \u003ctd\u003e2021-12-31 01:30:00+00:00\u003c/td\u003e      \u003ctd\u003eNaT\u003c/td\u003e      \u003ctd\u003eNaT\u003c/td\u003e      \u003ctd\u003e2021-12-31 04:00:00+00:00\u003c/td\u003e    \u003c/tr\u003e    \u003ctr\u003e      \u003cth\u003e2022-01-03\u003c/th\u003e      \u003ctd\u003e2022-01-03 01:30:00+00:00\u003c/td\u003e      \u003ctd\u003e2022-01-03 04:00:00+00:00\u003c/td\u003e      \u003ctd\u003e2022-01-03 05:00:00+00:00\u003c/td\u003e      \u003ctd\u003e2022-01-03 08:00:00+00:00\u003c/td\u003e    \u003c/tr\u003e    \u003ctr\u003e      \u003cth\u003e2022-01-04\u003c/th\u003e      \u003ctd\u003e2022-01-04 01:30:00+00:00\u003c/td\u003e      \u003ctd\u003e2022-01-04 04:00:00+00:00\u003c/td\u003e      \u003ctd\u003e2022-01-04 05:00:00+00:00\u003c/td\u003e      \u003ctd\u003e2022-01-04 08:00:00+00:00\u003c/td\u003e    \u003c/tr\u003e  \u003c/tbody\u003e\n\u003c/table\u003e\n\n### Working with **sessions**\n```python\n\u003e\u003e\u003e xnys.is_session(\"2022-01-01\")\nFalse\n\n\u003e\u003e\u003e xnys.sessions_in_range(\"2022-01-01\", \"2022-01-11\")\nDatetimeIndex(['2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06',\n               '2022-01-07', '2022-01-10', '2022-01-11'],\n              dtype='datetime64[ns]', freq='C')\n\n\u003e\u003e\u003e xnys.sessions_window(\"2022-01-03\", 7)\nDatetimeIndex(['2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06',\n               '2022-01-07', '2022-01-10', '2022-01-11'],\n              dtype='datetime64[ns]', freq='C')\n\n\u003e\u003e\u003e xnys.date_to_session(\"2022-01-01\", direction=\"next\")\nTimestamp('2022-01-03 00:00:00', freq='C')\n\n\u003e\u003e\u003e xnys.previous_session(\"2022-01-11\")\nTimestamp('2022-01-10 00:00:00', freq='C')\n\n\u003e\u003e\u003e xhkg.trading_index(\n...     \"2021-12-30\", \"2021-12-31\", period=\"90min\", force=True\n... )\nIntervalIndex([[2021-12-30 01:30:00, 2021-12-30 03:00:00), [2021-12-30 03:00:00, 2021-12-30 04:00:00), [2021-12-30 05:00:00, 2021-12-30 06:30:00), [2021-12-30 06:30:00, 2021-12-30 08:00:00), [2021-12-31 01:30:00, 2021-12-31 03:00:00), [2021-12-31 03:00:00, 2021-12-31 04:00:00)], dtype='interval[datetime64[ns, UTC], left]')\n```\nSee the [sessions tutorial](docs/tutorials/sessions.ipynb) for a deeper dive into sessions.\n\n### Working with **minutes**\n```python\n\u003e\u003e\u003e xhkg.session_minutes(\"2022-01-03\")\nDatetimeIndex(['2022-01-03 01:30:00+00:00', '2022-01-03 01:31:00+00:00',\n               '2022-01-03 01:32:00+00:00', '2022-01-03 01:33:00+00:00',\n               '2022-01-03 01:34:00+00:00', '2022-01-03 01:35:00+00:00',\n               '2022-01-03 01:36:00+00:00', '2022-01-03 01:37:00+00:00',\n               '2022-01-03 01:38:00+00:00', '2022-01-03 01:39:00+00:00',\n               ...\n               '2022-01-03 07:50:00+00:00', '2022-01-03 07:51:00+00:00',\n               '2022-01-03 07:52:00+00:00', '2022-01-03 07:53:00+00:00',\n               '2022-01-03 07:54:00+00:00', '2022-01-03 07:55:00+00:00',\n               '2022-01-03 07:56:00+00:00', '2022-01-03 07:57:00+00:00',\n               '2022-01-03 07:58:00+00:00', '2022-01-03 07:59:00+00:00'],\n              dtype='datetime64[ns, UTC]', length=330, freq=None)\n\n\u003e\u003e\u003e mins = [ \"2022-01-03 \" + tm for tm in [\"01:29\", \"01:30\", \"04:20\", \"07:59\", \"08:00\"] ]\n\u003e\u003e\u003e [ xhkg.is_trading_minute(minute) for minute in mins ]\n[False, True, False, True, False]  # by default minutes are closed on the left side\n\n\u003e\u003e\u003e xhkg.is_break_minute(\"2022-01-03 04:20\")\nTrue\n\n\u003e\u003e\u003e xhkg.previous_close(\"2022-01-03 08:10\")\nTimestamp('2022-01-03 08:00:00+0000', tz='UTC')\n\n\u003e\u003e\u003e xhkg.previous_minute(\"2022-01-03 08:10\")\nTimestamp('2022-01-03 07:59:00+0000', tz='UTC')\n```\nCheck out the [minutes tutorial](docs/tutorials/minutes.ipynb) for a deeper dive that includes an explanation of the concept of 'minutes' and how the \"side\" option determines which minutes are treated as trading minutes.\n\n## Tutorials\n* [sessions.ipynb](docs/tutorials/sessions.ipynb) - all things [sessions](#Working-with-sessions).\n* [minutes.ipynb](docs/tutorials/minutes.ipynb) - all things [minutes](#Working-with-minutes). Don't miss this one!\n* [calendar_properties.ipynb](docs/tutorials/calendar_properties.ipynb) - calendar constrution and a walk through the schedule and all other calendar properties.\n* [calendar_methods.ipynb](docs/tutorials/calendar_methods.ipynb) - a walk through all the methods available to interrogate a calendar.\n* [trading_index.ipynb](docs/tutorials/trading_index.ipynb) - a method that warrants a tutorial all of its own.\n\nHopefully you'll find that `exchange_calendars` has the method you need to get the information you want. If it doesn't, either [PR](https://github.com/gerrymanoim/exchange_calendars/pulls) it or [raise an issue](https://github.com/gerrymanoim/exchange_calendars/issues) and let us know!\n\n## Command Line Usage\nPrint a unix-cal like calendar straight from the command line (holidays are indicated by brackets)...\n\n```bash\necal XNYS 2020\n```\n                                            2020\n            January                        February                        March\n    Su  Mo  Tu  We  Th  Fr  Sa     Su  Mo  Tu  We  Th  Fr  Sa     Su  Mo  Tu  We  Th  Fr  Sa\n                [ 1]  2   3 [ 4]                           [ 1]\n    [ 5]  6   7   8   9  10 [11]   [ 2]  3   4   5   6   7 [ 8]   [ 1]  2   3   4   5   6 [ 7]\n    [12] 13  14  15  16  17 [18]   [ 9] 10  11  12  13  14 [15]   [ 8]  9  10  11  12  13 [14]\n    [19][20] 21  22  23  24 [25]   [16][17] 18  19  20  21 [22]   [15] 16  17  18  19  20 [21]\n    [26] 27  28  29  30  31        [23] 24  25  26  27  28 [29]   [22] 23  24  25  26  27 [28]\n                                                                  [29] 30  31\n\n            April                           May                            June\n    Su  Mo  Tu  We  Th  Fr  Sa     Su  Mo  Tu  We  Th  Fr  Sa     Su  Mo  Tu  We  Th  Fr  Sa\n                  1   2   3 [ 4]                         1 [ 2]         1   2   3   4   5 [ 6]\n    [ 5]  6   7   8   9 [10][11]   [ 3]  4   5   6   7   8 [ 9]   [ 7]  8   9  10  11  12 [13]\n    [12] 13  14  15  16  17 [18]   [10] 11  12  13  14  15 [16]   [14] 15  16  17  18  19 [20]\n    [19] 20  21  22  23  24 [25]   [17] 18  19  20  21  22 [23]   [21] 22  23  24  25  26 [27]\n    [26] 27  28  29  30            [24][25] 26  27  28  29 [30]   [28] 29  30\n                                   [31]\n\n                July                          August                       September\n    Su  Mo  Tu  We  Th  Fr  Sa     Su  Mo  Tu  We  Th  Fr  Sa     Su  Mo  Tu  We  Th  Fr  Sa\n                  1   2 [ 3][ 4]                           [ 1]             1   2   3   4 [ 5]\n    [ 5]  6   7   8   9  10 [11]   [ 2]  3   4   5   6   7 [ 8]   [ 6][ 7]  8   9  10  11 [12]\n    [12] 13  14  15  16  17 [18]   [ 9] 10  11  12  13  14 [15]   [13] 14  15  16  17  18 [19]\n    [19] 20  21  22  23  24 [25]   [16] 17  18  19  20  21 [22]   [20] 21  22  23  24  25 [26]\n    [26] 27  28  29  30  31        [23] 24  25  26  27  28 [29]   [27] 28  29  30\n                                   [30] 31\n\n            October                        November                       December\n    Su  Mo  Tu  We  Th  Fr  Sa     Su  Mo  Tu  We  Th  Fr  Sa     Su  Mo  Tu  We  Th  Fr  Sa\n                      1   2 [ 3]                                            1   2   3   4 [ 5]\n    [ 4]  5   6   7   8   9 [10]   [ 1]  2   3   4   5   6 [ 7]   [ 6]  7   8   9  10  11 [12]\n    [11] 12  13  14  15  16 [17]   [ 8]  9  10  11  12  13 [14]   [13] 14  15  16  17  18 [19]\n    [18] 19  20  21  22  23 [24]   [15] 16  17  18  19  20 [21]   [20] 21  22  23  24 [25][26]\n    [25] 26  27  28  29  30 [31]   [22] 23  24  25 [26] 27 [28]   [27] 28  29  30  31\n                                   [29] 30\n\n```bash\necal XNYS 1 2020\n```\n\n            January 2020\n    Su  Mo  Tu  We  Th  Fr  Sa\n                [ 1]  2   3 [ 4]\n    [ 5]  6   7   8   9  10 [11]\n    [12] 13  14  15  16  17 [18]\n    [19][20] 21  22  23  24 [25]\n    [26] 27  28  29  30  31\n\n## Frequently Asked Questions\n\n### **How can I create a new calendar?**\n\nFirst off, make sure the calendar you're after hasn't already been defined; exchange calendars comes with over [50 pre-defined calendars](#Calendars), including major security exchanges.\n\nIf you can't find what you're after, a custom calendar can be created as a subclass of [ExchangeCalendar](exchange_calendars/exchange_calendar.py). [This workflow](.github/pull_request_template.md) describes the process to add a new calendar to `exchange_calendars`. Just follow the relevant parts.\n\nTo access the new calendar via `get_calendar` call either `xcals.register_calendar` or `xcals.register_calendar_type` to register, respectively, a specific calendar instance or a calendar factory (i.e. the subclass).\n\n### **Can I contribute a new calendar to exchange calendars?**\n\nYes please! The workflow can be found [here](.github/pull_request_template.md).\n\n### **`\u003ccalendar\u003e` is missing a holiday, has a wrong time, should have a break etc...**\n\n**All** of the exchange calendars are maintained by user contributions. If a calendar you care about needs revising, please open a [PR](https://github.com/gerrymanoim/exchange_calendars/pulls) - that's how this thing works! (Never contributed to a project before and it all seems a bit daunting? Check [this out](https://github.com/firstcontributions/first-contributions/blob/main/README.md) and don't look back!)\n\nYou'll find the workflow to modify an existing calendar [here](.github/pull_request_template.md).\n\n### **What times are considered open and closed?**\n\n`exchange_calendars` attempts to be broadly useful by considering an exchange to be open only during periods of regular trading. During any pre-trading, post-trading or auction period the exchange is treated as closed. An exchange is also treated as closed during any observed lunch break.\n\nSee the [minutes tutorial](docs/tutorials/minutes.ipynb) for a detailed explanation of which minutes an exchange is considered open over. If you previously used `trading_calendars`, or `exchange_calendars` prior to release 3.4, then this is the place to look for answers to questions of how the definition of trading minutes has changed over time (and is now stable and flexible!).\n\n## Calendars\n\n| Exchange                        | ISO Code | Country        | Version Added | Exchange Website (English)                                   |\n|---------------------------------|----------| -------------- |---------------| ------------------------------------------------------------ |\n| New York Stock Exchange         | XNYS     | USA            | 1.0           | https://www.nyse.com/index                                   |\n| CBOE Futures                    | XCBF     | USA            | 1.0           | https://markets.cboe.com/us/futures/overview/                |\n| Chicago Mercantile Exchange     | CMES     | USA            | 1.0           | https://www.cmegroup.com/                                    |\n| ICE US                          | IEPA     | USA            | 1.0           | https://www.theice.com/index                                 |\n| Toronto Stock Exchange          | XTSE     | Canada         | 1.0           | https://www.tsx.com/                                         |\n| BMF Bovespa                     | BVMF     | Brazil         | 1.0           | http://www.b3.com.br/en_us/                                  |\n| London Stock Exchange           | XLON     | England        | 1.0           | https://www.londonstockexchange.com/                         |\n| Euronext Amsterdam              | XAMS     | Netherlands    | 1.2           | https://www.euronext.com/en/regulation/amsterdam             |\n| Euronext Brussels               | XBRU     | Belgium        | 1.2           | https://www.euronext.com/en/regulation/brussels              |\n| Euronext Lisbon                 | XLIS     | Portugal       | 1.2           | https://www.euronext.com/en/regulation/lisbon                |\n| Euronext Paris                  | XPAR     | France         | 1.2           | https://www.euronext.com/en/regulation/paris                 |\n| Frankfurt Stock Exchange        | XFRA     | Germany        | 1.2           | http://en.boerse-frankfurt.de/                               |\n| SIX Swiss Exchange              | XSWX     | Switzerland    | 1.2           | https://www.six-group.com/en/home.html                       |\n| Tokyo Stock Exchange            | XTKS     | Japan          | 1.2           | https://www.jpx.co.jp/english/                               |\n| Australian Securities Exchange  | XASX     | Australia      | 1.3           | https://www.asx.com.au/                                      |\n| Bolsa de Madrid                 | XMAD     | Spain          | 1.3           | https://www.bolsamadrid.es                                   |\n| Borsa Italiana                  | XMIL     | Italy          | 1.3           | https://www.borsaitaliana.it                                 |\n| New Zealand Exchange            | XNZE     | New Zealand    | 1.3           | https://www.nzx.com/                                         |\n| Wiener Borse                    | XWBO     | Austria        | 1.3           | https://www.wienerborse.at/en/                               |\n| Hong Kong Stock Exchange        | XHKG     | Hong Kong      | 1.3           | https://www.hkex.com.hk/?sc_lang=en                          |\n| Copenhagen Stock Exchange       | XCSE     | Denmark        | 1.4           | http://www.nasdaqomxnordic.com/                              |\n| Helsinki Stock Exchange         | XHEL     | Finland        | 1.4           | http://www.nasdaqomxnordic.com/                              |\n| Stockholm Stock Exchange        | XSTO     | Sweden         | 1.4           | http://www.nasdaqomxnordic.com/                              |\n| Oslo Stock Exchange             | XOSL     | Norway         | 1.4           | https://www.oslobors.no/ob_eng/                              |\n| Irish Stock Exchange            | XDUB     | Ireland        | 1.4           | http://www.ise.ie/                                           |\n| Bombay Stock Exchange           | XBOM     | India          | 1.5           | https://www.bseindia.com                                     |\n| Singapore Exchange              | XSES     | Singapore      | 1.5           | https://www.sgx.com                                          |\n| Shanghai Stock Exchange         | XSHG     | China          | 1.5           | http://english.sse.com.cn                                    |\n| Korea Exchange                  | XKRX     | South Korea    | 1.6           | http://global.krx.co.kr                                      |\n| Iceland Stock Exchange          | XICE     | Iceland        | 1.7           | http://www.nasdaqomxnordic.com/                              |\n| Poland Stock Exchange           | XWAR     | Poland         | 1.9           | http://www.gpw.pl                                            |\n| Santiago Stock Exchange         | XSGO     | Chile          | 1.9           | https://www.bolsadesantiago.com/                             |\n| Colombia Securities Exchange    | XBOG     | Colombia       | 1.9           | https://www.bvc.com.co/nueva/https://www.bvc.com.co/nueva/   |\n| Mexican Stock Exchange          | XMEX     | Mexico         | 1.9           | https://www.bmv.com.mx                                       |\n| Lima Stock Exchange             | XLIM     | Peru           | 1.9           | https://www.bvl.com.pe                                       |\n| Prague Stock Exchange           | XPRA     | Czech Republic | 1.9           | https://www.pse.cz/en/                                       |\n| Budapest Stock Exchange         | XBUD     | Hungary        | 1.10          | https://bse.hu/                                              |\n| Athens Stock Exchange           | ASEX     | Greece         | 1.10          | http://www.helex.gr/                                         |\n| Istanbul Stock Exchange         | XIST     | Turkey         | 1.10          | https://www.borsaistanbul.com/en/                            |\n| Johannesburg Stock Exchange     | XJSE     | South Africa   | 1.10          | https://www.jse.co.za/z                                      |\n| Malaysia Stock Exchange         | XKLS     | Malaysia       | 1.11          | http://www.bursamalaysia.com/market/                         |\n| Moscow Exchange                 | XMOS     | Russia         | 1.11          | https://www.moex.com/en/                                     |\n| Philippine Stock Exchange       | XPHS     | Philippines    | 1.11          | https://www.pse.com.ph/                                      |\n| Stock Exchange of Thailand      | XBKK     | Thailand       | 1.11          | https://www.set.or.th/set/mainpage.do?language=en\u0026country=US |\n| Indonesia Stock Exchange        | XIDX     | Indonesia      | 1.11          | https://www.idx.co.id/                                       |\n| Taiwan Stock Exchange Corp.     | XTAI     | Taiwan         | 1.11          | https://www.twse.com.tw/en/                                  |\n| Buenos Aires Stock Exchange     | XBUE     | Argentina      | 1.11          | https://www.bcba.sba.com.ar/                                 |\n| Pakistan Stock Exchange         | XKAR     | Pakistan       | 1.11          | https://www.psx.com.pk/                                      |\n| Xetra                           | XETR     | Germany        | 2.1           | https://www.xetra.com/                                       |\n| Tel Aviv Stock Exchange         | XTAE     | Israel         | 2.1           | https://www.tase.co.il/                                      |\n| Astana International Exchange   | AIXK     | Kazakhstan     | 3.2           | https://www.aix.kz/                                          |\n| Bucharest Stock Exchange        | XBSE     | Romania        | 3.2           | https://www.bvb.ro/                                          |\n| Saudi Stock Exchange            | XSAU     | Saudi Arabia   | 4.2           | https://www.saudiexchange.sa/                                |\n| European Energy Exchange AG     | XEEE     | Germany        | 4.5.5           | https://www.eex.com                                         |\n| Hamburg Stock Exchange          | XHAM     | Germany        | 4.5.5           | https://www.boerse-hamburg.de                               |\n| Duesseldorf Stock Exchange      | XDUS     | Germany        | 4.5.5           | https://www.boerse-duesseldorf.de                               |\n\n\u003e Note that exchange calendars are defined by their [ISO-10383](https://www.iso20022.org/10383/iso-10383-market-identifier-codes) market identifier code.\n\n## [`market-prices`](https://github.com/maread99/market_prices)\nMuch of the post v3 development of `exchange_calendars` has been driven by the [`market_prices`](https://github.com/maread99/market_prices) library. Check it out if you like the idea of using `exchange_calendars` to create meaningful OHLCV datasets. It works out-the-box with freely available data!\n\n## Deprecations and Renaming\n\n### Methods renamed in version 4.0.3 and removed in 4.3\n| Previous name | New name |\n| ------------- | -------- |\n| bound_start | bound_min |\n| bound_end | bound_max |\n\n### Methods deprecated in 4.0 and removed in 4.3\n| Deprecated method | Reason |\n| ----------------- | ------ |\n| sessions_closes | use `.closes[start:end]` |\n| sessions_opens | use `.opens[start:end]` |\n\n### Methods with a parameter renamed in 4.0\n| Method\n| ------\n| is_session |\n| is_open_on_minute |\n| minutes_in_range |\n| minutes_window |\n| next_close |\n| next_minute |\n| next_open |\n| previous_close |\n| previous_minute |\n| previous_open |\n| session_break_end |\n| session_break_start |\n| session_close |\n| session_open |\n| sessions_in_range |\n| sessions_window |\n\n### Methods renamed in version 3.4 and removed in 4.0\n| Previous name | New name |\n| ------------- | -------- |\n| all_minutes | minutes |\n| all_minutes_nanos | minutes_nanos |\n| all_sessions | sessions |\n| break_start_and_end_for_session | session_break_start_end |\n| date_to_session_label | date_to_session |\n| first_trading_minute | first_minute |\n| first_trading_session | first_session |\n| has_breaks | sessions_has_break |\n| last_trading_minute | last_minute |\n| last_trading_session | last_session |\n| next_session_label | next_session |\n| open_and_close_for_session | session_open_close |\n| previous_session_label | previous_session |\n| market_break_ends_nanos | break_ends_nanos |\n| market_break_starts_nanos | break_starts_nanos |\n| market_closes_nanos | closes_nanos |\n| market_opens_nanos | opens_nanos |\n| minute_index_to_session_labels | minutes_to_sessions |\n| minute_to_session_label | minute_to_session |\n| minutes_count_for_sessions_in_range | sessions_minutes_count |\n| minutes_for_session | session_minutes |\n| minutes_for_sessions_in_range | sessions_minutes |\n| session_closes_in_range | sessions_closes |\n| session_distance | sessions_distance |\n| session_opens_in_range | sessions_opens |\n\n### Other methods deprecated in 3.4 and removed in 4.0\n| Removed Method\n| -----------------\n| execution_minute_for_session\n| execution_minute_for_sessions_in_range\n| execution_time_from_close\n| execution_time_from_open\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgerrymanoim%2Fexchange_calendars","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgerrymanoim%2Fexchange_calendars","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgerrymanoim%2Fexchange_calendars/lists"}