问财量化选股策略逻辑
选股逻辑:选取RSI小于65、昨日主力控盘、15分钟周期MACD绿柱变短的股票。
选股逻辑分析
该选股逻辑基于技术面分析,选股条件包括符合RSI小于65、昨日主力控盘和15分钟周期MACD绿柱变短。RSI指标反映股票的超买超卖情况,越接近30越是超卖情况。昨日主力控盘表明主力资金的介入,未来股价的上涨概率更大。MACD指标可以反映出股票的短期走势是否偏空。
有何风险?
该选股策略仍然比较简单,忽略了更多的市场基本面指标对股票走势的影响,容易选到低质量股票。同时,选股的条件比较少,可能会导致可选股票过少。
如何优化?
可以结合更多的市场基本面指标来确定选股范围。同时,加入舆情等因素参与选股,可以更全面地了解市场环境和股票走势。
最终的选股逻辑
选取RSI小于65、昨日主力控盘、15分钟周期MACD绿柱变短、市值大于50亿、PE小于50、ROE大于5%的股票。
同花顺指标公式代码参考
选股条件:(昨日主力控盘 AND RSI(14)<65 AND MACD(15,26,9)的绿柱<MACD(15,26,9)的绿柱前一周期)
Python代码参考
import pandas as pd
import akshare as ak
import talib
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_minute(symbol="", period="15")
rsi = talib.RSI(kline['close'], timeperiod=14)
macd, signal, hist = talib.MACD(kline['close'], fastperiod=15, slowperiod=26, signalperiod=9)
# 获取股票的所属板块
basic_info = ak.stock_info_shenwan(stock=symbol)
if symbol in kline.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[-1] < rsi_threshold) and (hist[-1] < hist[-2]).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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


