(supermind)振幅大于1、连续5年ROE>15%、反包_

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,连续5年ROE>15%,反包。

选股逻辑分析

该选股逻辑在技术面上选择了振幅大于1的股票,在基本面上选择了连续5年ROE>15%的稳健盈利企业,同时加入了反包因素,即股价相对稳定。反包因素是在基本面和技术面的基础上加入的,即反映了市场对股票的认可程度。因此,该选股逻辑不仅可以筛选出稳步增长的优质企业,还可以降低波动性,是一种较为稳健的选股策略。

有何风险?

该选股逻辑可能存在以下风险:

  1. 反包因素虽然可以降低波动性,但在市场整体上涨的情况下,可能会错过一些更高涨幅的股票;
  2. ROE作为衡量企业盈利能力的指标,虽然具有代表性,但也存在缺陷,比如会受到财务造假等因素的影响;
  3. 过分注重基本面指标,可能会忽视技术面的变化,导致错过一些机会。

如何优化?

为了降低风险并提高效果,可以尝试以下优化:

  1. 考虑加入其他技术指标,如均线、波动率等,以做出更加全面的技术面评估;
  2. 加入其他基本面指标,如净利润增长率、资产负债率等,以综合考虑企业状况;
  3. 反包因素虽然可以降低波动性,但也可能有盲目跟风的风险,应结合其他指标一起考虑;
  4. 需要注重选股的时点,尝试在市场波动相对较小的情况下进行。

最终的选股逻辑

根据以上分析和优化,可以得到以下完善的选股逻辑:

  1. 选择振幅大于1的股票,并加入其他相关技术指标,如均线、波动率等;
  2. 选择连续5年ROE>15%的稳健盈利企业,并加入其他基本面指标,如净利润增长率、资产负债率等;
  3. 综合考虑反包因素,但应结合其他指标一起考虑,避免盲目跟风;
  4. 需要注重选股的时点,尝试在市场波动相对较小的情况下进行。

同花顺指标公式代码参考

C1: IF((HIGH - LOW >= 1) AND ('其他波动性指标'), 1, 0);
C2: IF(ROE(CLOSE, 5) > 15, 1, 0);
C3: IF(CLOSE > MA(CLOSE, 30), 1, 0);
SELECTOR: C1 * C2 * C3;
RESULT: SELECTOR;

python代码参考

import pandas as pd
from tqsdk import TqApi

api = TqApi()

klines = api.get_kline_serial("SHFE.rb2101", 24 * 60 * 60, data_length=300)
df = pd.DataFrame(klines)

C1 = (df['high'] - df['low'] >= 1) & ('其他波动性指标')

def check_roe(x):
    return (x > 0.15).all()

C2 = df.groupby('contract.symbol')['roe'].apply(check_roe)

C3 = df['close'] > df['close'].rolling(window=30).mean()

selector = (C1 & C2 & C3).astype(int)
result = df[selector == 1].sort_values('amount', ascending=False).index.tolist()

注意,对于选股逻辑中的“其他波动性指标”、“其他基本面指标”需要根据具体情况做出调整。

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

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

    模板如何使用?

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


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

评论