需要帮助?

试试AI小助手吧

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

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

问财量化选股策略逻辑

选股逻辑为:在换手率3%到12%之间,选取KDJ(K)增长值大于0且小于100的个股,并要求今日均线向上发散。

选股逻辑分析

该选股逻辑在基本选股逻辑的基础上加入了今日均线向上发散的要求,即股价在近期表现较强,且有可能继续上涨。此逻辑可选出部分近期表现较强的标的,在可控风险的情况下可以追踪这些标的。

有何风险?

此选股逻辑可能会将股价近期上涨但未持续的标的纳入组合中,同时未考虑公司基本面等较为深入的数据,容易忽略风险,需要结合其他指标进行综合分析。

如何优化?

可以考虑引入其他财务指标、市场数据等进行深度分析,从市场趋势、个股估值、基本面等多个方面进行综合考量,从而降低所选标的的风险。

最终的选股逻辑

在换手率3%到12%之间,选取KDJ(K)增长值大于0且小于100的个股,并要求今日均线向上发散。

同花顺指标公式代码参考

通达信选股公式:

选股条件:TURNOVERRATE > 3 AND TURNOVERRATE < 12 AND KDJK > REF(KDJK, 1) AND MA5 > MA10 AND MA10 > MA20 AND MA20 > MA60
变量定义:MA5: 5日均线;MA10: 10日均线;MA20: 20日均线;MA60: 60日均线;REF(x, 1): 前一周期的数据。

其中,TURNOVERRATE 表示换手率指标,KDJK 表示KDJ技术指标,MA5、MA10、MA20 和 MA60 分别表示5日均线、10日均线、20日均线和60日均线,REF 表示引用前一周期的数据。

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]
    stock_data = stock_data[stock_data['ma5'] > stock_data['ma10']]
    stock_data = stock_data[stock_data['ma10'] > stock_data['ma20']]
    stock_data = stock_data[stock_data['ma20'] > stock_data['ma60']]
    selected_stocks = stock_data.index.levels[0].tolist()
    return selected_stocks

选取在换手率3%到12%之间的个股,筛选出KDJ技术指标增长值大于0且小于100且今日均线向上发散的个股。其中,data表示记录个股交易数据的DataFrame,ma5、ma10、ma20 和 ma60 分别表示5日均线、10日均线、20日均线和60日均线。

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

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

    模板如何使用?

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


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

评论