(supermind量化策略)a1/rsi小于65、涨跌幅×超大单净量、2021年营收除2

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

问财量化选股策略逻辑

本选股策略为:RSI指标小于65,涨跌幅×超大单净量,2021年营收/2018年营收大于1.1。综合考虑个股技术面和基本面因素,筛选具备较好上涨空间和成长价值的个股。

选股逻辑分析

本选股策略综合考虑了个股技术面和基本面因素进行筛选。通过选取RSI指标小于65技术面指标,筛选出近期表现不弱势的股票;通过涨跌幅×超大单净量选股,通过资金面综合考虑股票流通性和成交量,筛选具备上涨潜力的个股;通过核算2021年的营收/2018年的营收,判断个股成长性,筛选出成长速度快的股票。该策略希望从多个方面着手进行个股筛选,找到有上涨空间和成长潜力的个股。

有何风险?

该选股策略仍然存在选择错误的风险。一些事件的发生可能会影响到目标股票符合选择条件的可能性,例如市场的大形态突变、外部因素的影响等,因而可能错杀将来股票上涨的优质标的。同时,该选股策略关注的是公司营收成长,对于其它财务指标的关注不足,存在潜在的风险。

如何优化?

该选股策略在选股逻辑中关注的是RSI、涨跌幅×超大单净量、营收成长三个方面,技术面较为全面。但从基本面来看,还可以结合利润、现金流、股本、ROE、扣非净利等指标综合选择,能够更准确的筛选出较好的投资标的。同时,还应该通过监测市场态势、经济政策等因素,对股票筛选过程中的风险进行管理和控制。

最终的选股逻辑

本选股策略为:RSI指标小于65,涨跌幅×超大单净量,2021年营收/2018年营收大于1.1。综合考虑个股技术面和基本面因素,筛选具备较好上涨空间和成长价值的个股。

同花顺指标公式代码参考

2021年营收/2018年营收大于1.1:计算2021年营收和2018年营收,并判断是否大于1.1

python代码参考

# 导入需要使用的库
import pandas as pd
import tushare as ts

# 选股函数
def stock_picking():
    # 获取RSI指标小于65,涨跌幅×超大单净量大于1,2021年营收/2018年营收大于1.1,非ST、银行、券商、保险、地产股票
    basics_data = ts.get_stock_basics()
    data = ts.cap_tops(days=1)
    
    filter_data = data.merge(basics_data, on='code', how='inner')
    filter_data = filter_data[(filter_data['net'] > 0)
                              & (filter_data['turnoverratio'] > 0.05)
                              & (filter_data['pb'] > 0)
                              & (filter_data['pe'] > 0)
                              & (filter_data['industry'] != 'ST')
                              & (filter_data['industry'] != '银行')
                              & (filter_data['industry'] != '证券')
                              & (filter_data['industry'] != '保险')
                              & (filter_data['industry'] != '地产')]
    
    for i in range(len(filter_data)):
        code = filter_data.iloc[i]['code']
        data = ts.get_income_statement(code)
        if (len(data) > 0):
            year_2018 = data.iloc[0]['total_revenue']
            year_2021 = data.iloc[3]['total_revenue']
            if year_2018 > 0:
                filter_data.loc[i, 'revenue_growth'] = year_2021 / year_2018
            else:
                filter_data.loc[i, 'revenue_growth'] = 0
        else:
            filter_data.loc[i, 'revenue_growth'] = 0
    
    filter_data = filter_data[filter_data['revenue_growth'] > 1.1]
    filter_data = filter_data.sort_values(['mktcap', 'net'], ascending=False)
    filter_data = filter_data.iloc[:50, :]
    
    return filter_data
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论