(supermind量化策略)task17/a/换手率3%-12%、kdj(k)增长值、连

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

问财量化选股策略逻辑

选股逻辑为:在换手率3%到12%之间,选取KDJ(K)增长值大于0的个股,并且连续3天以上大单净量大于0.05的股票。

选股逻辑分析

本选股逻辑选股主要考虑了交易量的影响,而大单净量的加入可以帮助筛选出高流动性的股票,同时选股逻辑中依然保留了对于KDJ技术指标增长值的考虑,表明该个股技术面表现良好,在换手率3%到12%之间,符合交易量适中的要求。

有何风险?

连续3天以上大单净量大于0.05有可能是短期内的超预期操作,需要进一步了解大单交易的原因,以免受到一些非正常因素的影响。同时,选股策略中仅仅将大单净量作为一个筛选条件,对大单操作的根本目的并未进行深入了解。

如何优化?

可以考虑增加其他筛选条件,如财务数据、市场表现等,综合考虑更多的市场因素和技术面因素以获得更为准确的选股结果。

最终的选股逻辑

在换手率3%到12%之间,选取KDJ(K)增长值大于0的个股,并且连续3天以上大单净量大于0.05的股票。

同花顺指标公式代码参考

通达信选股公式:

选股条件:TURNOVERRATE > 3 AND TURNOVERRATE < 12 AND KDJK > REF(KDJK, 1) AND (CJL > 0 AND CJL / VOL > 0.05 OR (CJL > 0 AND REF(CJL, 1) > 0 AND REF(CJL, 2) > 0 AND REF(CJL / VOL, 1) > 0.05 AND REF(CJL / VOL, 2) > 0.05 AND CJL / VOL > REF(CJL / VOL, 1) AND REF(CJL / VOL, 1) > REF(CJL / VOL, 2)))

其中,TURNOVERRATE 表示换手率指标,KDJK 表示 KDJ 技术指标,REF 表示引用前一根 K 线数据,CJL / VOL 表示大单净量,CJL > 0 表示当天大单成交量大于 0。

Python代码参考

import pandas as pd
from typing import List

def select_stock(data: pd.DataFrame) -> List[str]:
    selected_stocks = []
    stock_data = data[data['turnover_rate'].between(3, 12)]
    stock_data = stock_data[stock_data['kdj_k'].diff() > 0]
    for code in stock_data.index.levels[0]:
        sub_data = data.xs(code, level=0)
        if len(sub_data) < 3:
            continue
        if all(sub_data['big_order_vol'].iloc[i] / sub_data[' volume'].iloc[i] > 0.05 for i in range(-3, 0)):
            selected_stocks.append(code)
    return selected_stocks

选取换手率3%到12%之间的个股,选取KDJ技术指标增长值大于0的个股,判断连续3天以上大单净量是否大于0.05并返回符合条件的股票列表。其中,data表示记录个股交易数据的DataFrame。

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

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

    模板如何使用?

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


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

评论