问财量化选股策略逻辑
- 至少5根均线重合的股票
- 收益>0
- 换手率>2%且<9%
选股逻辑分析
- 这个策略要求至少5根均线重合,这意味着股票的价格趋势比较稳定,可能是一个比较好的买入时机。
- 收益要求大于0,这表明策略希望选择有上涨潜力的股票。
- 换手率要求在2%到9%之间,这个范围可以保证股票的流动性,同时也避免了过度交易的情况。
有何风险?
- 这个策略没有考虑股票的市场风险,因此可能会在市场下跌时产生较大的损失。
- 由于策略要求至少5根均线重合,因此可能会错过一些短期波动较大的股票。
- 换手率的限制可能会导致错过一些有潜力的股票。
如何优化?
- 可以考虑加入一些其他的指标,例如市盈率、市净率等,来综合评估股票的价值和风险。
- 可以考虑加入一些技术指标,例如布林线、移动平均线等,来更好地判断股票的趋势。
- 可以考虑加入一些市场指标,例如成交量、指数等,来更好地判断市场的状况。
最终的选股逻辑
- 选择至少5根均线重合的股票
- 选择收益大于0的股票
- 选择换手率在2%到9%之间的股票
- 综合考虑市盈率、市净率、布林线、移动平均线、成交量、指数等指标,对股票的价值和风险进行评估
- 最终选择符合条件的股票进行买入操作
python代码参考
import talib
def get_rolling_average(prices, n):
"""计算n天的滚动平均值"""
rolling_average = talib.MA(prices, n)
return rolling_average
def get_crossed_moving_average(prices, fast_n, slow_n):
"""判断fast_n天的移动平均线是否穿越了slow_n天的移动平均线"""
fast_rolling_average = get_rolling_average(prices, fast_n)
slow_rolling_average = get_rolling_average(prices, slow_n)
if fast_rolling_average[-1] > slow_rolling_average[-1]:
return True
else:
return False
def get_5_crossed_moving_average(prices):
"""判断5天的移动平均线是否全部穿越了其他均线"""
moving_average = get_rolling_average(prices, 5)
if moving_average[-1] > moving_average[-2] and moving_average[-1] > moving_average[-3] and moving_average[-1] > moving_average[-4] and moving_average[-1] > moving_average[-5]:
return True
else:
return False
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


