(iwencai选股策略)今日控盘>21_、换手率_2%且_9%、至少5根均线重合的股票

用户头像神盾局量子研究部
2023-09-01 发布

问财量化选股策略逻辑

首先,我们定义了以下三个条件作为我们的筛选标准:

  1. 至少5根均线重合的股票
  2. 换手率>2%且<9%
  3. 今日控盘>21

选股逻辑分析

这些条件的目的是筛选出那些有较强趋势和低成交量的股票。首先,至少5根均线重合的股票意味着该股票的走势较为稳定,且有较强的上涨动力。其次,换手率>2%且<9%的条件意味着该股票的成交量适中,避免了过度交易和高成交量带来的风险。最后,今日控盘>21的条件意味着该股票的主力资金较为集中,有较强的控盘能力。

有何风险?

尽管这些条件可以筛选出一些有潜力的股票,但仍然存在一定的风险。首先,均线重合的股票可能会出现假突破,导致投资者追涨杀跌,从而造成损失。其次,换手率适中的股票可能会被主力资金操纵,导致价格波动较大。最后,控盘能力较强的股票可能会出现庄家拉高出货的情况,从而给投资者带来损失。

如何优化?

为了降低这些风险,我们可以对这些条件进行优化。首先,我们可以增加均线的数量,以更好地判断股票的趋势。其次,我们可以加入成交量和换手率的指标,以更好地判断股票的活跃度和风险程度。最后,我们可以加入技术分析指标,如MACD和KDJ等,以更好地判断股票的走势和趋势。

最终的选股逻辑

最终的选股逻辑如下:

  1. 筛选出所有日线图中至少5根均线重合的股票
  2. 筛选出所有日线图中换手率>2%且<9%的股票
  3. 筛选出所有日线图中今日控盘>21的股票
  4. 对筛选出的股票进行技术分析,加入MACD和KDJ等指标,判断股票的走势和趋势
  5. 将符合以上条件的股票按照技术分析指标的指示进行排序,选择排名靠前的股票作为最终的买入目标。

python代码参考

以下是一个简单的python代码参考,用于实现上述的选股逻辑:

import talib

def get_stock_data(symbol):
    # 获取股票的历史数据
    data = yf.download(symbol, start='2020-01-01', end='2021-12-31')
    # 计算均线
    ma5 = talib.MA(data['close'], timeperiod=5)
    ma10 = talib.MA(data['close'], timeperiod=10)
    ma20 = talib.MA(data['close'], timeperiod=20)
    ma50 = talib.MA(data['close'], timeperiod=50)
    ma200 = talib.MA(data['close'], timeperiod=200)
    # 计算换手率
    data['volume'] = data['volume']
    data['turnover'] = data['volume'] / data['close'] * 100
    data['turnover_rate'] = data['turnover'] / data['close'] * 100
    # 计算今日控盘
    data['close_weight'] = data['close'] / data['close'].rolling(window=1).sum()
    data['close_weight'] = data['close_weight'].cumsum()
    data['close_weight'] = data['close_weight'] / data['close_weight'].max()
    data['control'] = data['close_weight'] > 21
    # 返回数据
    return data

def get_top_stock():
    # 获取所有股票的代码
    symbols = yf.ticker.list()
    # 获取所有股票的历史数据
    data = []
    for symbol in symbols:
        data.append(get_stock_data(symbol))
    # 将数据按时间顺序排序
    data = pd.concat(data, axis=1)
    data = data.sort_values(by='date')
    # 获取符合筛选条件的股票
    filtered_data = data[(data['ma5'] > data['ma10']) & (data['ma10'] > data['ma20']) & (data['ma20'] > data['ma50']) & (data['ma50'] > data['ma200']) & (data['turnover_rate'] > 2) & (data['control'])]
    # 获取符合筛选条件的股票的排名
    filtered_data = filtered_data.sort_values(by='turnover_rate', ascending=False)
    # 获取前5名的股票
    top_stocks = filtered_data.iloc[:5]
    # 返回前5名的股票
    return

## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

select_sentence = '市值小于100亿' #选股语句。

模板如何使用?

点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


## 如果有任何问题请添加 下方的二维码进群提问。
![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论