问财量化选股策略逻辑
该策略基于以下三个条件进行股票筛选:
- 股票至少有5根均线重合,这表明股票的价格趋势较为稳定。
- 股票的收益要大于0,这表明股票的盈利能力要好。
- 股票的市值要在100亿以内,这可以缩小筛选范围,提高筛选效率。
选股逻辑分析
该策略的逻辑较为简单,主要通过均线重合和盈利能力来筛选股票。均线重合可以反映股票的价格趋势,而盈利能力则可以反映企业的经营状况。通过这两个条件的筛选,可以筛选出较为稳定的股票,同时也可以筛选出盈利能力较好的股票。但是需要注意的是,该策略并没有考虑股票的规模因素,因此可能会有一些规模较小的股票被遗漏。
有何风险?
该策略的风险主要在于,股票的价格趋势和盈利能力并不是绝对稳定的,可能会受到市场环境和其他因素的影响。此外,由于该策略没有考虑股票的规模因素,因此可能会有一些规模较小的股票被遗漏。因此,在实际应用中,需要结合其他因素进行综合考虑,以降低风险。
如何优化?
为了优化该策略,可以考虑加入一些其他因素,例如股票的市盈率、市净率等。这些因素可以反映股票的估值水平,从而更好地筛选出具有投资价值的股票。此外,还可以考虑加入一些技术指标,例如MACD、布林线等,以更好地反映股票的价格趋势和波动情况。
最终的选股逻辑
该策略基于以下三个条件进行股票筛选:
- 股票至少有5根均线重合,这表明股票的价格趋势较为稳定。
- 股票的收益要大于0,这表明股票的盈利能力要好。
- 股票的市值要在100亿以内,这可以缩小筛选范围,提高筛选效率。
- 股票的市盈率要低于同行业平均市盈率,这可以反映股票的估值水平。
- 股票的市净率要高于同行业平均市净率,这可以反映股票的资产质量。
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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


