用Python写一段代码,使用tushare库及pandas,首先设置tushare token,获取今天的日期,获取当日所有沪市、深市、创业板、科创板股票数据,筛选出这成交额前100的股票,计算股票五日均线,从之前筛选的股票中选出今天收盘价位于五日线上方且成交量小于前三天的股票,保存结果到文件
时间: 2024-03-14 12:45:57 浏览: 155
好的,以下是您需要的代码:
```python
import tushare as ts
import pandas as pd
# 设置tushare token
ts.set_token('YOUR_TOKEN_HERE')
# 获取今天的日期
today = pd.Timestamp.today().strftime('%Y-%m-%d')
# 获取当日所有沪市、深市、创业板、科创板股票数据
pro = ts.pro_api()
data = pro.daily(trade_date=today, fields='ts_code,trade_date,close,vol')
# 筛选成交额前100的股票
data['amount'] = data['close'] * data['vol'] # 计算成交额
top100 = data.nlargest(100, 'amount')
# 计算股票五日均线
top100['ma5'] = top100.groupby('ts_code')['close'].transform(lambda x: x.rolling(5).mean())
# 选出今天收盘价位于五日线上方且成交量小于前三天的股票
selected = top100[(top100['close'] > top100['ma5']) & (top100['vol'] < top100.groupby('ts_code')['vol'].shift(1).rolling(3).mean())]
# 保存结果到文件
selected.to_csv('result.csv', index=False)
```
说明:
1. 请将代码中的YOUR_TOKEN_HERE替换为您自己的tushare token。
2. 上述代码中选出的是成交额前100的股票,而不是当日成交额前100的股票。如果需要选出当日成交额前100的股票,可以在获取当日所有股票数据时加上'money'字段,并以'money'字段排序后选取前100个股票。
3. 选股策略中的五日均线和成交量小于前三天需要根据您的实际需求进行调整。
阅读全文