(同花顺量化)100亿市值以内的无亏损企业_、收益>0、至少5根均线重合的股票

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

问财量化选股策略逻辑

该策略基于以下三个条件进行股票筛选:

  1. 股票至少有5根均线重合,这表明股票的价格趋势较为稳定。
  2. 股票的收益要大于0,这表明股票的盈利能力要好。
  3. 股票的市值要在100亿以内,这可以缩小筛选范围,提高筛选效率。

选股逻辑分析

该策略的逻辑较为简单,主要通过均线重合和盈利能力来筛选股票。均线重合可以反映股票的价格趋势,而盈利能力则可以反映企业的经营状况。通过这两个条件的筛选,可以筛选出较为稳定的股票,同时也可以筛选出盈利能力较好的股票。但是需要注意的是,该策略并没有考虑股票的规模因素,因此可能会有一些规模较小的股票被遗漏。

有何风险?

该策略的风险主要在于,股票的价格趋势和盈利能力并不是绝对稳定的,可能会受到市场环境和其他因素的影响。此外,由于该策略没有考虑股票的规模因素,因此可能会有一些规模较小的股票被遗漏。因此,在实际应用中,需要结合其他因素进行综合考虑,以降低风险。

如何优化?

为了优化该策略,可以考虑加入一些其他因素,例如股票的市盈率、市净率等。这些因素可以反映股票的估值水平,从而更好地筛选出具有投资价值的股票。此外,还可以考虑加入一些技术指标,例如MACD、布林线等,以更好地反映股票的价格趋势和波动情况。

最终的选股逻辑

该策略基于以下三个条件进行股票筛选:

  1. 股票至少有5根均线重合,这表明股票的价格趋势较为稳定。
  2. 股票的收益要大于0,这表明股票的盈利能力要好。
  3. 股票的市值要在100亿以内,这可以缩小筛选范围,提高筛选效率。
  4. 股票的市盈率要低于同行业平均市盈率,这可以反映股票的估值水平。
  5. 股票的市净率要高于同行业平均市净率,这可以反映股票的资产质量。

python代码参考

以下是该策略的python代码参考:

import talib

def get_bollinger_bands(close_prices, n):
    upper, middle, lower = talib.BBANDS(close_prices, timeperiod=n)
    return upper, middle, lower

def get_moving_average(close_prices, n):
    return talib.MA(close_prices, timeperiod=n)

def get_top_n_bollinger_bands(upper, middle, lower, n):
    top_n_upper = upper[:n]
    top_n_middle = middle[:n]
    top_n_lower = lower[:n]
    return top_n_upper, top_n_middle, top_n_lower

def get_top_n_moving_average(middle, n):
    top_n_middle = middle[:n]
    return top_n_middle

def get_stable_stock_filter(upper, middle, lower, n):
    top_n_upper, top_n_middle, top_n_lower = get_top_n_bollinger_bands(upper, middle, lower, n)
    stable_stock_filter = (top_n_upper[-1] - top_n_lower[-1]) > (top_n_upper[-2] - top_n_lower[-2])
    return stable_stock_filter

def get_profitable_stock_filter(upper, middle, lower, n):
    top_n_upper, top_n_middle, top_n_lower = get_top_n_bollinger_bands(upper, middle, lower, n)
    profitable_stock_filter = (top_n_upper[-1] - top_n_lower[-1]) > (top_n_upper[-2] - top_n_lower[-2])
    return profitable_stock_filter

def get_size_filter(upper, middle, lower, n):
    top_n_upper, top_n_middle, top_n_lower = get_top_n_bollinger_bands(upper, middle, lower, n)
    size_filter = (top_n_upper[-1] - top_n_lower[-1]) > (top_n_upper[-2] - top_n_lower[-2])
    return size_filter

def get_stable_profitable_size_filter(upper, middle, lower, n):
    top_n_upper, top_n_middle, top_n_lower = get_top_n_bollinger_bands(upper, middle, lower, n)
    stable_profitable_size_filter = (top_n_upper[-1] - top_n_lower[-1]) > (top_n_upper[-2] - top_n_lower[-2])
    return stable_profitable_size_filter

def get_stable_profitable_size_filter_with_moving_average(middle, n):
    top_n_middle = get_top_n_moving_average(middle, n)
    stable_profitable_size_filter = (top_n_middle[-1] - top_n_middle[-1]) > (top_n

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

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

模板如何使用?

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


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

评论