使用python,每个交易日的两点半遍历所有主板和创业板的股票,选出4连阳的作为股票池并打印出来
时间: 2024-02-25 21:58:19 浏览: 55
用Python实现股票数据分析
好的,这是一个比较复杂的问题,需要用到股票数据的获取和处理,以下是一个基本的实现思路:
1. 使用 tushare 等第三方库获取所有主板和创业板的股票代码列表。
2. 获取当前日期并将其转换为交易日(如果当前时间是交易日的话可以直接使用,否则需要使用第三方库获取最近的一个交易日)。
3. 对于每一个股票,获取过去四个交易日的 K 线数据并判断是否为 4 连阳,如果是则将其加入到股票池中。
4. 打印出股票池中的所有股票代码。
以下是代码实现:
```python
import tushare as ts
import datetime
# 获取所有主板和创业板的股票代码列表
pro = ts.pro_api()
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,name,area,industry,list_date')
data = data[(data['ts_code'].str.startswith('6')) | (data['ts_code'].str.startswith('3'))]
# 获取当前日期并将其转换为交易日
today = datetime.datetime.today().strftime('%Y%m%d')
cal = pro.trade_cal(exchange='', start_date=today, end_date=today)
if cal.iloc[0]['is_open'] == 0:
today = pro.trade_cal(exchange='', start_date=None, end_date=today).iloc[-2]['cal_date']
# 遍历所有股票
stock_pool = []
for ts_code in data['ts_code']:
# 获取过去四个交易日的 K 线数据
k_data = pro.daily(ts_code=ts_code, start_date=int(today)-12, end_date=today)
if k_data is not None and len(k_data) == 4:
# 判断是否为 4 连阳
if all(k_data.iloc[i]['close'] > k_data.iloc[i]['open'] for i in range(4)):
stock_pool.append(ts_code)
# 打印出股票池中的所有股票代码
print(stock_pool)
```
以上代码仅为示例,实际应用中还需要进行异常处理等操作。同时,该实现方式也有一些局限性,例如只能获取 A 股市场的股票数据,且计算方法也比较简单,更复杂的策略需要更严谨的实现。
阅读全文