(同花顺量化)15分钟周期MACD绿柱变短_、今日均线向上发散、rsi小于65

用户头像神盾局量子研究部
2023-08-31 发布

问财量化选股策略逻辑

选股逻辑:选取RSI小于65、今日均线向上发散、15分钟周期MACD绿柱变短的股票。

选股逻辑分析

该选股策略结合了技术分析指标RSI、均线和MACD。RSI小于65用于排除超买状态;今日均线向上发散用于排除股价长时间波动导致的假突破;15分钟周期MACD绿柱变短可以发现短期出现买入信号。

有何风险?

该选股策略仍然相对过于依赖技术分析因素,而未充分考虑基本面因素的影响。同时,只考虑了短期MACD指标的绿柱变化可能会错过一些长期趋势良好的股票。

如何优化?

除了技术分析指标和基本面指标外,加入其他市场走势和行业走势指标,以及一些财务指标(如市盈率、市净率等)可能更好地筛选出符合预期的股票。

最终的选股逻辑

选取RSI小于65、今日均线向上发散、15分钟周期MACD绿柱变短的股票。

同花顺指标公式代码参考

  • RSI:RSI(14)
  • 均线:MA(CLOSE,5)
  • MACD:MACD(12, 26, 9)

Python代码参考

import pandas as pd
import akshare as ak
import talib

def get_stock_list(rsi_threshold=65, ma_length=5, macd_period=(12, 26, 9), macd_green_threshold=0.0):
    stock_list = pd.DataFrame(columns=['股票代码', '名称', '收益'])
    stock_zh = ak.stock_zh_a_spot_em()
    for i in range(len(stock_zh)):
        symbol = stock_zh.iloc[i]['股票代码']
        kline_15min = ak.stock_zh_a_hist(symbol=symbol, period='15')
        if len(kline_15min) < 60:
            continue
        rsi = talib.RSI(kline_15min['close'], timeperiod=14)
        if rsi.iloc[-1] >= rsi_threshold:
            continue
        close_price = kline_15min['close']
        close_ma = talib.MA(close_price, timeperiod=ma_length)
        if close_ma.iloc[-1] <= talib.REF(close_ma, timeperiod=1).iloc[-1]:
            continue
        macd, macd_signal, macd_hist = talib.MACD(close_price, fastperiod=macd_period[0], slowperiod=macd_period[1], signalperiod=macd_period[2])
        if macd_hist.iloc[-1] >= macd_green_threshold or macd_hist.iloc[-2] <= macd_hist.iloc[-1]:
            continue
        stock_list = stock_list.append({'股票代码': symbol, '名称': stock_zh.iloc[i]['名称'], '收益': None}, ignore_index=True)
    return stock_list
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

    select_sentence = '市值小于100亿' #选股语句。

    模板如何使用?

    点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


    ## 如果有任何问题请添加 下方的二维码进群提问。
    ![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论