【python】+tushare庫+判斷指定日期是否是交易日


is_holiday方法:若是交易日 返回false;若不是交易日 返回true

https://www.zhihu.com/question/35835021

 

 1 import tushare
 2 import datetime
 3 
 4 
 5 class AIOldData:
 6     def ai_trading_day(self):
 7         """
 8 功能1:判斷自然日是否是交易日(YES:返回此自然日;NO:從此自然日依次往前推至交易日 並返回)
 9 缺點:要計算10秒左右才出結果
10         :return:
11         """
12         date_str = "{}-{}-{}".format(self[0:4], self[4:6], self[6:8])
13         y, m, d = date_str.split("-")
14         my_date = datetime.date(int(y), int(m), int(d))
15 
16         # 判斷日期是否是交易日
17         while True:
18             if tushare.is_holiday(datetime.date.strftime(my_date, "%Y-%m-%d")):
19                 # 不是交易日 則此日期減一天 再次循環判斷
20                 my_date = my_date + datetime.timedelta(days=-1)
21             else:
22                 # 是交易日
23                 break
24         print("離{}最近的一個歷史交易日為:{}".format(date_str, my_date))
25         return my_date
26 
27 
28 if __name__ == "__main__":
29     ai_old_data = AIOldData
30     ai_old_data.ai_trading_day("20191007")
31     ai_old_data.ai_trading_day("20191008")

 

輸出:

離2019-10-07最近的一個歷史交易日為:2019-09-30
離2019-10-08最近的一個歷史交易日為:2019-10-08


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM