问财量化选股策略逻辑
选股逻辑:选取RSI小于65、昨日主力控盘、非科创板股票。
选股逻辑分析
该选股逻辑基于技术面和市场情绪分析,选股条件包括符合RSI小于65、昨日主力控盘和非科创板股票。RSI指标反映股票的超买超卖情况,越接近30越是超卖情况。昨日主力控盘表明主力资金的介入,未来股价的上涨概率更大。非科创板股票的风险相对较小。
有何风险?
该选股策略仍然比较简单,忽略了更多的市场基本面指标对股票走势的影响,容易选到低质量股票。同时,选股的条件比较少,可能会导致可选股票过少。
如何优化?
可以结合更多的市场基本面指标来确定选股范围。同时,加入舆情等因素参与选股,可以更全面地了解市场环境和股票走势。
最终的选股逻辑
选取RSI小于65、昨日主力控盘、非科创板股票、市值大于50亿、PE小于50、ROE大于5%的股票。
同花顺指标公式代码参考
选股条件:(昨日主力控盘 AND RSI(14)<65 AND 板块!="科创板")
Python代码参考
import pandas as pd
import akshare as ak
def get_stock_list(rsi_threshold=65, 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")
# 获取股票的所属板块
basic_info = ak.stock_info_shenwan(stock=symbol)
if symbol in kline.columns and symbol in rsi.columns and basic_info['industry'] != "科创板":
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 (kline[symbol]['close'] > ma[symbol]['ma5']).all():
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、ROE等
return stock_list[['股票代码', '名称', '涨跌幅']]
get_stock_list()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
