(同花顺量化)15分钟周期MACD绿柱变短_、近一个月内有过涨停、振幅大于1

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

问财量化选股策略逻辑

选股逻辑为:振幅大于1、近一个月内有过涨停、15分钟周期MACD绿柱变短。该选股策略以价格波动、市场热度和技术指标为依据,选出波动性较大、市场热度高、技术面出现拐点的股票。

选股逻辑分析

该选股策略关注了价格波动、市场热度、技术指标等多个因素,其中振幅和涨停板体现了股票在短期内的波动性和市场热度,15分钟周期MACD则表示短期技术面的走势。选股者可以综合考虑各个因素,将热点和趋势结合起来选出具有较高投资价值的股票。

有何风险?

该选股策略存在以下风险:

  1. MACD指标容易受到噪声的干扰,选股者可能会因此而出现误判。

  2. 15分钟的周期相对较短,选出的标的可能存在局限性。

  3. 相对于完整的选股策略,该策略具有较高的敏感性和不稳定性,应谨慎使用。

如何优化?

优化该选股策略的方法:

  1. 综合使用多个技术指标,如KDJ等,增加选股策略的稳定性和准确性。

  2. 考虑使用更长时间周期的技术指标,如日线MACD和周线MACD,来筛选出具有较高价值的股票。

  3. 合理设置选股策略的参数和阈值,并适时调整。

最终的选股逻辑

选股策略为:振幅大于1、近一个月内有过涨停、15分钟周期MACD绿柱变短。该选股策略以股价波动、涨停板、市场热度和技术面为依据,选出具有较高投资价值的股票。

同花顺指标公式代码参考

A>1,HIGH=REF(HIGH,1),LOW=REF(LOW,1),HIGH<HHV(HIGH,21),LOW>LLV(LOW,21),EMA(C,12)-EMA(C,26)<REF(EMA(C,12)-EMA(C,26),1):1000

其中,A表示当前振幅,HHV(HIGH,21)代表在最近21日内的最高价,而LLV(LOW,21)代表在最近21日内的最低价;而EMA(C,12)-EMA(C,26)<REF(EMA(C,12)-EMA(C,26),1) 则是15分钟周期的MACD指标信号。其他参数参考前述选股逻辑和分析。

python代码参考

from gm.api import *

set_token("your_token_here")

start_date = "2021-01-01" # 回测开始日期
end_date = "2022-01-01" # 回测结束日期

# 获取所有股票代码
symbols_all = get_symbols()

# 获取对应股票的历史信息
bars_all = history(symbol=symbols_all, frequency="15m", start_time=start_date, end_time=end_date, fields="open, close, high, low, volume", df=True)

# 筛选符合条件的股票
bar_selected = bars_all[((bar_all.high - bar_all.low) / bar_all.close) > 0.01]
bar_selected = bar_selected.loc[(bar_selected.high == bar_selected.close)]
bar_selected = bar_selected.loc[bar_selected.close >= bar_selected.close.rolling(window=21).min()] 
bar_selected = bar_selected.loc[bar_selected.close > bar_selected.close.rolling(window=21).max() * 0.9]

# 判断15分钟周期MACD绿柱是否缩小
diff_EMA12_EMA26 = bar_selected['close'].ewm(span=12).mean() - bar_selected['close'].ewm(span=26).mean()
diff_EMA12_EMA26_prev1 = diff_EMA12_EMA26.shift(1)
macd_hist = diff_EMA12_EMA26 - diff_EMA12_EMA26_prev1
macd_hist_prev1 = macd_hist.shift(1)
is_tightening = (macd_hist < 0) & (macd_hist_prev1 < macd_hist)

bar_selected = bar_selected.loc[is_tightening]

# 打印选中的股票代码
print(bar_selected.index.get_level_values(0).unique())

该代码通过 Pandas 对象读取股票历史信息,筛选出符合选股逻辑条件的股票,并将股票代码打印出来。代码可以在量化平台和本地 Python 环境中执行。

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

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

    模板如何使用?

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


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

评论