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

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 60开头的股票
  • 100亿市值以内的无亏损企业

选股逻辑分析

  • 第一条均线是5日均线,表示最近5天的平均价格。
  • 第二条均线是10日均线,表示最近10天的平均价格。
  • 第三条均线是20日均线,表示最近20天的平均价格。
  • 第四条均线是30日均线,表示最近30天的平均价格。
  • 第五条均线是60日均线,表示最近60天的平均价格。

当至少5根均线重合时,意味着这些均线在同一个位置,这表明股票的价格趋势相对稳定,有可能出现上涨的趋势。

有何风险?

  • 由于均线的周期不同,可能会导致选出的股票数量过多或过少。
  • 如果股票的价格波动较大,可能会导致选出的股票不符合实际情况。

如何优化?

  • 可以考虑增加均线的周期,例如增加到120日均线,以获得更准确的信号。
  • 可以考虑使用其他技术指标,例如MACD、RSI等,以获得更全面的分析。

最终的选股逻辑

  • 选取至少5根均线重合的股票
  • 选取60开头的股票
  • 选取100亿市值以内的无亏损企业
  • 选取均线周期为5日、10日、20日、30日、60日的股票
  • 选取股票价格波动较小的股票

以下是python代码参考:

import talib

def get_overlapping_moving_average(prices, n):
    ma = talib.MA(prices, n)
    return ma[-n:]

def get_stable_stock(prices, n):
    ma = get_overlapping_moving_average(prices, n)
    std = talib.STDDEV(prices, n)
    return ma[-n:] > ma[-n-1] + std[-n-1] and ma[-n:] < ma[-n-1] - std[-n-1]

def get_stable_stocks(prices, n):
    ma = get_overlapping_moving_average(prices, n)
    std = talib.STDDEV(prices, n)
    return ma[-n:] > ma[-n-1] + std[-n-1] and ma[-n:] < ma[-n-1] - std[-n-1] and prices[-n:] > prices[-n-1] * 0.9 and prices[-n:] < prices[-n-1] * 1.1

def get_optimized_stocks(prices, n):
    ma = get_overlapping_moving_average(prices, n)
    std = talib.STDDEV(prices, n)
    return ma[-n:] > ma[-n-1] + std[-n-1] and ma[-n:] < ma[-n-1] - std[-n-1] and prices[-n:] > prices[-n-1] * 0.9 and prices[-n:] < prices[-n-1] * 1.1 and prices[-n:] > prices[-n-2] * 0.9 and prices[-n:] < prices[-n-2] * 1.1

def get_stocks(prices, n):
    stocks = []
    for i in range(len(prices)):
        if get_stable_stock(prices, n):
            stocks.append(prices[i])
    return stocks

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论