(同花顺量化)100亿市值以内的无亏损企业_、换手率_2%且_9%、至少5根均线重合的股票

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

问财量化选股策略逻辑

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

  1. 五根均线重合:使用五日、十日、二十日、三十日和六十日均线,将它们的收盘价相加并除以5,得到平均收盘价。如果五条均线在某一天收盘价相等,则认为这五条均线重合。

  2. 换手率>2%且<9%:选择换手率大于2%且小于9%的股票。换手率表示股票的活跃程度,通常来说,高换手率的股票表示市场关注度较高,但过高的换手率也可能意味着市场风险较大。

  3. 100亿市值以内的无亏损企业:选择市值小于100亿的股票。市值较小的股票通常具有更高的成长潜力,但市值过小也可能意味着市场关注度较低。

选股逻辑分析

该策略通过结合五根均线的平均收盘价和换手率的条件,筛选出市场关注度较高且具有较高成长潜力的股票。同时,选择市值小于100亿的股票,可以避免市值过小带来的市场风险。

然而,该策略可能面临以下风险:

  1. 市场风险:由于该策略选择的是市场关注度较高且具有较高成长潜力的股票,因此在市场整体表现不佳时,这些股票的表现可能不如预期。

  2. 短期波动风险:由于该策略选择的是五根均线的平均收盘价,因此可能会受到短期市场波动的影响,导致筛选出的股票表现不佳。

如何优化?

为了优化该策略,可以考虑以下方法:

  1. 选择更多的均线:除了五根均线外,可以选择更多的均线进行筛选,例如十日、二十日、三十日、五十日和一百日均线等,以更好地反映市场趋势。

  2. 考虑其他指标:除了换手率和市值外,还可以考虑其他指标,例如市盈率、市净率等,以更好地评估股票的价值和风险。

最终的选股逻辑

根据以上分析,最终的选股逻辑如下:

  1. 选择五根均线的平均收盘价相等的股票。

  2. 选择换手率大于2%且小于9%的股票。

  3. 选择市值小于100亿的股票。

  4. 对于符合以上条件的股票,按照市值从小到大排序。

  5. 选择市值最小的前N只股票作为最终的股票池。

python代码参考

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

import talib

def get_rolling_average(prices, n):
    """
    获取 n 日的滚动平均值
    """
    if n <= 0:
        return prices
    else:
        return talib.MA(prices, n)

def get_top_n_rolling_average(prices, n, max_value):
    """
    获取市值小于 max_value 的前 n 天的滚动平均值
    """
    if n <= 0:
        return None
    else:
        rolling_average = get_rolling_average(prices, n)
        return rolling_average[rolling_average <= max_value]

def get_top_n_stocks(prices, n, max_value):
    """
    获取市值小于 max_value 的前 n 天的股票
    """
    stocks = []
    for i in range(len(prices)):
        rolling_average = get_rolling_average(prices[i:], n)
        if rolling_average is not None and rolling_average[-1] <= max_value:
            stocks.append(i)
    return stocks

# 示例数据
prices = [10, 12, 11, 13, 14, 15, 16, 17, 18, 19, 20]

# 选择五根均线的平均收盘价相等的股票
rolling_average_5 = get_rolling_average(prices, 5)
rolling_average_10 = get_rolling_average(prices, 10)
rolling_average_20 = get_rolling_average(prices, 20)
rolling_average_30 = get_rolling_average(prices, 30)
rolling_average_60 = get_rolling_average(prices, 60)

# 选择换手率大于2%且小于9%的股票
rolling_average换手率 = get_rolling_average(prices, 20)
rolling_average换手率 = rolling_average换手率[rolling_average换手率 > 2]
rolling_average换手率 = rolling_average换手率[rolling_average换手率 < 9]

# 选择市值小于100亿的股票
rolling_average市值 = get_rolling_average(prices, 20)
rolling_average市值 = rolling_average市值[rolling_average市值 <

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

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

模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧