(supermind)振幅大于1、60开头的股票、连续5年ROE>15%_

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

问财量化选股策略逻辑

选股逻辑为振幅大于1,60开头的股票,连续5年ROE>15%。

选股逻辑分析

  1. 振幅大于1表明该股票波动性较高,有大的盈利潜力。
  2. 选择60开头的股票可以筛选出特定市场的股票。
  3. ROE是反映公司盈利能力的重要指标,连续5年ROE>15%表明该公司具有较好的盈利能力和成长性。

有何风险?

  1. 只凭ROE无法全面评估公司的财务状况,需要结合其他指标进行综合评估。
  2. 长期ROE高不一定代表公司长期增长稳定,需要注意公司的经营优劣。

如何优化?

  1. 综合使用多种财务指标,如利润增长率、盈利能力比率、偿债能力比率等,进行综合评估。
  2. 依据公司业务和市场前景结合量化指标进行筛选,挑选具有较好盈利能力、良好经营和良好市场前景的公司股票。

最终的选股逻辑

选股逻辑为振幅大于1,60开头的股票,连续5年ROE>15%。

同花顺指标公式代码参考

//选股逻辑为振幅大于1,60开头的股票,连续5年ROE>15%
VAR1:=LEFT(CODE, 2)='60';
VAR2:=TTM(ROE)>=15 AND TTM(ROE)[1]>=15 AND TTM(ROE)[2]>=15 AND TTM(ROE)[3]>=15 AND TTM(ROE)[4]>=15;
CONDITION:=VAR1 AND VAR2;
//按总市值排序
SORTFIELD:=TCAP;
SIGNAL:=SORTBY(SORTFIELD,1,CONDITION);

Python代码参考

import akshare as ak

def select(df):
    current_year = '2021'
    df = df[(df['最高价'] - df['最低价']) / df['开盘价'] > 0.01]
    df = df[df['股票代码'].str[:2] == '60']
    df = df.groupby('股票代码').apply(lambda x: x[x['年份'].isin([current_year, str(int(current_year)-1), str(int(current_year)-2), str(int(current_year)-3), str(int(current_year)-4)])]['ROE'].apply(lambda y: float(str(y).replace('%', ''))).mean() > 15.0)
    df = df[df]
    df = df.sort_values(by=df['总市值'])
    return df
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论