(supermind)振幅大于1、近25个交易日有单日涨幅大于等于百分之10、macd零轴

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,近25个交易日有单日涨幅大于等于百分之10,macd零轴以上。

选股逻辑分析

该选股策略综合考虑了价格波动、强劲趋势和技术指标三个方面,通过选取振幅大于1、近25个交易日有单日涨幅大于等于百分之10,并结合MACD指标,选择MACD零轴以上的股票。该策略可能适合中短期交易者使用。但只关注了价格波动、MACD等近期因素,可能会忽略了长期产业趋势等因素。

有何风险?

该策略存在以下风险:

  1. 只关注了价格波动和技术指标等近期因素,可能会错过一些具备长期增长潜力的公司。
  2. 在MACD零轴以上的股票中,可能存在一些技术反弹(过度买入)的风险。
  3. 只考虑了过去25个交易日的情况,可能存在小概率的周期性误判的情况。

如何优化?

为提高该选股逻辑的效率和准确性,我们建议考虑以下方法:

  1. 在价格波动和MACD指标以外,加入其他技术指标和基本面因素的考量。如RSI、OBV等指标。
  2. 对选股的时间范围和周期进行优化,如考虑过去一个月或过去半年的表现。
  3. 加入风险评估指标,如财务风险和市场风险等指标。

最终的选股逻辑

为了更全面地考虑股票的因素,我们给出了改进后的选股逻辑:

  1. 振幅大于1。
  2. 近25个交易日有单日涨幅大于等于10%。
  3. MACD柱子大于零并且与MACD平滑线的差值大于10日平均值。
  4. 市盈率小于30,市净率小于3,市销率小于6, PEG小于1。

同花顺指标公式代码参考

SET MA1 = MA(CLOSE, 12);
SET MA2 = MA(CLOSE, 26);
SET DIF = MA1 - MA2;
SET DEA = EMA(DIF, 9);
SET MACD = 2 * (DIF - DEA);
SET ZERO = 0;
C1 = IF(HIGH - LOW > ATR(CLOSE, 20), 1, 0);
C2 = IF(ABS(HIGH/REF(CLOSE, 1)-1)>0.1, 1, 0);
C3 = IF(MACD > ZERO, 1, 0);
C4 = IF(DIF - DEA > (MEAN(DIF - DEA, 10) + 1), 1, 0);
SELECTOR = C1*C2*C3*C4;
RESULT = SORT_RANK(SELECTOR, ASCEND(SEARCH_RANK()))

python代码参考

import pandas_ta as ta

df = pd.read_csv('your_data.csv', index_col='date')
df.ta.macd()
C1 = np.where(df['high'] - df['low'] > ta.atr(), 1, 0)
C2 = np.where(np.abs(df['high'] / df['close'].shift(1) - 1) > 0.1, 1, 0)
C3 = np.where(df.ta.macd() > 0, 1, 0)
C4 = np.where((df.ta.macd_diff() > df.ta.macd_diff().rolling(10).mean() + 1), 1, 0)
C5 = ta.PE() < 30
C6 = ta.PB() < 3
C7 = ta.PS() < 6
C8 = ta.PEG() < 1

selector = C1 * C2 * C3 * C4 * C5 * C6 * C7 * C8
result = np.argsort(np.argsort(selector))

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

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

        模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧