(supermind策略)task16/a/macd零轴以上、价格<12、周K线上穿30周

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

问财量化选股策略逻辑

选股逻辑为 MACD 零轴以上、价格小于 12 元、周K线上穿30周线的股票。选股时间为每个交易日开盘前进行。

选股逻辑分析

该选股逻辑同样考虑了技术面和基本面因素。MACD 反映了技术面的情况,周K线上穿30周线则表明股票近期可能出现向上趋势,同时限定了股票价格。

有何风险?

  1. K线上穿30周线只考虑了一定时间段内的变化情况,可能会忽略较长时间内的影响因素,导致选股结果失误。
  2. 选取价格低廉的股票可能存在经营不佳、质量较差等基本面风险。
  3. MACD 零轴以上的条件较为宽泛,可能会选出一些暂时处于调整期或下跌趋势的股票。

如何优化?

  1. 增加基本面因素考虑的情况,如市盈率、市净率等。
  2. 对周K线上穿30周线的条件进行定量分析和筛选,以更为精确地选取过去表现良好的股票。
  3. 考虑增加其他技术面指标的考虑,如成交量、RSI 等,以全面综合股票走势。

最终的选股逻辑

综合考虑了 MACD 零轴以上、周K线上穿30周线、价格小于 12 元等多个指标因素,同时关注基本面情况和技术面指标,从而选取出表现较好、风险相对较小的股票。

同花顺指标公式代码参考

以下是 KDJ 的同花顺指标公式:

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

其中 SHORT = 12,LONG = 26,M = 9。

python代码参考

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

import akshare as ak
import talib

data_stock_price = ak.stock_zh_a_minute(symbol="sh601988", period="D")  # 获取股票日 K 线数据
close_price = data_stock_price["close"].tolist()

short, long, m = 12, 26, 9
dif, dea, macd = talib.MACD(np.array(close_price), fastperiod=short, slowperiod=long, signalperiod=m)
week_avg_30 = talib.SMA(np.array(close_price), timeperiod=30, matype=0)[-5:]  # 取五天的周线30日均价

data_stock_quote = ak.stock_zh_a_quote(symbol="sh601988")  # 获取股票实时行情数据
chg = data_stock_quote['涨跌幅'].iloc[-1]  # 获取涨幅

if macd[-1] > 0 and data_stock_quote["现价"].iloc[-1] < 12 and close_price[-1] >= week_avg_30.max():
    filtered = data_stock_info.loc[
        (data_stock_info["type"] == "主板")
        # 其他条件
    ]
    result = filtered[["代码", "名称"]]  # 最终选股结果

注意,由于数据在运行时需要更新,因此具体代码需要实际情况调整。同时需要根据实际情况查询对应的 AKShare 数据接口。

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

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

    模板如何使用?

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


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

评论