Files
MoFin/venv/lib/python3.12/site-packages/exchange_calendars/lunisolar_holidays.py
T
知微 fa45d8aa5f fix: 小果地址统一node122(兼容LAN+EasyTier)
- health_checklist.json: 192.168.1.122→node122
- ocr_client.py: docstring IP→node122
- docs/market-data-requirements.md: IP→node122
- 所有API调用通过ProxyHandler({})绕过系统代理
  Privoxy对node122:18003返回500,直连正常
2026-06-30 02:56:35 +08:00

621 lines
13 KiB
Python

"""Lunisolar calendar calculations.
See exchange_calendars/etc/lunisolar for code to calculate
"""
import pandas as pd
# Precomputed Chinese Lunar Year dates.
# Also called Spring Festival
#
# See Also
# --------
# exchange_calendars/etc/lunisolar chinese-new-year
chinese_lunar_new_year_dates = pd.DatetimeIndex(
[
"1960-01-28",
"1961-02-15",
"1962-02-05",
"1963-01-25",
"1964-02-13",
"1965-02-02",
"1966-01-21",
"1967-02-09",
"1968-01-30",
"1969-02-17",
"1970-02-06",
"1971-01-27",
"1972-02-15",
"1973-02-03",
"1974-01-23",
"1975-02-11",
"1976-01-31",
"1977-02-18",
"1978-02-07",
"1979-01-28",
"1980-02-16",
"1981-02-05",
"1982-01-25",
"1983-02-13",
"1984-02-02",
"1985-02-20",
"1986-02-09",
"1987-01-29",
"1988-02-17",
"1989-02-06",
"1990-01-27",
"1991-02-15",
"1992-02-04",
"1993-01-23",
"1994-02-10",
"1995-01-31",
"1996-02-19",
"1997-02-07",
"1998-01-28",
"1999-02-16",
"2000-02-05",
"2001-01-24",
"2002-02-12",
"2003-02-01",
"2004-01-22",
"2005-02-09",
"2006-01-29",
"2007-02-18",
"2008-02-07",
"2009-01-26",
"2010-02-14",
"2011-02-03",
"2012-01-23",
"2013-02-10",
"2014-01-31",
"2015-02-19",
"2016-02-08",
"2017-01-28",
"2018-02-16",
"2019-02-05",
"2020-01-25",
"2021-02-12",
"2022-02-01",
"2023-01-22",
"2024-02-10",
"2025-01-29",
"2026-02-17",
"2027-02-06",
"2028-01-26",
"2029-02-13",
"2030-02-03",
"2031-01-23",
"2032-02-11",
"2033-01-31",
"2034-02-19",
"2035-02-08",
"2036-01-28",
"2037-02-15",
"2038-02-04",
"2039-01-24",
"2040-02-12",
"2041-02-01",
"2042-01-22",
"2043-02-10",
"2044-01-30",
"2045-02-17",
"2046-02-06",
"2047-01-26",
"2048-02-14",
"2049-02-02",
]
)
# Precomputed Qingming Festival dates.
# Also called Tomb-sweeping Day
#
# See Also
# --------
# exchange_calendars/etc/lunisolar qingming-festival
qingming_festival_dates = pd.DatetimeIndex(
[
"1960-04-05",
"1961-04-05",
"1962-04-05",
"1963-04-05",
"1964-04-05",
"1965-04-05",
"1966-04-05",
"1967-04-05",
"1968-04-05",
"1969-04-05",
"1970-04-05",
"1971-04-05",
"1972-04-05",
"1973-04-05",
"1974-04-05",
"1975-04-05",
"1976-04-04",
"1977-04-05",
"1978-04-05",
"1979-04-05",
"1980-04-04",
"1981-04-05",
"1982-04-05",
"1983-04-05",
"1984-04-04",
"1985-04-05",
"1986-04-05",
"1987-04-05",
"1988-04-04",
"1989-04-05",
"1990-04-05",
"1991-04-05",
"1992-04-04",
"1993-04-05",
"1994-04-05",
"1995-04-05",
"1996-04-04",
"1997-04-05",
"1998-04-05",
"1999-04-05",
"2000-04-04",
"2001-04-05",
"2002-04-05",
"2003-04-05",
"2004-04-04",
"2005-04-05",
"2006-04-05",
"2007-04-05",
"2008-04-04",
"2009-04-04",
"2010-04-05",
"2011-04-05",
"2012-04-04",
"2013-04-04",
"2014-04-05",
"2015-04-05",
"2016-04-04",
"2017-04-04",
"2018-04-05",
"2019-04-05",
"2020-04-04",
"2021-04-04",
"2022-04-05",
"2023-04-05",
"2024-04-04",
"2025-04-04",
"2026-04-05",
"2027-04-05",
"2028-04-04",
"2029-04-04",
"2030-04-05",
"2031-04-05",
"2032-04-04",
"2033-04-04",
"2034-04-05",
"2035-04-05",
"2036-04-04",
"2037-04-04",
"2038-04-05",
"2039-04-05",
"2040-04-04",
"2041-04-04",
"2042-04-04",
"2043-04-05",
"2044-04-04",
"2045-04-04",
"2046-04-04",
"2047-04-05",
"2048-04-04",
"2049-04-04",
]
)
# Precomputed Buddha's Birthday dates on the Chinese Lunisolar Calendar.
# Also called Buddha Shakyamuni day
#
# See Also
# --------
# exchange_calendars/etc/lunisolar china-buddhas-birthday
#
# Notes
# -----
# The holiday "Buddha's Birthday" is celebrated in many countries, though
# different calendars are used. This function is for Buddha's Birthday on
# the Chinese Lunisolar Calendar, where it is the 8th day of the 4th month.
chinese_buddhas_birthday_dates = pd.DatetimeIndex(
[
"1959-05-15",
"1960-05-03",
"1961-05-22",
"1962-05-11",
"1963-05-01",
"1964-05-19",
"1965-05-08",
"1966-05-27",
"1967-05-16",
"1968-05-04",
"1969-05-23",
"1970-05-12",
"1971-05-02",
"1972-05-20",
"1973-05-10",
"1974-04-29",
"1975-05-18",
"1976-05-06",
"1977-05-25",
"1978-05-14",
"1979-05-03",
"1980-05-21",
"1981-05-11",
"1982-05-01",
"1983-05-20",
"1984-05-08",
"1985-05-27",
"1986-05-16",
"1987-05-05",
"1988-05-23",
"1989-05-12",
"1990-05-02",
"1991-05-21",
"1992-05-10",
"1993-05-28",
"1994-05-18",
"1995-05-07",
"1996-05-24",
"1997-05-14",
"1998-05-03",
"1999-05-22",
"2000-05-11",
"2001-04-30",
"2002-05-19",
"2003-05-08",
"2004-05-26",
"2005-05-15",
"2006-05-05",
"2007-05-24",
"2008-05-12",
"2009-05-02",
"2010-05-21",
"2011-05-10",
"2012-04-28",
"2013-05-17",
"2014-05-06",
"2015-05-25",
"2016-05-14",
"2017-05-03",
"2018-05-22",
"2019-05-12",
"2020-04-30",
"2021-05-19",
"2022-05-08",
"2023-05-26",
"2024-05-15",
"2025-05-05",
"2026-05-24",
"2027-05-13",
"2028-05-02",
"2029-05-20",
"2030-05-09",
"2031-05-28",
"2032-05-16",
"2033-05-06",
"2034-04-26",
"2035-05-15",
"2036-05-03",
"2037-05-22",
"2038-05-11",
"2039-04-30",
"2040-05-18",
"2041-05-07",
"2042-05-26",
"2043-05-16",
"2044-05-05",
"2045-05-24",
"2046-05-13",
"2047-05-02",
"2048-05-20",
"2049-05-09",
]
)
# Precomputed Dragon Boat (Tuen Ng Festival) dates.
# Also called "Duanwu"
#
# See Also
# --------
# exchange_calendars/etc/lunisolar dragon-boat-festival
dragon_boat_festival_dates = pd.DatetimeIndex(
[
"1960-05-29",
"1961-06-17",
"1962-06-06",
"1963-06-25",
"1964-06-14",
"1965-06-04",
"1966-06-23",
"1967-06-12",
"1968-05-31",
"1969-06-19",
"1970-06-08",
"1971-05-28",
"1972-06-15",
"1973-06-05",
"1974-06-24",
"1975-06-14",
"1976-06-02",
"1977-06-21",
"1978-06-10",
"1979-05-30",
"1980-06-17",
"1981-06-06",
"1982-06-25",
"1983-06-15",
"1984-06-04",
"1985-06-22",
"1986-06-11",
"1987-06-01",
"1988-06-18",
"1989-06-08",
"1990-05-28",
"1991-06-16",
"1992-06-05",
"1993-06-24",
"1994-06-13",
"1995-06-02",
"1996-06-20",
"1997-06-09",
"1998-05-30",
"1999-06-18",
"2000-06-06",
"2001-06-25",
"2002-06-15",
"2003-06-04",
"2004-06-22",
"2005-06-11",
"2006-05-31",
"2007-06-19",
"2008-06-08",
"2009-05-28",
"2010-06-16",
"2011-06-06",
"2012-06-23",
"2013-06-12",
"2014-06-02",
"2015-06-20",
"2016-06-09",
"2017-05-30",
"2018-06-18",
"2019-06-07",
"2020-06-25",
"2021-06-14",
"2022-06-03",
"2023-06-22",
"2024-06-10",
"2025-05-31",
"2026-06-19",
"2027-06-09",
"2028-05-28",
"2029-06-16",
"2030-06-05",
"2031-06-24",
"2032-06-12",
"2033-06-01",
"2034-05-22",
"2035-06-10",
"2036-05-30",
"2037-06-18",
"2038-06-07",
"2039-05-27",
"2040-06-14",
"2041-06-03",
"2042-06-22",
"2043-06-11",
"2044-05-31",
"2045-06-19",
"2046-06-08",
"2047-05-29",
"2048-06-15",
"2049-06-04",
]
)
# Precomputed Day after the Mid-Autumn Festival
# Also called "Zhongqiu"
#
# See Also
# --------
# exchange_calendars/etc/lunisolar mid-autumn-festival
mid_autumn_festival_dates = pd.DatetimeIndex(
[
"1960-10-05",
"1961-09-24",
"1962-09-13",
"1963-10-02",
"1964-09-20",
"1965-09-10",
"1966-09-29",
"1967-09-18",
"1968-10-06",
"1969-09-26",
"1970-09-15",
"1971-10-03",
"1972-09-22",
"1973-09-11",
"1974-09-30",
"1975-09-20",
"1976-09-08",
"1977-09-27",
"1978-09-17",
"1979-10-05",
"1980-09-23",
"1981-09-12",
"1982-10-01",
"1983-09-21",
"1984-09-10",
"1985-09-29",
"1986-09-18",
"1987-10-07",
"1988-09-25",
"1989-09-14",
"1990-10-03",
"1991-09-22",
"1992-09-11",
"1993-09-30",
"1994-09-20",
"1995-09-09",
"1996-09-27",
"1997-09-16",
"1998-10-05",
"1999-09-24",
"2000-09-12",
"2001-10-01",
"2002-09-21",
"2003-09-11",
"2004-09-28",
"2005-09-18",
"2006-10-06",
"2007-09-25",
"2008-09-14",
"2009-10-03",
"2010-09-22",
"2011-09-12",
"2012-09-30",
"2013-09-19",
"2014-09-08",
"2015-09-27",
"2016-09-15",
"2017-10-04",
"2018-09-24",
"2019-09-13",
"2020-10-01",
"2021-09-21",
"2022-09-10",
"2023-09-29",
"2024-09-17",
"2025-10-06",
"2026-09-25",
"2027-09-15",
"2028-10-03",
"2029-09-22",
"2030-09-12",
"2031-10-01",
"2032-09-19",
"2033-09-08",
"2034-08-28",
"2035-09-16",
"2036-10-04",
"2037-09-24",
"2038-09-13",
"2039-10-02",
"2040-09-20",
"2041-09-10",
"2042-09-28",
"2043-09-17",
"2044-10-05",
"2045-09-25",
"2046-09-15",
"2047-10-04",
"2048-09-22",
"2049-09-11",
]
)
# Precomputed Double Ninth Festival (Chung Yeung Festival) dates.
#
# See Also
# --------
# exchange_calendars/etc/lunisolar double-ninth-festival
double_ninth_festival_dates = pd.DatetimeIndex(
[
"1959-10-10",
"1960-10-28",
"1961-10-18",
"1962-10-07",
"1963-10-25",
"1964-10-14",
"1965-10-03",
"1966-10-22",
"1967-10-12",
"1968-10-30",
"1969-10-19",
"1970-10-08",
"1971-10-27",
"1972-10-15",
"1973-10-04",
"1974-10-23",
"1975-10-13",
"1976-10-31",
"1977-10-21",
"1978-10-10",
"1979-10-29",
"1980-10-17",
"1981-10-06",
"1982-10-25",
"1983-10-14",
"1984-10-03",
"1985-10-22",
"1986-10-12",
"1987-10-31",
"1988-10-19",
"1989-10-08",
"1990-10-26",
"1991-10-16",
"1992-10-04",
"1993-10-23",
"1994-10-13",
"1995-11-01",
"1996-10-20",
"1997-10-10",
"1998-10-28",
"1999-10-17",
"2000-10-06",
"2001-10-25",
"2002-10-14",
"2003-10-04",
"2004-10-22",
"2005-10-11",
"2006-10-30",
"2007-10-19",
"2008-10-07",
"2009-10-26",
"2010-10-16",
"2011-10-05",
"2012-10-23",
"2013-10-13",
"2014-10-02",
"2015-10-21",
"2016-10-09",
"2017-10-28",
"2018-10-17",
"2019-10-07",
"2020-10-25",
"2021-10-14",
"2022-10-04",
"2023-10-23",
"2024-10-11",
"2025-10-29",
"2026-10-18",
"2027-10-08",
"2028-10-26",
"2029-10-16",
"2030-10-05",
"2031-10-24",
"2032-10-12",
"2033-10-01",
"2034-09-21",
"2035-10-09",
"2036-10-27",
"2037-10-17",
"2038-10-07",
"2039-10-26",
"2040-10-14",
"2041-10-03",
"2042-10-22",
"2043-10-11",
"2044-10-29",
"2045-10-18",
"2046-10-08",
"2047-10-27",
"2048-10-16",
"2049-10-05",
]
)