问财量化选股策略逻辑
- 至少5根均线重合的股票
- 收盘价<boll(upper值)且收盘价>boll(mid值)
- 30日平均线向上
选股逻辑分析
- 这个策略通过寻找均线重合的股票来确定股票的走势方向。当至少5根均线重合时,说明股票的走势比较稳定,可以作为买入的信号。
- 然后,策略通过比较收盘价和布林带的上轨和中轨,来确定股票的价格趋势。当收盘价高于布林带的上轨且低于布林带的中轨时,说明股票的价格处于上升趋势中,可以作为买入的信号。
- 最后,策略通过比较30日平均线的走势方向来确定股票的中长期趋势。当30日平均线向上时,说明股票的中长期趋势是向上的,可以作为买入的信号。
有何风险?
- 这个策略只能作为买入的信号,不能作为卖出的信号。因此,在使用这个策略时,需要结合其他因素来确定是否应该卖出股票。
- 这个策略只能确定股票的走势方向,不能确定股票的价格。因此,在使用这个策略时,需要结合其他因素来确定股票的价格。
如何优化?
- 可以通过调整均线的数量和布林带的参数来优化这个策略。例如,可以将均线的数量增加到10根,或者将布林带的上下轨参数调整得更宽或更窄。
- 可以通过加入其他因素来优化这个策略。例如,可以加入股票的成交量指标,或者加入技术指标来确定股票的价格趋势。
最终的选股逻辑
- 寻找至少5根均线重合的股票
- 比较收盘价和布林带的上轨和中轨,判断股票的价格趋势
- 比较30日平均线的走势方向,判断股票的中长期趋势
- 如果以上条件都满足,则认为该股票是买入的信号
python代码参考
import tushare as ts
import talib
# 设置pro接口token
ts.set_token('your_token')
# 初始化pro接口
pro = ts.pro_api()
# 获取所有股票的收盘价、布林带参数和30日平均线数据
close_prices = pro.realtime_quotes('000300.XSHG', fields='close')
upper_boll, middle_boll, lower_boll = pro.boll('000300.XSHG', fields='close')
upper_boll30, middle_boll30, lower_boll30 = pro.boll('000300.XSHG', fields='close', timeperiod=30)
# 统计至少5根均线重合的股票数量
num_of_consecutive_moving_average = 0
for i in range(len(close_prices)):
if i < len(close_prices) - 5:
if close_prices[i] == close_prices[i+1] == close_prices[i+2] == close_prices[i+3] == close_prices[i+4] == close_prices[i+5]:
num_of_consecutive_moving_average += 1
else:
break
# 判断股票是否满足买入条件
buy信号 = False
for i in range(len(close_prices)):
if i < len(close_prices) - 5:
if close_prices[i] > upper_boll[i+1] and close_prices[i] < middle_boll[i+1] and close_prices[i] > lower_boll[i+1] and close_prices[i] > lower_boll30[i] and close_prices[i] > middle_boll30[i]:
buy_signal = True
else:
buy_signal = False
else:
break
# 输出结果
print('当前市场共有{}支股票满足买入条件'.format(num_of_consecutive_moving_average))
if buy_signal:
print('当前市场存在买入信号')
else:
print('当前市场不存在买入信号')
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


