【Python】Python获取当前是否是股市交易日

文章目录

    • 使用API
    • tushare
    • tushare(需要token的版本)

推荐使用第二种方案

使用API

这个不是很稳定,有时候API返回结果会发生变化

找到的三个API,上面也有写.感兴趣的可以试一下
下面使用的是最后一个

url = 'https://api.goseek.cn/Tools/holiday?date=' + query_date

code

import datetime
import requests


def get_day_type(query_date):
    # url = 'http://tool.bitefu.net/jiari/?d=' + query_date
    # 上面的url接口  工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2;
    # url = 'http://www.easybots.cn/api/holiday.php?d=' + query_date  需要实名认证
    url = 'https://api.goseek.cn/Tools/holiday?date=' + query_date
    # 返回数据:正常工作日对应结果为 0, 法定节假日对应结果为 1, 节假日调休补班对应的结果为 2,休息日对应结果为 3 
    # 20190528
    response = requests.get(url=url)
    content = response.text  # str 类型的
    # {"code":10000,"data":0}
    if content['data'] == 0:
        return 0
    elif content['data'] == 1:
        return 1
    elif content['data'] == 2:
        return 2
    elif content['data'] == 3:
        return 3
    # 返回数据:正常工作日对应结果为 0, 法定节假日对应结果为 1, 节假日调休补班对应的结果为 2,休息日对应结果为 3 


def today_is_tradeday():
    query_date = datetime.datetime.strftime(datetime.datetime.today(), '%Y%m%d')
    print(query_date)
    return get_day_type(query_date)


result = today_is_tradeday()

tushare

这个对接的是新浪财经,数据质量很有保障

下面的code,判断了当前日期是否是交易日,获取到了上一个交易日的日期

import tushare as ts
import datetime

alldays = ts.trade_cal()
tradingdays = alldays[alldays['isOpen'] == 1]   # 开盘日
today = datetime.datetime.today().strftime('%Y-%m-%d')
if today in tradingdays['calendarDate'].values:
    tradingdays_list = tradingdays['calendarDate'].tolist()
    today_index  = tradingdays_list.index(today)
    last_day = tradingdays_list[int(today_index)-1]

tushare(需要token的版本)

pd.set_option('display.max_rows', None)
token = 'xxx'	# token需要账号积分2500
ts.set_token(token)
pro = ts.pro_api()

data = pro.query('trade_cal', start_date='20180101', end_date='20181231',is_open='1')
# exchange默认为上交所,start_date和end_date不是必填,is_open不填是全部,is_open可以使用0和1,0为不交易的日期,1为交易日
trade_days = data['cal_date']
# 参考地址:https://tushare.pro/document/2?doc_id=26

你可能感兴趣的:(Python,Python获取交易日)