选取振幅大于1、MACD零轴以上、RSI小于65的股票

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

选股逻辑

选取振幅大于1、MACD零轴以上、RSI小于65的股票。

选股逻辑分析

该选股策略的主要逻辑包括三个方面:

  • 振幅较大:振幅大于1的股票波动较大,容易在短期内出现较好的涨跌机会。
  • MACD零轴以上:MACD指标可以反映股票的趋势情况,MACD零轴以上可以代表股票处于上涨趋势。
  • RSI小于65:RSI指标可以反映股票的超买超卖情况,RSI小于65可以代表股票处于较为合理的价值水平。

有何风险?

该选股策略同样存在一定的主观性,同时市场波动较大,个股的风险也较高。同时,RSI指标是一个比较短期的指标,不能保证未来股票的表现。

如何优化?

可以考虑加入其他指标,如KDJ、OBV、成交量等指标,或者改变指标的参数,比如调整振幅的阈值、调整MACD的参数,来提高选股的精度和收益率。

最终的选股逻辑

选取振幅大于1、MACD零轴以上、RSI小于65的股票。

同花顺指标公式代码参考

  • 振幅:ABS((HIGH-LOW)/REF(CLOSE,1)*100)>1
  • MACD零轴以上:MACD(12,26,9)>0
  • RSI小于65:RSI(14)<65

选取股票代码:

  • SELECTED: VAR1 AND VAR2 AND VAR3;

python代码参考

import tushare as ts
import talib

def get_filter():
    # 获取MACD和RSI指标
    df = ts.get_k_data('sh', ktype='D', autype='qfq')
    macd = talib.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)
    rsi = talib.RSI(df['close'], timeperiod=14)
  
    # 获取振幅大于1的股票
    today_data = ts.get_today_all()
    mask1 = abs(df['high'] - df['low']) / df['open'] > 0.01
  
    # 获取MACD零轴以上的股票
    mask2 = macd[2] > 0
  
    # 获取RSI小于65的股票
    mask3 = rsi < 65
  
    # 综合mask并返回
    mask = [code for code in mask1.index.values if (code in mask2.index.values) and (code in mask3.index.values)]
  
    return mask

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

模板如何使用?

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

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧