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

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

问财量化选股策略逻辑

选股逻辑为:在换手率3%到12%、流通市值50亿到100亿且三个技术指标同时金叉的主板股票中进行选股。

选股逻辑分析

该选股策略结合了市场流动性和技术指标,筛选出了具有市场活力且技术面较好的股票。在考虑流动性的基础上,结合技术面的价值判断,同时要求三个指标金叉,有一定的筛选精度和据此避免一些风险。

有何风险?

该选股策略非常依赖技术指标,只看技术面如果没有实质性的支撑很容易走出误区,同时该选股策略没有考虑到基本面因素,如公司财务、行业前景等等,因此存在无法忽略的风险。

如何优化?

在考虑技术指标的基础上,可以加入基本面和业绩水平等指标,评判一支股票的优劣。同时,可以对技术指标进行优化筛选,选取不同的指标,以及更加科学合理的条件组合,提高选股精度和效果,防止误选。

最终的选股逻辑

在换手率3%到12%、流通市值50亿到100亿且三个技术指标同时金叉的主板股票中进行选股。

同花顺指标公式代码参考

通达信选股公式:

选股条件:(TURNOVERRATE > 3 AND TURNOVERRATE < 12) AND CIRCULATION_VALUE > 5000000000 AND CIRCULATION_VALUE < 10000000000 AND CROSS(MA(CLOSE,5),MA(CLOSE,10)) AND CROSS(MA(CLOSE,10),MA(CLOSE,20)) AND CROSS(MA(CLOSE,20),MA(CLOSE,30))

其中,MA(CLOSE,5)表示5日均线的收盘价,CROSS(A,B)函数表示A与B相交。

Python代码参考

import numpy as np 
import pandas as pd 
from typing import List

def select_stock(data: pd.DataFrame, market: str = '主板') -> 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 \
            np.all(df['close'].iloc[-3:].rolling(5).mean() > df['close'].iloc[-3:].rolling(10).mean()) and \
            np.all(df['close'].iloc[-3:].rolling(10).mean() > df['close'].iloc[-3:].rolling(20).mean()) and \
            np.all(df['close'].iloc[-3:].rolling(20).mean() > df['close'].iloc[-3:].rolling(30).mean())):
            selected_stocks.append(code)
    return selected_stocks

其中,我们通过判断3个均线的金叉情况,筛选出技术面较好的股票,标的股票通过各个条件进行筛选,从而得到选股结果。

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

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

    模板如何使用?

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


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

评论