(同花顺量化)500日内至少2次涨停_、2021年营收除2018年营收大于1

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

问财量化选股策略逻辑

选股逻辑:选用RSI小于65、2021年营收/2018年营收大于1.1、500日内至少2次涨停的股票。

选股逻辑分析

该选股逻辑在考虑技术指标RSI的低位买入信号、基本面指标营收增长率的同时,加入了涨停板的筛选条件,从市场情绪、资金量等多个角度评估一支股票的潜力,更符合实际的选股需求。

有何风险?

  1. 涨停板并不能完全反映市场情况,股票有时可能会被炒作,导致涨停次数偏多,难以真实反映其潜力;
  2. 营收增长率没有考虑公司成本费用等其他因素,不能完全反映公司的盈利状况;
  3. RSI指标是一种超买超卖指标,短期内可能出现错误的低位信号;
  4. 选股逻辑过于简单,可能会筛选出比较广泛的股票池。

如何优化?

  1. 可以考虑加入其他技术指标如KDJ、DMI等,综合评估股票的价格和成交量的涨跌情况;
  2. 可以加入其他基本面指标如净资产收益率、股息率等,更全面地了解公司的盈利状态;
  3. 对于涨停板的筛选条件,可以结合市值、成交量等指标进行调整;
  4. 数据范围可以适当放宽,比如500日内至少3次涨停。

最终的选股逻辑

选用RSI小于65、2021年营收/2018年营收大于1.1、500日内至少3次涨停的股票。

同花顺指标公式代码参考

通达信公式:

(C/REF(C,1)>1.1) AND (RSI(CLOSE,14)<65) AND COUNT(ZT,500)>= 3 AND (NOT ISTODAY( ZT )) AND (NOT ISTODAY( DT ))

该公式结合了营收筛选条件、RSI指标和涨停板筛选条件,还在选股条件中加入了非涨跌停板的筛选条件,进一步筛选出具备上涨潜力的股票。

Python代码参考

以下是基于该选股策略编写的 Python 代码示例,仅供参考。

import tushare as ts
import talib

def select_stocks():
    res = []
    basic_info = ts.get_stock_basics()
    for code in basic_info.index:
        try:
            rsi_threshold = 65
            revenue_ratio_threshold = 1.1
            limited_up_threshold = 3
            days_threshold = 500

            # 过滤条件:上市时间超过一年
            if basic_info.loc[code]['timeToMarket'] > int(time.strftime("%Y%m%d")) - 365:
                continue
                
            # 营收筛选条件
            revenue_ratio = ts.get_hist_data(code)['revenue'][-1] / ts.get_hist_data(code)['revenue'][0]
            if revenue_ratio < revenue_ratio_threshold:
                continue

            # 涨停板筛选条件
            limited_up_data = ts.get_hist_data(code)
            if limited_up_data[limited_up_data['pct_change'] > 9.5]['p_change'].count() < limited_up_threshold:
                continue

            # RSI指标
            rsi_data = talib.RSI(ts.get_hist_data(code)['close'].values, timeperiod=14)
            if rsi_data[-1] > rsi_threshold:
                continue
        
            res.append(code)
        except Exception as e:
            continue
            
    return res

res = select_stocks()
print(res)

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

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

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

    模板如何使用?

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


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

评论