问财量化选股策略逻辑
选股逻辑为RSI小于65、流通市值50亿-100亿、换手率在2%~9%之间,选择技术面表现、市值适中、流动性较好的个股。
选股逻辑分析
该选股策略主要考虑了技术面指标、市值和流动性的因素,通过RSI指标选择技术面表现较好的个股,加入流通市值和换手率的因素,筛选出市值适中、流动性较好的个股,既保证价格合理,也兼顾流动性的需求。同时,选择了相对合理的换手率区间2%~9%,避免过分追求高换手率而导致波动风险加大。
有何风险?
该选股策略虽然考虑了技术面、市值和流动性等因素,但是没有考虑股票的基本面,如公司财务情况、行业情况等因素,并且对于宏观经济情况变化的反应相对滞后,存在选到基本面不佳的股票的风险。同时,由于股票市场价格的波动性,选择固定区间的换手率可能存在风格偏差的问题。
如何优化?
从基本面和宏观经济情况出发,综合考虑股票的相对估值、行业前景以及宏观经济环境等因素,进行综合评估和筛选,从而避免选到基本面不佳的股票。同时,对于换手率的选择可以根据市场环境和选股目的等因素进行调整,既要兼顾股票的流动性要求,也要避免盲目追求高换手率而导致的波动风险。
最终的选股逻辑
选股逻辑为RSI小于65、流通市值50亿-100亿、换手率在2%~9%之间。综合考虑技术面、市值和流动性指标的同时,也需要结合基本面、行业前景和宏观经济情况等因素进行综合评估。
同花顺指标公式代码参考
- 换手率:换手率=成交量/(总股本/流通股本)
python代码参考
# 选股函数
def stock_picking(data):
# 计算RSI指标
rsi = calc_rsi(data['close'], 14)
# 计算换手率
turnover_rate = data['volume'] / (data['totalShares'] / data['negotiableMV'])
# 根据市值、RSI和换手率选取股票
cond = (data['negotiableMV'] >= 5e10) & (data['negotiableMV'] <= 1e11) & \
(rsi < 65) & (turnover_rate > 0.02) & (turnover_rate < 0.09)
stock_list = []
if sum(cond) >= 5:
selected_data = data[cond]
selected_data = selected_data.sort_values(by='changePct', ascending=False)
for i in range(5):
stock_list.append(selected_data.index[i])
return stock_list
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
