问财量化选股策略逻辑
选股逻辑:RSI小于65、昨日竞价换手率大于0.26、股票流通市值在50亿-100亿元之间的股票。
选股逻辑分析
该选股策略主要考虑RSI指标和市场需求,筛选出处于低位且具有一定价值的股票。同时,限定了股票的市值范围,避免了市值过小或过大的风险。
有何风险?
市场行情可能有一定的不确定性,选股逻辑可能无法准确地抓住市场变化,选出潜力股的概率不高。此外,单独使用RSI指标进行选股容易被一些股票的特殊情况所干扰,需要增加其他指标作为辅助。
如何优化?
1.综合多个指标:结合多个指标以进行综合判断,以降低单一指标选股的不准确性。可以考虑加入财务指标、股票估值以及板块走势等等指标进行筛选。
2.动态调整选股条件:市场变化时,可以设置不同的选股条件以应对不同的市场情况。
最终的选股逻辑
选股标准为:RSI小于65、昨日竞价换手率大于0.26、流通市值在50亿-100亿元之间的股票,市盈率小于50,市净率小于5。
同花顺指标公式代码参考
// RSI小于65
CONDITION1 = RSI(C,14) < 65;
// 昨日竞价换手率大于0.26
CONDITION2 = Turnover > 0.26;
// 流通市值在50亿-100亿元之间
CONDITION3 = CIRCULATIONMV > 500000 AND CIRCULATIONMV < 1000000;
// 筛选股票
SELECT (CONDITION1 AND CONDITION2 AND CONDITION3 AND PE < 50 AND PB < 5);
python代码参考
import tushare as ts
import talib
def select_stocks(stocks):
res = []
for stock in stocks:
k_data = ts.get_k_data(stock, start='2018-01-01', end='2021-08-31', ktype='D')
if len(k_data) >= 250:
rsi = talib.RSI(k_data['close'].astype(float).values, timeperiod=14)[-1]
turnover = k_data['turnover'].astype(float).values[-2] / 100
circ_mv = ts.get_stock_basics()[ts.get_stock_basics().index == stock]['circulating_market_cap'][0]
if substr(stock, 0, 3) in ['000', '001', '002', '003', '600', '601', '603', '605']:
if rsi < 65 and turnover > 0.26 and circ_mv >= 500000 and circ_mv <= 1000000 and ts.get_stock_basics()[ts.get_stock_basics().index == stock]['pe'][0] < 50 and ts.get_stock_basics()[ts.get_stock_basics().index == stock]['pb'][0] < 5:
res.append(stock)
return res
stocks = ts.get_stock_basics().index
res = select_stocks(stocks)
print(res)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
