选基条件: 1.ETF池中上周期涨幅最少的两支ETF; 2.排除上一交易日收盘价低于20日均线的标的; 3.排除上周五收盘价涨幅大于5%的标的; 4.排除当前价格偏离20日均线超过5%的标的; 5.排除上周五收盘价跌停的标的。如何代码实现
时间: 2023-02-08 11:14:25 浏览: 95
深度研究:2022Q1中国ETF市场盘点回顾.pdf
5星 · 资源好评率100%
可以使用Python进行代码实现。首先,需要使用数据接口获取ETF池中的所有标的的数据,然后进行筛选。可以使用pandas库处理数据并进行筛选。
具体实现方式如下:
```
import pandas as pd
# 假设获取到的ETF数据存储在data变量中
# 1. 选择上周期涨幅最少的两支ETF
last_week_return = data.sort_values(by='last_week_return')[:2]
# 2. 排除上一交易日收盘价低于20日均线的标的
last_trading_day_close_above_ma20 = data[data['last_trading_day_close'] > data['ma20']]
# 3. 排除上周五收盘价涨幅大于5%的标的
last_friday_close_within_5 = data[data['last_friday_close_return'] <= 0.05]
# 4. 排除当前价格偏离20日均线超过5%的标的
current_price_within_5 = data[(data['last_trading_day_close'] / data['ma20'] - 1) <= 0.05]
# 5. 排除上周五收盘价跌停的标的
last_friday_close_not_limit_down = data[data['last_friday_close_return'] > -0.095]
# 将上述筛选条件组合起来
result = last_week_return[last_trading_day_close_above_ma20 & last_friday_close_within_5 & current_price_within_5 & last_friday_close_not_limit_down]
```
这样就可以得到符合所有筛选条件的ETF了。请注意代码中的变量和数据列名可能需要根据具体情况进行调整。
阅读全文