振幅大于1、MACD零轴以上、主升起动 问财量化策略

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

选股逻辑

选取振幅大于1、MACD零轴以上、主升起动的股票。

选股逻辑分析

该选股策略主要关注股票的技术面和趋势面。振幅大于1意味着波动性较大,可能具有较高的交易机会。MACD零轴以上代表价格处于较高的水平且具有买入信号,提供多头趋势的信号。主升起动代表股价处在明显上升走势中,可能代表着股价有进一步上涨的潜力。

有何风险?

该选股策略可能存在过度拟合的风险,只能应对特定市场情况下的选股需求。同时,这个选股条件可能会忽略掉公司的基本面信息。

如何优化?

可以加入其他指标或者改变选择条件,比如加入流动比例、净资产收益率等基本面指标作为选股条件,或者将主升起动条件改为其他技术面指标如RSI或KDJ指标。同时,可以设定止盈、止损指标,降低风险。

最终的选股逻辑

选取振幅大于1、MACD零轴以上、RSI14大于50、主升起动的股票。

同花顺指标公式代码参考

  • 振幅:ABS((HIGH-LOW)/REF(CLOSE,1)*100)>1
  • MACD零轴以上:CROSS(MACD(12,26,9),0)>0
  • RSI14大于50:RSI(CLOSE,14)>50
  • 主升起动:REF(TRENDUP(KLINE),1)>0

选取股票代码:

  • SELECTED: VAR1 AND VAR2 AND VAR3 AND VAR4;

python代码参考

import tushare as ts

def get_filter():
    # 获取MACD指标
    df = ts.get_k_data('sh', ktype='D', autype='qfq')
    macd = talib.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)

    # 获取振幅大于1
    mask1 = abs(df['high'] - df['low']) / df['open'] > 0.01

    # 获取MACD零轴以上
    mask2 = macd[2] > 0

    # 获取RSI14大于50
    rsi = talib.RSI(df['close'], timeperiod=14)
    mask3 = rsi > 50

    # 获取主升起动
    trendup = talib.TRENDUP(df['high'], df['low'], df['close'])
    mask4 = trendup.shift(1) > 0

    # 综合mask并返回
    mask = [code for code in mask1.index.values if (code in mask2.index.values) and (code in mask3.index.values) and (code in mask4.index.values)]

    return mask

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧