问财量化选股策略逻辑
- 至少5根均线重合的股票
- 10日涨幅大于0小于35
- 底部抬高
选股逻辑分析
这个策略的逻辑是基于技术分析和趋势跟踪。首先,要求至少5根均线重合,这表明股票的价格趋势相对稳定,不容易受到短期波动的影响。其次,要求10日涨幅大于0小于35,这表明股票价格在最近10天内有一定的上涨趋势,但没有过度上涨。最后,要求底部抬高,这表明股票价格在最近一段时间内有明显的上涨趋势。
有何风险?
这个策略的局限性在于它只能捕捉到股票价格的短期趋势,而不能捕捉到长期趋势。此外,如果股票价格在短期内出现剧烈波动,该策略可能会产生误判。
如何优化?
为了优化这个策略,可以考虑加入更多的技术指标和趋势跟踪方法,以提高策略的准确性和可靠性。此外,可以考虑加入一些风险管理措施,例如设置止损点和止盈点,以降低投资风险。
最终的选股逻辑
以下是最终的选股逻辑:
- 筛选出至少5根均线重合的股票
- 筛选出10日涨幅大于0小于35的股票
- 筛选出底部抬高的股票
- 筛选出市盈率小于30的股票
- 筛选出流通市值大于10亿的股票
python代码参考:
import talib
def get_moving_average(prices, n):
"""
计算n日移动平均线
"""
ma = talib.MA(prices, n)
return ma
def get_bollinger_bands(prices, n):
"""
计算n日布林线
"""
upper, middle, lower = talib.BBANDS(prices, n, 2, 0.2)
return upper, middle, lower
def get_price_trend(prices, n):
"""
计算n日价格趋势
"""
up, down = talib.STOCH(prices, n, 3)
trend = talib.CCI(prices, n)
return up, down, trend
def get_filter(prices, ma1, ma2, upper, lower, up, down, trend):
"""
过滤股票
"""
if ma1[-1] > ma2[-1] and prices[-1] > upper[-1] and trend[-1] > 0:
return True
elif ma1[-1] < ma2[-1] and prices[-1] < lower[-1] and trend[-1] < 0:
return True
else:
return False
def get_filtered_list(prices, ma1, ma2, upper, lower, up, down, trend):
"""
获取过滤后的股票列表
"""
filtered_list = []
for i in range(len(prices)):
if get_filter(prices[i:], ma1[i:], ma2[i:], upper[i:], lower[i:], up[i:], down[i:], trend[i:]):
filtered_list.append(prices[i])
return filtered_list
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


