【Python实战】chinesecalendar模块处理中国股市交易日期
销售渠道有哪些
【Python实战】chinesecalendar模块处理中国股市交易⽇期我们知道中国上海证券交易所和深圳证券交易所⽇常交易⽇期为星期⼀到星期五,并且法定节假⽇不交易。
我们可以通过chinesecalendar模块判断某⼀天是否为⼯作⽇(中国法定⼯作⽇,调休的时候有可能周末也是⼯作⽇),通过datetime模块判断某⼀天是否为周末。
实际案例:判断离当天间隔N天是否为股票交易⽇,N可以为负数,正数时为当前⽇期N天前,负数时为当前⽇期N天后。
chinesecalendar模块
pip install chinesecalendar
有两个函数is_workday(date)-是否为⼯作⽇、is_holiday(date)-是否为节假⽇
内置datetime.date模块
有⼀个函数weekday()-某⼀天星期⼏  规则:星期⼀为0、星期天为6
银行行号查询⽐如2020-10-10⽇,为星期六,因为放假调休该⽇尽管是周末,但是⼯作⽇
⽐如2020-10-08⽇,为星期四,因为放假调休该⽇不是周末,但不是⼯作⽇
完整代码段
# -*- coding: utf-8 -*-
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者:cacho_37967865
#博客:blog.csdn/sinat_37967865
#⽂件:chinese_workday.py
#⽇期:2020-10-16
#备注:中国节假⽇  pip install chinesecalendar  /project/chinesecalendar/ '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
from chinese_calendar import is_workday, is_holiday
谷歌账号注册from datetime import date
from datetime import timedelta
def is_work_day():
april_last = date(2020, 10, 10)  # datetime.date
print(is_workday(april_last))    # True
print(is_holiday(april_last))    # False
print(april_last.weekday())      # 5-星期六
# 当前⽇期N天前的证券交易⽇
def get_trade_day(n):
dt = day()
trade_day = '20201016'
if n < 0:
t = -n
else:
t = n
for i in range(100):
if n<0:
delta_day = timedelta(days=-i)
else:
delta_day = timedelta(days=i)
trade_day = dt-delta_day
if is_workday(trade_day) and trade_day.weekday()<5:      # ⼯作⽇并且不是周末            if t ==0:
break
暗黑攻略t = t -1
print(trade_day.strftime('%Y%m%d'))
return trade_day.strftime('%Y%m%d')
if __name__ == '__main__':
高德顺风车#is_work_day()
中国汉代历史get_trade_day(-2)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。