统计A股的历史交易日
#====================第1种方法:用沪深300指数,查询历史交易日
# -*- coding: utf-8 -*-
import os
import time
import datetime
import pandas as pd
import tushare as ts
from sqlalchemy import create_engine
# 初始化pro接口,设置token
pro = ts.pro_api('设置token')
# 创建数据库引擎
engine = create_engine('*****************')
conn = engine.connect()
# 查看沪深300指数过去10年(3650天)的数据
totledays = -3650
df2 = pro.index_daily(ts_code='000300.SH',
start_date = (datetime.date.today()+datetime.timedelta(days=totledays)).strftime("%Y%m%d"),
end_date = datetime.date.today().strftime("%Y%m%d"))
print("\n沪深300指数标准化日期及排序前:\n",df2.head())
df2.sort_values(by='trade_date',axis=0,ascending=True,inplace=True) # 从后面print(df2.head())验证升序成功
df2.reset_index(drop=True,inplace=True) # 重新写序号
print("\n沪深300指数标准化日期及排序后:\n",df2.head())
print(len(df2))
# 从过去的交易日到现在的日期排序 20121130 — 20221130
for i in range(len(df2)):
dt = df2.trade_date[i]
print(dt)
time.sleep(0.1) # 休眠0.1秒
#====================第2种方法:用交易日历,查询历史交易日
# 用交易日历,查询时间段内的交易日
trade_date = pro.trade_cal(exchange='SSE', is_open='1', start_date='20200101', end_date='20221030', fields='cal_date')
print(trade_date.head())
# 从过去的交易日到现在的日期排序 20200101 — 20221030
for i in range(len(trade_date)):
dt2 = trade_date.cal_date[i]
print(dt2)