(supermind策略)task16/a/macd零轴以上、今日均线向上发散、前25天有

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

问财量化选股策略逻辑

选股逻辑为MACD零轴以上、今日均线向上发散、前25天内有涨停。

选股逻辑分析

该选股逻辑主要关注以下几个方面:

  1. MACD零轴以上:表示当前股票处于上涨状态;
  2. 今日均线向上发散:表示当前股票的趋势向上;
  3. 前25天内有涨停:表示该股票近期有较强的市场热度。

有何风险?

  1. 选股条件过于简单,可能会忽略其他重要的指标和因素;
  2. 过度关注市场热度,忽略其他基本面信息和技术指标可能导致选股结果意义不大;
  3. 对于周期较长的股票,25天内有涨停的条件可能难以满足,导致股票推荐数量不足。

如何优化?

  1. 选股条件应该结合其他的技术指标、基本面信息以及市场热度等多方面因素进行选股,避免引入过多的噪音;
  2. 市场热度只是辅助指标,应该与其他指标相结合,例如RSI、BOLL等;
  3. 可以对选定的股票进行更加严格的筛选和分析,确保选中的股票风险控制在可承受范围内。

最终的选股逻辑

选股逻辑为:MACD零轴以上、今日均线向上发散、前25天内有涨停。

同花顺指标公式代码参考

MACD指标:

DIF:EMA(CLOSE,12)-EMA(CLOSE,26)
DEA:EMA(DIF,9)
MACD:(DIF-DEA)*2

均线指标:

MA10:MA(CLOSE,10)

涨停指标:

ZT:HIGH==REF(LOW,1)&&HIGH-BEGIN(HIGH,5)>0;
COUNTZT:COUNT(ZT,25)>0;

选股筛选公式:

MACD > 0 AND MA(CLOSE,1) > MA(CLOSE,2) AND COUNTZT

排序公式:

SORTBY((CLOSE-REF(CLOSE,1))/REF(CLOSE,1),1)

python代码参考

以下为python的选股筛选代码和排序代码,仅供参考:

import akshare as ak
import talib

# 获取股票列表并计算选股筛选条件
stock_list = ak.stock_zh_a_spot_em().reset_index()
stock_list['macd'], stock_list['macd_signal'], stock_list['macd_hist'] = talib.MACD(stock_list['close'], fastperiod=12, slowperiod=26, signalperiod=9)
stock_list['ma10'] = talib.SMA(stock_list['close'], timeperiod=10)
condition1 = (stock_list['macd'] > 0) & (stock_list['ma5'] > stock_list['ma10'])
condition2 = stock_list.groupby(by='stock_code')['high'].rolling(25, min_periods=1).apply(lambda x: x.eq(x.max()).any()).reset_index(level=0, drop=True).astype(bool)
stock_list = stock_list[condition1 & condition2]

# 按涨幅从小到大排序
result_sorted = stock_list.sort_values(by=['pct_chg'], ascending=True)
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论