當前位置:
首頁 >
【Python实战】chinesecalendar模块处理中国股市交易日期
發布時間:2025/3/15
16
豆豆
生活随笔
收集整理的這篇文章主要介紹了
【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 #博客:https://blog.csdn.net/sinat_37967865 #文件:chinese_workday.py #日期:2020-10-16 #備注:中國節假日 pip install chinesecalendar https://pypi.org/project/chinesecalendar/ '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''from chinese_calendar import is_workday, is_holiday from datetime import date from datetime import timedeltadef is_work_day():april_last = date(2020, 10, 10) # datetime.dateprint(is_workday(april_last)) # Trueprint(is_holiday(april_last)) # Falseprint(april_last.weekday()) # 5-星期六# 當前日期N天前的證券交易日 def get_trade_day(n):dt = date.today()trade_day = '20201016'if n < 0:t = -nelse:t = nfor i in range(100):if n<0:delta_day = timedelta(days=-i)else:delta_day = timedelta(days=i)trade_day = dt-delta_dayif is_workday(trade_day) and trade_day.weekday()<5: # 工作日并且不是周末if t ==0:breakt = t -1print(trade_day.strftime('%Y%m%d'))return trade_day.strftime('%Y%m%d')if __name__ == '__main__':#is_work_day()get_trade_day(-2)?
?
總結
以上是生活随笔為你收集整理的【Python实战】chinesecalendar模块处理中国股市交易日期的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两个html之间传递对象,解决微信警告:
- 下一篇: python 对json数据读取及保存与