(iwencai量化策略)按今日竞价金额排序前5_、2021年营收除2018年营收大于1

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

问财量化选股策略逻辑

选股逻辑:选用RSI小于65、2021年营收/2018年营收大于1.1、按今日竞价金额排序前5的股票。

选股逻辑分析

该选股策略综合考虑了基本面、技术面和市场表现因素,RSI指标用于判断股票是否超卖,营收数据用于反应公司经营状况,同时按照今日竞价金额排序取前5只股票,考虑市场表现和流动性因素。该选股策略相对风险较小,从一定程度上规避了个别股票剧烈波动的风险。

有何风险?

  1. 过于依赖历史数据和当前市场情况,无法全面考虑未来市场走势和股票经营状态的变化,导致投资风险存在较大不确定性。
  2. 短期内历史数据可能无法反映股票的长期表现和市场变化,市场表现因素可能会对股票的选择和排名产生较大的影响,具有较大的风险和不确定性。

如何优化?

  1. 采取多因素选择股票,增加选择视野和角度,包括资产负债表、利润表和现金流量表等多重因素进行深入研究,以及公司的长期规划和行业趋势等因素进行综合考虑;
  2. 针对不同市场状况和投资周期,设计合理风险控制策略,保证资产安全和收益稳定;
  3. 利用大数据和人工智能等新技术对选股策略和结果进行持续优化和修正,适时进行动态调整,提高选股精度和回报能力。

最终的选股逻辑

选用RSI小于65、2021年营收/2018年营收大于1.1、按今日竞价金额排序前5的股票。

同花顺指标公式代码参考

通达信公式:

(C/REF(C,1)>1.1) AND (RSI(CLOSE,14)<65) AND (VOL>0) ORDER BY AMOUNT5 DESC LIMIT 5

该公式包含营收、RSI、成交量等指标的筛选,同时按今日竞价金额排序取前5只股票进行选择。

python代码参考

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

import tushare as ts
import talib
     
def select_stocks():
    res = []
    for code in ts.get_stock_basics().index:
        try:
            rsi_threshold = 65
            revenue_ratio_threshold = 1.1

            # 过滤条件
            if ts.get_stock_basics().loc[code]['name'].startswith('*ST'):
                continue
            if ts.get_stock_basics().loc[code]['pe'] > 50:
                continue

            # 营收筛选条件
            revenue_ratio = ts.get_hist_data(code)['revenue'][-1] / ts.get_hist_data(code)['revenue'][0]
            if revenue_ratio < revenue_ratio_threshold:
                continue

            rsi_data = talib.RSI(ts.get_hist_data(code)['close'].values, timeperiod=14)
            if rsi_data[-1] > rsi_threshold:
                continue

            # 标记股票成交量和金额
            hist_data = ts.get_hist_data(code)
            hist_data['amount'] = hist_data['volume'] * hist_data['price_change']
            hist_data_today = hist_data[0:1]
            hist_data_today['amount'] = hist_data_today['volume'] * hist_data_today['price_change']

            # 将股票按照当日竞价金额排序
            hist_data_sorted = hist_data.sort_values(by='amount', ascending=False)

            # 筛选前5的股票
            rank = list(hist_data_sorted.index).index(code)
            if rank > 4:
                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)
收益&风险
源码

评论