(iwencai选股策略)近一个月内有过涨停_、换手率_2%且_9%、至少5根均线重合的股

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 换手率>2%且<9%
  • 近一个月内有过涨停

选股逻辑分析

这个策略基于以下三个条件来筛选股票:

  1. 股票至少有5根均线重合,这表明股票的价格趋势相对稳定,同时也表明该股票的买卖力量相对均衡。
  2. 股票的换手率需要大于2%,这意味着该股票的流动性相对较高,同时也表明该股票的交易活跃度较高。
  3. 股票在近一个月内有过涨停,这表明该股票的市场关注度相对较高,同时也表明该股票的上涨动力相对较强。

有何风险?

这个策略的局限性在于,它只考虑了股票的价格趋势、流动性、市场关注度等因素,而没有考虑其他因素,例如公司的财务状况、行业背景、竞争环境等。因此,这个策略可能会忽略一些重要的风险因素,从而导致投资者在实际操作中出现失误。

如何优化?

为了优化这个策略,我们可以考虑加入一些其他因素,例如公司的财务状况、行业背景、竞争环境等。此外,我们还可以考虑使用不同的技术指标来筛选股票,例如移动平均线、布林线、MACD等。这些技术指标可以帮助我们更好地理解股票的价格趋势、买卖力量、市场关注度等。

最终的选股逻辑

以下是最终的选股逻辑:

  • 股票至少有5根均线重合
  • 换手率>2%且<9%
  • 股票的收盘价在布林线中轨以上
  • 股票的MACD柱状线为正值,且柱状线的长度大于0

python代码参考

以下是一个简单的Python代码示例,用于实现上述的选股策略:

import talib

def get_5_ma_and_bollinger Bands(data):
    # 计算5日移动平均线
    ma5 = talib.MA(data, timeperiod=5)
    # 计算布林线的上下轨
    upper, middle, lower = talib.BBANDS(data, timeperiod=20, nbdevup=2, nbdevdn=2)
    return ma5, upper, middle, lower

def get_stocks_with_strong_volume(data):
    # 获取换手率大于2%且小于9%的股票
    volume_threshold = 2
    turnover_threshold = 9
    stocks = []
    for index, row in data.iterrows():
        volume = row['volume']
        turnover = row['turnover']
        if volume > volume_threshold and turnover < turnover_threshold:
            stocks.append(row['code'])
    return stocks

def get_stocks_with涨停历史(data):
    # 获取近一个月内有过涨停的股票
    stocks = []
    for index, row in data.iterrows():
        date = row['date']
        if date.month - 1 in [x.month for x in data.iloc[:index].index]:
            if row['close'] > row['open'] + 2:
                stocks.append(row['code'])
    return stocks

def get_stocks_with_all_conditions(data):
    # 获取符合条件的股票
    ma5, upper, middle, lower = get_5_ma_and_bollinger Bands(data)
    stocks = get_stocks_with_strong_volume(data)
    stocks = get_stocks_with涨停历史(data)
    return stocks

# 示例数据
data = pd.read_csv('data.csv')

# 通过以上函数筛选符合条件的股票
stocks = get_stocks_with_all_conditions(data)
print(stocks)

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

模板如何使用?

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

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论