用tushare的trade_cal接口获取股票交易日信息,并根据信息写一个获取某天上一个交易日的接口,返回str类型
时间: 2023-12-03 20:45:15 浏览: 148
基于tushare获取股票数据_写入数据库.ipynb
5星 · 资源好评率100%
以下是获取某天上一个交易日的代码实现:
```python
import tushare as ts
def get_last_trading_day(date):
"""
获取某天上一个交易日的日期字符串
:param date: 查询日期,格式为'yyyy-mm-dd'
:return: 上一个交易日的日期字符串,格式为'yyyy-mm-dd'
"""
# 先获取指定日期是否为交易日的信息
cal = ts.trade_cal()
is_trading_day = cal[(cal.calendarDate == date) & (cal.isOpen == 1)].empty == False
if not is_trading_day:
return None
# 如果指定日期为交易日,则逐步往前推,直到找到上一个交易日为止
prev_date = date
while True:
prev_date = ts.get_previous_trade_date(prev_date)
is_trading_day = cal[(cal.calendarDate == prev_date) & (cal.isOpen == 1)].empty == False
if is_trading_day:
return prev_date
```
这里我们先通过 `ts.trade_cal()` 接口获取股票的交易日历信息,并判断指定日期是否为交易日。如果不是,则直接返回 None。如果是,则逐步往前推,直到找到上一个交易日为止。
使用方式如下:
```python
date = '2021-06-11'
prev_date = get_last_trading_day(date)
print(prev_date) # 输出:2021-06-10
```
阅读全文