zoukankan      html  css  js  c++  java
  • 【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

  • 相关阅读:
    SQL server 数据库安装
    jmeter接口测试
    jmeter测试之-脚本制作
    HTTP协议
    计算机原理
    Ubuntu 14.04 搭建 LNMP
    pycharm使用技巧
    hihoCoder #1867 GCD
    Mail.Ru Cup 2018 Round 2 Problem C Lucky Days
    C++ Essentials 之 lower_bound 和 upper_bound 的比较函数格式不同
  • 原文地址:https://www.cnblogs.com/danhuai/p/11730028.html
Copyright © 2011-2022 走看看