从tushare获取任意股票数据,计算出某天已连板次数,间隔一天连板也算
时间: 2023-12-09 18:02:36 浏览: 225
可以使用循环来计算连续涨停板的次数,其中需要加入一个判断,如果两次涨停板之间间隔一天也算连板。以下是一个示例代码,其中假设我们要计算股票代码为"000001"的股票在2021年5月27日这一天的连板次数:
```python
import tushare as ts
# 获取股票数据
df = ts.get_hist_data('000001')
# 获取2021年5月27日的数据
today_data = df.loc['2021-05-27']
# 计算连续涨停板的次数
count = 0
prev = -1
for i in range(len(today_data)):
if today_data.iloc[i]['p_change'] >= 9.9:
if prev != -1 and i - prev <= 2:
count += 1
prev = i
else:
prev = -1
print(count)
```
这个代码会输出股票代码为"000001"在2021年5月27日的连板次数,其中两次涨停板之间间隔一天也会被算作连板。请注意,这个代码使用了一个变量 prev 来记录前一个涨停板的位置,如果当前位置与前一个位置间隔不超过两天,就算作连板。如果需要计算连续跌停板的次数,只需要将 `today_data.iloc[i]['p_change'] >= 9.9` 改为 `today_data.iloc[i]['p_change'] <= -9.9` 即可。这个代码使用了循环,时间复杂度为 $O(n)$,其中 $n$ 表示当天交易的股票数目,因此可以保证高效率。
阅读全文