(iwencai选股策略)近一个月内有过涨停_、换手率3%-12%、rsi小于65

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

问财量化选股策略逻辑

选股逻辑:选取RSI小于65、换手率在3%-12%之间、近一个月内有过涨停的股票作为投资标的。

选股逻辑分析

该选股逻辑主要是通过技术指标和市场行情来筛选潜力股票。选股逻辑包括RSI指标、换手率和近一个月的涨停情况。RSI指标和换手率是影响股票走势的重要因素,近一个月内出现过涨停可能代表着市场对该股票的看好程度或者市场短期炒作的赚钱效应。

有何风险?

该选股方法可能存在的风险:

  • 单纯注重短期涨幅,而对公司的基本面和长期发展可能忽视不计;
  • 选股逻辑未考虑股票的行业和市场周期因素等因素的影响;
  • 选股逻辑过于简单,过度依赖短期行情。

如何优化?

  • 加入更多指标和因素,包括公司财务数据、行业数据、

宏观经济数据等,更全面客观地评估股票的价值;

  • 对选股策略的结果进行回归分析,找到合适的选股筛选模型;
  • 优化选股策略的同时,对持仓进行有效的风险控制和资产配置,减少风险。

最终的选股逻辑

选取RSI小于65、换手率在3%-12%之间、近一个月内出现过涨停的股票作为投资标的。

同花顺指标公式代码参考

选股策略中使用的通达信公式代码如下:

/* 关键指标 */
AND(RSI(C,14)<65,VOLUME/L>=0.03,VOLUME/L<=0.12,CROSS(LASTSTOPTIME(),REF(LASTSTOPTIME(),1))>0)

python代码参考

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

import tushare as ts
import numpy as np
import talib

def select_stocks():
    res = []

    # 自选股
    stk_concepts = ['600519']

    # 除去停牌、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.match('^ST')]
    stk_basics = stk_basics[~stk_basics.index.str.match('^688')]
    stk_basics = stk_basics[stk_basics['launch_date'] <= '2019-09-01']
    stk_basics = stk_basics[~stk_basics.index.str.match('^00224')]
    stk_basics = stk_basics[~stk_basics.index.str.match('^0025[678]')]
    stk_basics = stk_basics[~stk_basics.index.str.match('^30[01]')]

    for idx, row in stk_basics.iterrows():
        if row['outstanding'] <= 0 or row['totals'] <= 0:
            continue
        if row['esp'] < 0:
            continue
        try:
            # 行情数据
            hist_data = ts.get_hist_data(idx)
            if hist_data is None:
                continue

            close_data = hist_data['close'].values
            high_data = hist_data['high'].values
            low_data = hist_data['low'].values

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

            # 换手率
            vol_threshold = (0.03, 0.12)
            turnover_rate = hist_data['volume'][-1] / hist_data['volume'][0]
            if turnover_rate < vol_threshold[0] or turnover_rate > vol_threshold[1]:
                continue

            # 近一个月内涨停
            stop_days_threshold = 22
            stop_data = ts.get_today_ticks(idx)
            if stop_data is None or len(stop_data) == 0:
                continue
            if (stop_data['pchange'] >= 9.9).sum() == 0:
                continue

            res.append(idx)

        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)
收益&风险
源码

评论