(supermind量化-)振幅大于1、500日内至少2次涨停、周线macd在零轴之上_

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

问财量化选股策略逻辑

本选股策略在日线上选取以下股票:振幅大于1、500日内至少2次涨停和周线MACD在零轴之上。

选股逻辑分析

本选股策略并没有加入新的指标,而是对现有指标进行了更加严苛的筛选。500日内至少2次涨停和振幅大于1反映出了股票短期内的强势,而周线MACD在零轴之上则反映出了股票长期上涨的态势。

有何风险?

由于MACD的灵敏度问题,此选股策略选出的股票容易产生假阳、假跌。而且只选取周线MACD上穿零轴的股票容易错失一些成长性良好的中短线股票,且只依赖于技术指标过滤股票容易错过基本面优秀的标的股票。

如何优化?

可以结合更多基本面因素进行筛选,如市盈率、营收、净利润等财务指标,并且加入其他技术指标进行协助筛选。

最终的选股逻辑

选取振幅大于1、500日内至少2次涨停,周线MACD在零轴之上的标的股票。

同花顺指标公式代码参考

振幅大于1:

(同上)

500日内至少2次涨停:

(同上)

周线MACD在零轴之上:

DIF > 0 AND DEA > 0 AND MACD > 0

其中,DIF为快速线,DEA为慢速线,MACD为柱状线。

python代码参考

import tushare as ts

selected_stocks = []
for code in ts.get_stock_basics().index:
    #获取股票数据
    daily_data = ts.get_hist_data(code, start='20180101')
    if daily_data is None or len(daily_data) < 500:
        continue
    if (daily_data.high - daily_data.low).mean() / daily_data.close.mean() < 0.01:
        continue
    if (daily_data.high / daily_data.low.shift(1) > 1.099).rolling(500).sum() < 2:
        continue
    weekly_data = ts.get_k_data(code, ktype='W', start='20180101')
    if (weekly_data.macd > 0).tail(2).iloc[0] == False:
        continue
    #加入选中的股票
    selected_stocks.append(code)

#输出选中的股票
print(selected_stocks)

以上代码仅供参考,投资者可以根据自身需求和市场情况进行调整和验证。

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

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

    模板如何使用?

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


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

评论