(supermind量化策略)task17/a/换手率3%-12%、七连阴、高点为两日最高

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

问财量化选股策略逻辑

选股逻辑为:在换手率3%到12%、连续七天下跌、买入价格为前两日股价最高点的股票中进行选择。

选股逻辑分析

该选股逻辑同样是基于技术指标进行选股。通过选择在一定换手率和连续下跌条件下,买入价格选取前两日股价最高点的股票,寻找有反弹潜力的投资机会。

有何风险?

该选股逻辑的风险在于,过于依赖短期技术指标,忽略公司的基本面情况,可能会选错股票;同时,连续下跌不一定代表一定要触底反弹,可能并不具备趋势反转的条件。

如何优化?

为了降低风险,我们可以在选择股票时,综合考虑公司基本面情况和技术指标两方面因素,从多个角度来评估选股的风险;同时,可以加入更多选股条件,如市盈率、市净率等,以提高投资成功的概率。

最终的选股逻辑

选股在换手率3%到12%、连续七天下跌、买入价格为前两日股价最高点的股票中进行选择,同时关注公司的基本面情况,综合考虑多个方面的指标来评估选股风险和收益。

同花顺指标公式代码参考

以下是同花顺指标所需的公式:

选股公式:
选股条件:(NOT DFCF(_FCODE, 'CWX_QKBD')) AND (NOT DFCF(_FCODE, 'CWX_KCB')) AND (-LOW == LLV(-LOW, 7)) AND (STREND(MAX(HIGH, 2), 2) == 1) AND (TURNOVERRATE > 3 AND TURNOVERRATE < 12);

DFCF(_FCODE, 'CWX_QKBD'):科创板
DFCF(_FCODE, 'CWX_KCB'):创业板

注:选股公式中的 STREND 和 LOW == LLV(-LOW, 7) 需要根据自己数据源的指标名做相应修改。

Python代码参考

import pandas as pd
from typing import List

def select_stock(data: pd.DataFrame) -> List[str]:
    selected_stocks = []
    for code, df in data.groupby(level=0):
        if (df['turnoverratio'].iloc[-1] > 3 and \
            df['turnoverratio'].iloc[-1] < 12 and \
            (df['close'] < df['open']).rolling(window=7).sum().iloc[-1] == 7 and \
            df['high'].rolling(window=2).max().shift(-1).iloc[-2] == df['high'].rolling(window=2).max().iloc[-2] and \
            not df['CWX_QKBD'].any() and not df['CWX_KCB'].any()):
            selected_stocks.append(code)
    return selected_stocks

其中,rolling函数表示滚动窗口计算指标,TURNOVERRATE表示换手率,可以通过TA库等开源库来计算。

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

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

    模板如何使用?

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


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

评论