问财量化选股策略逻辑
- 至少5根均线重合的股票
- 现量大于1万手
- 高开
- 20日均线大于120日均线
选股逻辑分析
- 这个策略选择的股票至少有5根均线重合,这表明这些股票的走势比较稳定,不容易出现大幅波动。
- 股票的现量大于1万手,说明这个股票的成交量比较大,交易活跃,也说明这个股票比较受到市场的关注。
- 股票高开,说明这个股票有比较强的上涨意愿,也有可能是受到市场消息的影响。
- 20日均线大于120日均线,说明这个股票的短期走势强于长期走势,也有可能是受到市场情绪的影响。
有何风险?
- 这个策略选择的股票可能不符合投资者的偏好,例如有些投资者可能更喜欢选择短期波动比较大的股票。
- 这个策略选择的股票可能会受到市场消息的影响,例如有些股票可能会因为市场消息而出现高开低走的情况。
- 这个策略选择的股票可能会受到市场情绪的影响,例如有些股票可能会因为市场情绪的波动而出现高开低走的情况。
如何优化?
- 可以考虑加入更多的筛选条件,例如加入股票的市值、市盈率等指标,以更加准确地筛选出符合投资者偏好的股票。
- 可以考虑加入技术指标的筛选条件,例如加入布林线、MACD等指标,以更加准确地判断股票的走势。
- 可以考虑加入更多的市场消息的筛选条件,例如加入宏观经济数据、政策消息等,以更加准确地判断股票的走势。
最终的选股逻辑
- 选择至少5根均线重合的股票
- 选择现量大于1万手的股票
- 选择高开的股票
- 选择20日均线大于120日均线的股票
- 选择市值、市盈率等指标符合投资者偏好的股票
- 选择布林线、MACD等技术指标显示股票走势稳定的股票
- 选择宏观经济数据、政策消息等市场消息符合投资者偏好的股票
python代码参考
- 以下是一个简单的Python代码示例,用于实现上述的选股策略:
import talib
def get_5_ma_convergence(candles):
# 获取5日移动平均线
ma5 = talib.MA(candles, timeperiod=5)
# 获取20日移动平均线
ma20 = talib.MA(candles, timeperiod=20)
# 计算5日移动平均线与20日移动平均线的差值
diff = ma5 - ma20
# 计算差值的绝对值
abs_diff = abs(diff)
# 返回5日移动平均线与20日移动平均线的差值绝对值的数组
return abs_diff
def get_5_ma_convergence_signal(candles, threshold):
# 获取5日移动平均线与20日移动平均线的差值绝对值的数组
abs_diff = get_5_ma_convergence(candles)
# 计算信号
signal = np.zeros(len(abs_diff))
for i in range(len(abs_diff)):
if abs_diff[i] > threshold:
signal[i] = 1
else:
signal[i] = 0
# 返回信号数组
return signal
def get筛选条件(candles):
# 获取5日移动平均线与20日移动平均线的差值绝对值的数组
abs_diff = get_5_ma_convergence(candles)
# 计算信号
signal = get_5_ma_convergence_signal(candles, 0.05)
# 返回信号数组
return signal
# 读取股票的历史数据
candles = get_historical_data('股票代码')
# 筛选出符合条件的股票
selected_candles = candles[candles['abs_diff'] > 0.05]
# 输出符合条件的股票的数量
print(len(selected_candles))
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


