(supermind)振幅大于1、开盘价在十日线左右、前天macd<0_

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

问财量化选股策略逻辑

选取振幅大于1、开盘价在十日线左右、前天MACD小于0的股票为投资组合。

选股逻辑分析

  1. 振幅大于1表明该股票有较大的波动,提供高回报的机会;
  2. 开盘价在十日线左右符合价值投资选股的基本逻辑;
  3. 前天MACD小于0则表明当前股票已经有下跌趋势,有可能出现超卖现象,提高买入机会。
  4. 综合上述因素可以筛选出具有较好的短期投资机会的标的。

有何风险?

  1. 筛选条件过于片面,无法全面反映标的的投资价值;
  2. 在反复震荡、横盘行情中效果不如预期;
  3. 过于依赖技术分析指标,忽略基本面变化等风险因素,导致错误决策。

如何优化?

  1. 可适度调整筛选条件;如可振幅大于2、考虑其他移动平均线;
  2. 结合其他投资分析工具,如股票排名、资金流向等,综合评价标的的投资价值;
  3. 尽量避免盲目追涨杀跌,要注重风控和分散投资,合理分配仓位和资金。

最终的选股逻辑

选取振幅大于1、开盘价在十日线左右、前天MACD小于0的股票为投资组合。

同花顺指标公式代码参考

//振幅大于1
COND1:=(HIGH-LOW)/LOW>0.01;
//开盘价在十日线左右
MA10:MA(CLOSE,10);
COND2:=(OPEN>MA10*0.98) AND (OPEN<MA10*1.02);
//前天MACD小于0
DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:=EMA(DIF,M);
MACD:DIF-DEA;
COND3:=(MACD[2]<0);
//综合条件
CONDITION:=COND1 AND COND2 AND COND3;
SIGNAL:CHECKCOND(CONDITION,1);

Python代码参考

import pandas as pd
import talib

def select(df):
    # 振幅、10日均线
    cond1 = (df['high'] - df['low']) / df['low'] > 0.01
    ma10 = df['close'].rolling(window=10).mean()
    cond2 = (df['open'] > ma10 * 0.98) & (df['open'] < ma10 * 1.02)
    # 前天MACD小于0
    dif, dea, macd = talib.MACD(df['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
    cond3 = macd[-3] < 0
    basic_cond = cond1 & cond2 & cond3
    df = df.loc[basic_cond].reset_index()
    return df
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧