问财量化选股策略逻辑
选股逻辑:选取RSI小于65、今日均线向上发散、30日平均线向上的股票。
选股逻辑分析
该选股策略综合考虑了RSI、均线和30日平均线等技术指标,选取RSI小于65、今日均线向上发散、30日平均线向上的指标作为选股条件。其中,RSI和均线是考虑短期趋势,30日平均线是考虑中长期趋势。
有何风险?
该选股策略对其他基本面因素和大盘趋势等因素的影响不太关注,可能忽略了一些重要的因素。此外,选股条件较为简单,可能选择一些低质量的股票。
如何优化?
可以加入其他技术指标如MACD、KDJ等,综合判断股票的趋势和波动性,以降低选股风险。此外,可以加入基本面因素如市盈率、市净率、ROE等指标,以筛选更高质量的股票。
最终的选股逻辑
选取RSI小于65、今日均线向上发散、30日平均线向上的股票。
同花顺指标公式代码参考
- RSI: RSI(14)
- 均线: MA(CLOSE, 5)
- 30日平均线: MA(CLOSE, 30)
Python代码参考
import pandas as pd
import akshare as ak
import talib
def get_stock_list(rsi_threshold=65, ma_length=5, ma30_length=30):
stock_list = pd.DataFrame(columns=['股票代码', '名称', '收益'])
stock_zh = ak.stock_info_a_code_name(indicator="沪深A股")
for i in range(len(stock_zh)):
symbol = stock_zh.iloc[i]['symbol']
kline_day = ak.stock_zh_a_daily(symbol=symbol, adjust='qfq')
if len(kline_day) < 2:
continue
rsi = talib.RSI(kline_day['close'], timeperiod=14)
if rsi.iloc[-1] >= rsi_threshold:
continue
close_price = kline_day['close']
close_ma = talib.MA(close_price, timeperiod=ma_length)
close_ma30 = talib.MA(close_price, timeperiod=ma30_length)
if close_ma.iloc[-1] <= talib.REF(close_ma, timeperiod=1).iloc[-1]:
continue
if close_ma30.iloc[-1] <= talib.REF(close_ma30, timeperiod=1).iloc[-1]:
continue
stock_list = stock_list.append({'股票代码': symbol, '名称': stock_zh.iloc[i]['name'], '收益': None}, ignore_index=True)
return stock_list
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


