需要帮助?

试试AI小助手吧

(supermind量化策略)task17/a/换手率3%-12%、流通市值50-100亿

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

问财量化选股策略逻辑

选股逻辑为:在换手率3%到12%、流通市值50-100亿、振幅大于1的范围内选股。

选股逻辑分析

该选股策略主要结合了市场资金流向和股票波动情况进行选股。选股者通过规定换手率、流通市值和振幅等范围,避免了个别股票的异常情况,并且能够筛选出较好的短期买入机会。除此之外,该选股条件不涉及技术分析和基本面分析,相对简单易懂。

有何风险?

该选股逻辑同样忽略了公司基本面、资金流向和市场情况等重要影响因素。同时,选股条件中对振幅的判断较为武断,没有进一步考虑股票波动对选股结果的影响,存在一定偏差。此外,由于选股条件较为简单,遇到市场行情较为复杂时,选股的有效性也会下降。

如何优化?

该选股策略可以加入其他标准进行辅助判断,如市盈率、股息率等。同时可以扩大选股条件范围,增加候选股票,从而提高短期投资机会。此外,在振幅的判断上,可以考虑加入其他技术指标和市场因素,使得选股更加具有代表性。

最终的选股逻辑

在换手率3%-12%、流通市值50亿到100亿、振幅大于1的范围内进行选股,可以搭配其他技术指标和基本面进行筛选。

同花顺指标公式代码参考

以下是通达信选股公式:

选股条件:(TURNOVERRATE > 3 AND TURNOVERRATE < 12) AND CIRCULATION_VALUE > 5000000000 AND CIRCULATION_VALUE < 10000000000 AND (HIGH - LOW) / REF(CLOSE,1) >= 0.01

注:C为收盘价,TURNOVERRATE为换手率,CIRCULATION_VALUE为流通市值。具体条件可以根据实际情况和需求进行修改。

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['circulation_value'].iloc[-1] > 5000000000 and df['circulation_value'].iloc[-1] < 10000000000 and \
            (df['high'] - df['low']).iloc[-1] / df['close'].shift(1).iloc[-1] >= 0.01):
                selected_stocks.append(code)
                
    return selected_stocks

该python代码同样需要注意数据源指标名称的相应调整。通过计算上一个交易日收盘价和振幅之间的比率,判断出振幅是否符合选股条件。

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

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

    模板如何使用?

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


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

评论