使用python和tushare,遍历前三年,打印出上涨家数小于1700的日期
时间: 2024-03-23 09:40:48 浏览: 20
好的,我可以帮你解答这个问题。
首先,需要安装tushare库,可以在命令行中输入以下命令进行安装:
```
pip install tushare
```
接下来,你可以使用以下代码来实现你的需求:
```python
import tushare as ts
# 获取前三年的日期列表
date_list = ts.trade_cal().loc[ts.trade_cal().calendarDate.apply(lambda x: int(x[:4])) >= (ts.datetime.datetime.now().year - 3)].calendarDate.tolist()
# 遍历日期列表
for date in date_list:
# 获取当日涨跌幅数据
data = ts.get_today_all(date=date)
# 统计上涨家数
rising_count = len(data[data.changepercent > 0])
# 判断上涨家数是否小于1700
if rising_count < 1700:
print(date)
```
解释一下代码:
- `ts.trade_cal()`:获取交易日历数据,包含日期和是否为交易日等信息。
- `calendarDate.apply(lambda x: int(x[:4])) >= (ts.datetime.datetime.now().year - 3)`:使用 `apply()` 方法对日期进行处理,只保留年份,并判断是否在前三年内。
- `tolist()`:将日期转为列表形式。
- `ts.get_today_all(date=date)`:获取指定日期的所有股票的涨跌幅数据。
- `data[data.changepercent > 0]`:选取涨跌幅大于0的数据。
- `len()`:统计数据数量。
- `if rising_count < 1700:`:判断上涨家数是否小于1700。
希望能够帮助到你!