(同花顺量化)9点25分涨幅小于6%_、2021年营收除2018年营收大于1

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

问财量化选股策略逻辑

选股逻辑:选用RSI小于65、2021年营收/2018年营收大于1.1、9点25分涨幅小于6%的股票进行投资。

选股逻辑分析

该选股逻辑在原有基本面因素的基础上,加入了股票价格走势的动态因素,即股票在当日开盘前25分钟的涨幅。此处加入市场情绪因素,不过其特征较为简单,缺乏更为深入的分析。同时,这些特征提供的理论依据相对薄弱,得到较好的选股效果不易。因此,适当引入其他更为充分的市场情绪因素测试,有效提高股票选取策略的稳定性是一项重要的优化工作。

有何风险?

  • 所用市场情绪因素稀疏,对市场情况并非很敏感,能够排除的潜在风险比较有限。

如何优化?

  • 引入更多市场情绪数据(如市场情绪指数、成交量等),加快市场情况的反应时间, 提高选股策略的稳定性和适用性;
  • 日内数据的使用需要慎重考虑,尽量避免单一的市场情绪因素影响投资决策,根据实际情况适度调整权重。

最终的选股逻辑

选取RSI小于65、2021年营收/2018年营收大于1.1、9点25分涨幅小于6%的股票进行投资,选取前N个股票进行投资,投资期限为一年。

同花顺指标公式代码参考

(C/REF(C,1)>1.1) AND RSI(CLOSE, 14) < 65 AND ABS((OPEN-REF(CLOSE,1))/REF(CLOSE,1))<0.06

Python代码参考

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

import tushare as ts
import talib
from datetime import datetime

def select_stocks(n):
    res = []
    basic_info = ts.get_stock_basics()
    for code in basic_info.index:
        try:
            rsi_threshold = 65
            revenue_ratio_threshold = 1.1
            open_threshold = 0.06
            market_value_threshold = 100 * 10**8
                        
            # 营收筛选条件
            revenue_ratio = ts.get_hist_data(code)['revenue'][-1] / ts.get_hist_data(code)['revenue'][0]
            if revenue_ratio < revenue_ratio_threshold:
                continue
            
            # RSI指标
            rsi_data = talib.RSI(ts.get_hist_data(code)['close'].values, timeperiod=14)
            if rsi_data[-1] > rsi_threshold:
                continue
                
            # 选股筛选条件
            stock_data = ts.get_realtime_quotes(code)
            open_price = float(stock_data.loc[0]['open'])
            prev_close = float(stock_data.loc[0]['pre_close'])
            if abs((open_price-prev_close)/prev_close) > open_threshold:
                continue
                
            # 流通市值筛选
            stock_info = ts.get_stock_basics()
            if stock_info.loc[code]['totals'] * open_price * stock_info.loc[code]['outstanding'] < market_value_threshold:
                continue
                
            res.append(code)
        except Exception as e:
            continue
            
    return res[:n]

# 选取前10个股票
res = select_stocks(10)
print(res)

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

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

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

    模板如何使用?

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


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

评论