(supermind策略)task16/a/macd零轴以上、按个股热度从大到小排序名、前

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

问财量化选股策略逻辑

选股逻辑为 MACD 零轴以上,按个股热度从大到小排序名,前天 MACD 小于 0。选股时间为每个交易日开盘前进行。

选股逻辑分析

该选股逻辑基于技术面进行筛选,通过 MACD 的零轴以上和前天 MACD 小于 0 的条件进行技术面分析,进一步辅助选择出相较于市场风险更小的股票。同时,通过按个股热度排序名筛选出市场情绪积极的个股。

有何风险?

  1. 可能存在短期内 MACD 零轴以上并不代表长期上涨的情况,存在回撤风险;
  2. 通过前天 MACD 小于 0 的条件进行筛选,可能会存在时间跨度不足或不足够全面的问题。

如何优化?

  1. 在选股逻辑中加入基本面因素进行筛选,降低盲目追涨风险;
  2. 适度加入风控策略,如止损或止盈等避免过大的风险。

最终的选股逻辑

选股逻辑为 MACD 零轴以上,按个股热度从大到小排序名,前天 MACD 小于 0。选股时间为每个交易日开盘前进行。

同花顺指标公式代码参考

以下是通达信的 MACD 指标公式:

DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
DEA:EMA(DIF,M);
MACD:(DIF-DEA)*2,COLORSTICK;

以下是前天 MACD 小于 0 的同花顺指标公式代码:

MACD:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG);
MACD_JQ:EMA(MACD,M);
MACDU:IF(MACD>0 AND MACD>MACD_JQ,MACD,0);
MACDD:IF(MACD<0 AND MACD<MACD_JQ,MACD,0);
MACDB:REF(2,MACD);
DIFU:MADD(MACDU,MACDB,3)/3;
DIFF:MADD(2*MACDU,MACDB,2)/3;
DB:DIFU-DIFF;

python代码参考

以下是 Python 的选股筛选代码,仅供参考:

import akshare as ak

data_stock_price = ak.stock_zh_a_daily(symbol="sh601988")  # 获取股票数据,需要日线数据

macd = pd.Series(data_stock_price['close']).ewm(12).mean() - pd.Series(data_stock_price['close']).ewm(26).mean()

before_yesterday_macd = macd.iloc[:-2]

filtered = data_stock_price.loc[
    (macd > 0) & (before_yesterday_macd < 0)
].sort_values(by=['HOTMA5'], ascending=False)

result = filtered  # 最终选股结果

注意,由于同花顺指标公式较多,代码根据需求自行选择实现。另外,由于数据在运行时需要更新,因此具体代码需要实际情况调整。

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

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

    模板如何使用?

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


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

评论