(supermind)振幅大于1、反包、前天macd<0_

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,反包,前天 MACD<0。

选股逻辑分析

该选股逻辑考虑股票的波动性、趋势反转和技术指标等因素。振幅大于1表明该股票波动范围较大,反包形态意味着股票可能出现趋势反转买入信号,前天 MACD<0则表示股票可能出现技术指标的下降趋势,从而降低了风险。因此,该逻辑精心综合了多个因素,能够筛选出具有较好潜在投资回报的股票。

有何风险?

与所有股票选股逻辑一样,该选股策略忽略了股票的基本面情况。此外,该逻辑是否具有一定的偶然性或短期性,因此需要特别注意逻辑调整的时机。

如何优化?

可以考虑添加更多筛选条件,比如增加对交易量、相对强弱指标等的筛选;定期对回测数据进行分析,根据实际结果进行逻辑调整来优化选股效果。

最终的选股逻辑

在综合考虑以上分析的基础上,我们提出完善后的选股逻辑:

  1. 振幅大于 1;
  2. 近 3 个交易日内出现反包;
  3. 前天 MACD < 0。

同花顺指标公式代码参考

以下是该选股策略在同花顺中的指标公式代码:

C:REF(MACD(12,26,9), 2) < 0; // 前天 MACD
F: NOT(SIGN(CLOSE - REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 近3个交易日内出现反包
FILTER: F AND C AND VOL > 0 AND (HIGH/LOW - 1)>=0.01; // 振幅大于1

其中的 MACD(12,26,9) 是指 MACD 指标, REF() 用于获取前一交易日收盘价等数据。VOL 是交易量指标。

Python 代码参考

以下是 Python 实现该策略的选股逻辑:

# 数据预处理部分
close = dv.get_ts('close', symbol=symbols)
high = dv.get_ts('high', symbol=symbols)
low = dv.get_ts('low', symbol=symbols)
vol = dv.get_ts('volume', symbol=symbols)

df_pct_chg = close.pct_change()
df_pct_chg[df_pct_chg.isna()] = 0

macd_func = Ta('MACD', 12, 26, 9, close)
macd_filter = macd_func.iloc[-3,:-1] < 0

ta_func_renko = Ta('CDLTRISTAR', 0, high, low, close)
rt_filter = (ta_func_renko == 100)
rt_filter = rt_filter.iloc[:, :-1].sum(axis=1) > 0

amp_filter = (high / low - 1) > 0.01

selected_stocks = ((amp_filter & rt_filter) & macd_filter).sort_values(ascending=False)
return selected_stocks.index.tolist()

使用 Python 实现该策略的选股逻辑,可以使用 TA-Lib 库函数计算 MACD 指标和反包形态。同时,使用 振幅、MACD和反包等多个因素筛选出具有较好潜在回报的股票。

    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论