用trade_cal获取交易日数据,写一个判断两个日期之间交易日的数量的接口,接口要判断输入参数,并转化为合适的格式
时间: 2024-01-22 19:20:42 浏览: 69
交易接口处理
以下是一个Python代码示例,其中使用了tushare的trade_cal函数获取交易日历数据,并定义了一个函数来计算两个日期之间的交易日数量。
```python
import pandas as pd
import tushare as ts
# 获取交易日历数据
cal_data = ts.trade_cal()
# 将交易日历数据转换为日期格式
cal_data['calendarDate'] = pd.to_datetime(cal_data['calendarDate'])
def trading_days_between(start_date, end_date):
"""
计算两个日期之间的交易日数量
:param start_date: 开始日期,格式为'YYYY-MM-DD'或datetime类型
:param end_date: 结束日期,格式为'YYYY-MM-DD'或datetime类型
:return: 交易日数量
"""
# 将输入的日期转换为datetime类型
if isinstance(start_date, str):
start_date = pd.to_datetime(start_date)
if isinstance(end_date, str):
end_date = pd.to_datetime(end_date)
# 如果开始日期在结束日期之后,则交换它们
if start_date > end_date:
start_date, end_date = end_date, start_date
# 获取开始日期之后的所有交易日
trading_days = cal_data[cal_data['isOpen'] == 1]['calendarDate']
trading_days = trading_days[trading_days >= start_date]
# 获取开始日期和结束日期之间的所有交易日
trading_days = trading_days[trading_days <= end_date]
return len(trading_days)
```
使用示例:
```python
# 计算2021年5月1日到2021年5月31日之间的交易日数量
print(trading_days_between('2021-05-01', '2021-05-31')) # 输出21
# 计算2021年5月31日到2021年5月1日之间的交易日数量
print(trading_days_between('2021-05-31', '2021-05-01')) # 输出21
```
阅读全文