金融民工获取交易数据一般用wind、iFind接口,免费的有tushare接口。今天我分享的一小段代码,通过chinese_calendar模块自己生成中国股市交易日的列表。
chinese_calendar模块需要通过pip安装,话不多说,附上代码,请各位指教:
import chinese_calendar
import datetime
def get_tradeday(start_str,end_str):
start = datetime.datetime.strptime(start_str, '%Y-%m-%d') # 将字符串转换为datetime格式
end = datetime.datetime.strptime(end_str, '%Y-%m-%d')
# 获取指定范围内工作日列表
lst = chinese_calendar.get_workdays(start,end)
expt = []
# 找出列表中的周六,周日,并添加到空列表
for time in lst:
if time.isoweekday() == 6 or time.isoweekday() == 7:
expt.append(time)
# 将周六周日排除出交易日列表
for time in expt:
lst.remove(time)
date_list = [item.strftime('%Y-%m-%d') for item in lst] #列表生成式,strftime为转换日期格式
return date_list
if __name__ == '__main__':
lst = get_tradeday('2022-1-1','2022-12-31')
print(lst)