问财量化选股策略逻辑
选股逻辑:选取RSI小于65、昨日主力控盘、换手率在3%-12%之间的股票。
选股逻辑分析
该选股逻辑主要基于技术面和市值因素,选股条件为符合RSI小于65、昨日主力控盘、换手率在3%-12%之间的股票。RSI指标反映股票的超买超卖情况,越接近30越是超卖情况。昨日主力控盘表明主力资金的介入,未来股价的上涨概率更大。换手率在一定范围内,反映了股票的活跃程度。
有何风险?
该选股策略仍然比较简单,忽略了更多的技术面和基本面指标的影响,存在选到垃圾股的风险。同时,换手率在3%-12%的范围内,对不同行业和不同股票的适用性存在差异。
如何优化?
可以继续扩大筛选股票的技术面和基本面指标,同时结合舆情因素进行优化和筛选。可以增加更多的技术指标判断,如布林线等。对于换手率的处理,可以根据行业和股票特点进行个性化的处理和适用性判断。
最终的选股逻辑
选取RSI小于65、昨日主力控盘、换手率在3%-12%之间、市值大于50亿的股票。
同花顺指标公式代码参考
选股条件:(昨日主力控盘 AND RSI(14)<65 AND (换手率>=3 AND 换手率<=12))
Python代码参考
import pandas as pd
import akshare as ak
def get_stock_list(rsi_threshold=65, turnover_min=3, turnover_max=12, top_count=50):
news = ak.stock_news_em(symbol="", limit=50)
stock_list = pd.DataFrame(columns=['股票代码', '名称', '涨跌幅'])
for i in range(len(news)):
symbol = news.iloc[i]['security']
kline = ak.stock_zh_a_daily_kline(symbol="", adjust="qfq", period="daily")
rsi = ak.stock_zh_a_daily_indicator(symbol="", indicator="rsi_14")
turnover = ak.stock_zh_a_market_fundamental(symbol="", indicator="turnover_rate")
if symbol in kline.columns and symbol in rsi.columns and symbol in turnover.columns:
amplitude = (kline[symbol]['high'] - kline[symbol]['low']) / kline[symbol]['low']
if (kline[symbol]['close'] >= kline[symbol]['ma5']).all() and (amplitude > 1).any() and (rsi[symbol]['rsi'] < rsi_threshold).all() and (kline[symbol]['volume'] >= kline[symbol]['volume'].mean() * 2).all() and (turnover[symbol]['turnover_rate'] >= turnover_min) and (turnover[symbol]['turnover_rate'] <= turnover_max):
stock_list = stock_list.append({'股票代码': symbol, '名称': news.iloc[i]['title'], '涨跌幅': kline[symbol]['percent'].iloc[-1]}, ignore_index=True)
stock_list = stock_list.sort_values(by='涨跌幅', ascending=False).iloc[:top_count]
# 添加更多的技术指标和基本面筛选条件,如PE、EPS等
return stock_list[['股票代码', '名称', '涨跌幅']]
get_stock_list()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
