(supermind量化-)振幅大于1、500日内至少2次涨停、kdj(k)增长值_

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

问财量化选股策略逻辑

本选股策略选取振幅大于1、500日内至少2次涨停,以及KDJ(K)增长值的股票。

选股逻辑分析

本选股策略在技术面上,除了振幅和涨停次数外,还增加了KDJ指标,通过KDJ(K)的增长值来筛选出快速上升的股票。这一指标能够反映股票价格变化的速率和趋势,具备较高的参考价值。

有何风险?

该选股策略仍然注重技术面,可能会忽略掉一些基本面信息,从而选错个股。另外,KDJ指标有一定的滞后性,在股票短暂反转时会产生误判,需要加以注意。

如何优化?

可以在综合使用技术指标和基本面指标的基础上,结合KDJ的其他指标,例如KDJ(D)、KDJ(J),甚至配合其他指标一起使用,例如MACD、RSI等,进行复合指标选股,以尽可能地减少误判。

最终的选股逻辑

在振幅大、涨停次数丰富且KDJ(K)增长值大于0的股票中,进行选股。

同花顺指标公式代码参考:

振幅大于1:

(HIGH - LOW) / PRE_CLOSE > 0.01

500日内至少2次涨停:

SUM(HIGH / REF(LOW,1) > 1.099, 500) >= 2

KDJ(K)增长值:

(KDJ(K,9,3) - REF(KDJ(K,9,3),1)) / REF(KDJ(K,9,3),1) > 0

排序:

SORT('振幅×2+涨停次数+KDJ(K)增长值', False)

python代码参考:

import tushare as ts

selected_stocks = []
for code in ts.get_stock_basics().index:
    #获取股票数据
    daily_data = ts.get_hist_data(code)
    if daily_data is None or daily_data['high'].count() < 20:
        continue
    #判断涨停次数
    if daily_data[(daily_data['high'] / daily_data['low'].shift(1) > 1.099).rolling(500).sum() < 2].empty:
        continue
    #判断振幅
    if (daily_data['high'] - daily_data['low']).mean() / daily_data['close'].mean() < 0.01:
        continue
    #判断KDJ(K)增长值
    if (daily_data['kdjj'] - daily_data['kdjj'].shift(1)) / daily_data['kdjj'].shift(1) <= 0:
        continue
    selected_stocks.append(code)
    
#输出选中的股票
print(selected_stocks)

本选股策略综合了技术面和基本面多个因子,采用复合指标选股,仅供参考。在实际操作中,需要加强对风险敞口的把控,进行风险控制,提高投资稳定性。

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

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

    模板如何使用?

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


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

评论