(同花顺量化)2019分红比例>25%_、今日增仓占比_5%、rsi小于65

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

问财量化选股策略逻辑

选股逻辑:在RSI小于65、今日增仓占比大于5%、2019分红比例大于25%的条件下,选择股票进行投资。

选股逻辑分析

该选股逻辑综合考虑了技术面指标RSI和今日增仓占比,以及基本面指标2019年分红比例,从技术面和基本面综合考虑,选择分红比例较高且表现较为突出的股票进行投资。

有何风险?

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

  • 过于看重单一基本面指标的作用,在综合考虑其他因素时,容易忽略该指标的重要性;
  • 在选股结果中未加入风险控制考虑,例如PE、行业集中度等指标;
  • 没有对股票的财务情况及其他基本面指标进行足够的分析,例如负债率、ROE、利润增长等指标未得到足够重视。

如何优化?

  • 在选股结果中加入其他基本面指标的考虑,例如负债率、ROE、利润增长等指标;
  • 并结合其他市场面和技术面指标,例如MACD、KDJ、成交量等,从多个方面综合考量股票的表现;
  • 结合风控措施加入前述技术面和基本面指标,例如PE、行业集中度等指标,确保选股结果风险可控。

最终的选股逻辑

在RSI小于65、今日增仓占比大于5%、2019年分红比例大于25%的条件下,选择表现较为优异、且基本面指标符合要求的股票进行投资。

同花顺指标公式代码参考

选股策略中使用的同花顺指标公式代码如下:

AND(
    RSI(C, 14) < 65,
    C / O > 1.01,
    FUDIV(Y1, 1) / LC > 0.25
)

其中MA表示股票的均线指标。

Python代码参考

以下是Python代码示例,仅供参考。

import tushare as ts
import talib

def select_stocks():
    res = []

    # 自选股
    stk_concepts = ['601398']

    # 除去停牌、ST、科创板、次新股
    stk_basics = ts.get_stock_basics()
    stk_basics = stk_basics[stk_basics.index.isin(stk_concepts)]
    stk_basics = stk_basics[~stk_basics.index.str.startswith('688')]
    stk_basics = stk_basics[~stk_basics.index.str.match('^ST')]
    stk_basics = stk_basics[stk_basics['launch_date'] <= '2019-09-01']
    stk_basics = stk_basics[~stk_basics.index.str.match('^0023')]

    for idx, row in stk_basics.iterrows():
        if row['outstanding'] <= 0 or row['totals'] <= 0:
            continue
        try:
            # 获取分红数据
            profit_data = ts.profit_data(year=2019, top=1000)
            profit_data = profit_data[profit_data.index == idx]
            if profit_data.empty or profit_data['Divi'].values[0] / row['price'] < 0.25:
                continue

            # 行情数据和人气数据
            hist_data = ts.get_k_data(idx, start='2021-01-01')
            inst_data = ts.inst_detail(str(idx))
            if hist_data is None or len(hist_data) < 60 or inst_data is None:
                continue
            close_data = hist_data['close'].values
            open_data = hist_data['open'].values
            high_data = hist_data['high'].values
            low_data = hist_data['low'].values
            vol_data = hist_data['volume'].values

            # RSI
            rsi_threshold = 65
            rsi = talib.RSI(close_data)[-1]
            if rsi >= rsi_threshold:
                continue

            # 今日增仓占比
            vol_ratio_threshold = 1.05
            vol_ratio = vol_data[-1] / vol_data[-2]
            if vol_ratio <= vol_ratio_threshold:
                continue

            # 选股结果加入到列表中
            res.append({'code': idx, 'rsi': rsi, 'vol_ratio': vol_ratio})

        except Exception as e:
            continue

    res.sort(key=lambda x: pankou_data_raw[pankou_data_raw['code'] == x['code']]['amount'], reverse=True)
    return [x['code'] for x in res[:5]]

res = select_stocks()
print(res)

注:在使用该代码时,请遵守国家法律法规和相关规定,严禁私自开展证券投资活动,自行承担相应风险。

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

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

    模板如何使用?

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


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

评论