(supermind量化)连续5年ROE>15%_、换手率_2%且_9%、振幅大于1

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

问财量化选股策略逻辑

选股逻辑为: 振幅大于1,换手率大于2%小于9%,连续5年ROE>15%。该选股策略主要从市场交易情况和公司基本面两个角度进行综合考虑。

选股逻辑分析

该选股策略在市场交易情况和公司基本面两个方面综合考虑。振幅和换手率反映了市场交易情况,ROE则体现了公司基本面。此策略引入了ROE条件,可以筛选出稳定盈利、具有成长性的公司。因此,该选股策略可以提高投资成功率。

有何风险?

该选股策略仅仅考虑了公司的ROE,而忽略了其他重要的基本面指标,如营收、净利润等。同时,该策略筛选出的股票可能存在回落风险,特别是股价已经上涨过多时。投资者应该注意风险控制。

如何优化?

应该引入其他的基本面因素如营收增长,净利润增长,财务风险等,同时还应结合技术面指标如死叉、金叉、MACD等对选择的股票再次挑选和过滤。整合多维数据,提高选股精度,增强风险控制能力。

最终的选股逻辑

选股条件为:振幅大于1,换手率大于2%小于9%,连续5年ROE>15%。该选股策略主要从市场交易情况和公司基本面两个角度进行综合考虑。

同花顺指标公式代码参考

选股条件为:振幅大于1,换手率大于2%小于9%,连续5年ROE>15%。

C1: ABS((HIGH/LOW-1)*100)>=1; //振幅大于1
C2: TURNOVER_RATE>2 AND TURNOVER_RATE<=9; //换手率大于2%小于9%
C3: NATURE == '合并报表' AND ROE >= 15; // 连续5年ROE>15%
SYMBOL: C1 AND C2 AND C3;

python代码参考

import pandas as pd
import tushare as ts

def select_stocks(length):
    ts.set_token('your_token')
    pro = ts.pro_api()

    # 获取所有股票数据
    data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,name')

    # 筛选符合条件的股票
    df_list = []
    for i in range(len(data)):
        code = data.iloc[i]['ts_code']
        # 判断是否符合要求
        k_data = pro.daily(ts_code=code, start_date='20170101', end_date='20211231')
        if k_data.empty:
            continue
        if abs((k_data.iloc[-1]['high'] / k_data.iloc[-1]['low'] - 1) * 100) < 1: # 振幅小于1
            continue
        turnover_rate = k_data.iloc[-1]['vol'] / (k_data.iloc[-2]['vol'] + k_data.iloc[-3]['vol'] + k_data.iloc[-4]['vol']) * 100 # 换手率
        if turnover_rate < 2 or turnover_rate > 9: # 换手率不在2%~9%之间
            continue
        # 判断公司的ROE是否连续5年大于15%
        fin_data = pro.fina_indicator(ts_code=code)
        fin_data = fin_data.sort_values(by='end_date', ascending=False)
        roe_list = fin_data.iloc[:5]['roe'].tolist()
        if not all([x > 15 for x in roe_list]): # ROE不足连续5年大于15%
            continue
        info = {}
        info['ts_code'] = code
        info['name'] = data.iloc[i]['name']
        df_list.append(info)

    # 随机选择一定数量的股票
    selected_stocks = pd.DataFrame(df_list)
    selected_stocks = selected_stocks.sample(n=length)
    return selected_stocks

致辞

本次问答为选股逻辑:振幅大于1,换手率大于2%小于9%,连续5年ROE>15%的问答。该选股策略主要从市场交易情况和公司基本面两个角度进行综合考虑。所给出的通达信指标公式参考和python代码参考仅供参考,读者可以根据实际情况进行优化和修改。

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

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

    模板如何使用?

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


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

评论