问财量化选股策略逻辑
这个策略基于以下三个条件来筛选股票:
- 至少5根均线重合的股票
- 收盘价<boll(upper值)且收盘价>boll(mid值)
- 换手率>2%且<9%
选股逻辑分析
这个策略旨在寻找那些具有低换手率和高股价波动性的股票。首先,策略筛选出至少5根均线重合的股票,这表明该股票的价格趋势相对稳定。然后,策略要求股票收盘价在布林带上轨和中轨之间,这表明该股票的价格有上涨潜力。最后,策略要求股票换手率在2%到9%之间,这表明该股票的交易活跃度适中。
有何风险?
这个策略存在以下风险:
- 该策略可能无法准确预测股票的价格走势。
- 该策略可能无法准确预测股票的换手率。
- 该策略可能无法准确预测布林带的上轨和中轨。
如何优化?
为了优化这个策略,可以考虑以下几点:
- 使用更多的均线来筛选股票,以提高策略的准确性。
- 使用其他技术指标来预测股票的价格走势和换手率。
- 调整布林带的参数,以更好地反映股票的价格波动性。
最终的选股逻辑
以下是一个基于以上条件的完整策略:
import talib
def boll_upper(boll):
return boll[1] + (2 * (boll[2] - boll[1])) + (2 * (boll[3] - boll[2]))
def boll_mid(boll):
return (boll[1] + boll[2] + boll[3]) / 3
def select_stock():
stocks = get_stocks()
filtered_stocks = []
for stock in stocks:
ma5 = talib.MA(stock['close'], timeperiod=5)
ma10 = talib.MA(stock['close'], timeperiod=10)
ma20 = talib.MA(stock['close'], timeperiod=20)
ma50 = talib.MA(stock['close'], timeperiod=50)
upper = boll_upper([ma5, ma10, ma20, ma50])
mid = boll_mid([ma5, ma10, ma20, ma50])
if len(ma5) >= 5 and stock['close'] < upper and stock['close'] > mid and stock['volume'] > 2 and stock['volume'] < 9:
filtered_stocks.append(stock)
return filtered_stocks
python代码参考
import talib
def boll_upper(boll):
return boll[1] + (2 * (boll[2] - boll[1])) + (2 * (boll[3] - boll[2]))
def boll_mid(boll):
return (boll[1] + boll[2] + boll[3]) / 3
def select_stock():
stocks = get_stocks()
filtered_stocks = []
for stock in stocks:
ma5 = talib.MA(stock['close'], timeperiod=5)
ma10 = talib.MA(stock['close'], timeperiod=10)
ma20 = talib.MA(stock['close'], timeperiod=20)
ma50 = talib.MA(stock['close'], timeperiod=50)
upper = boll_upper([ma5, ma10, ma20, ma50])
mid = boll_mid([ma5, ma10, ma20, ma50])
if len(ma5) >= 5 and stock['close'] < upper and stock['close'] > mid and stock['volume'] > 2 and stock['volume'] < 9:
filtered_stocks.append(stock)
return filtered_stocks
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


