问财量化选股策略逻辑
选股逻辑:选取RSI小于65、今日均线向上发散、换手率位于3%~12%之间的股票。
选股逻辑分析
该选股策略结合了技术分析指标RSI和均线,以及基本面因素换手率。RSI小于65用于排除超买状态;今日均线向上发散用于排除股价长时间波动导致的假突破;换手率作为基本面因素可以反映这支股票的市场流通性和资金活跃度。
有何风险?
策略注重基本面因素,但忽略了其他重要的公司财务指标,如市盈率、市净率等,存在片面性风险。同时,换手率的变动可能受到市场情绪和资金面等多重因素的影响,需要综合考虑其他指标。
如何优化?
可以结合其他技术指标和基本面因素来构建更全面的选股策略,同时,可以根据行业趋势、政策变化和新闻事件等非技术指标综合考虑选股。需要注意的是,投资股市存在风险,需要谨慎交易。
最终的选股逻辑
选取RSI小于65、今日均线向上发散、换手率位于3%~12%之间的股票。
同花顺指标公式代码参考
- RSI:RSI(14)
- 均线:MA(CLOSE,5)
Python代码参考
import pandas as pd
import akshare as ak
import talib
def get_stock_list(rsi_threshold=65, turn_over_rate_low=3, turn_over_rate_high=12):
news = ak.stock_zh_a_spot_em()
stock_list = pd.DataFrame(columns=['股票代码', '名称', '收益'])
for i in range(len(news)):
symbol = news.iloc[i]['股票代码']
kline_day = ak.stock_zh_a_daily(symbol=symbol, adjust='hfq')
if len(kline_day) < 60:
continue
rsi = talib.RSI(kline_day['close'], timeperiod=14)
if rsi.iloc[-1] >= rsi_threshold:
continue
close_price = kline_day['close']
close_ma5 = talib.MA(close_price, timeperiod=5)
if close_ma5.iloc[-1] <= talib.REF(close_ma5, timeperiod=1).iloc[-1]:
continue
turn_over_rate = kline_day['turnover_rate']
if turn_over_rate.iloc[-1] < turn_over_rate_low or turn_over_rate.iloc[-1] > turn_over_rate_high:
continue
stock_list = stock_list.append({'股票代码': symbol, '名称': news.iloc[i]['名称'], '收益': None}, ignore_index=True)
return stock_list
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


