(iwencai选股策略)近25个交易日有单日涨幅大于等于百分之10_、规模2亿以上、rs

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

问财量化选股策略逻辑

选股逻辑:选择RSI小于65,规模在2亿以上,并且近25个交易日中有单日涨幅大于等于10%的股票。

选股逻辑分析

该选股逻辑综合考虑了股票的规模、技术指标和前期涨幅对股票的影响,选股条件更加综合,可以筛选出更具有潜力的个股。

有何风险?

该选股逻辑存在以下几个风险:

  1. 仅关注单一指标可能导致忽略其他因素对股价变动的影响;
  2. 短期内的涨幅不一定反映了公司长期价值的变化,股价可能存在一定程度的波动性;
  3. 选股结果可能会受到市场异常波动的影响。

如何优化?

可以综合考虑多个因素制定更为全面的选股规则,例如加入基本面指标、行业板块因素等。同时,可以适当延长选股条件中的交易日时间,以降低市场波动对选股结果的干扰。

最终的选股逻辑

筛选出RSI小于65,规模在2亿以上,并且近25个交易日中有过单日涨幅大于等于10%的股票。

同花顺指标公式代码参考

if((close - ref(close, 1)) / ref(close,1) * 100 >= 10, 1, 0)
// 获取过去25个交易日中单日涨幅大于等于10%的天数
sum(EXIST1, 25)
// 选取符合条件的股票
canSelect = RSI < 65 AND CIRC_TCAP >= 2 && sum(EXIST1, 25) > 0

python代码参考

from jqdata import *
import talib

# 定义选股条件
def select_condition(context):
    # 规模在2亿以上的股票
    q = query(
            valuation.code,
            valuation.circulating_market_cap
        ).filter(
            valuation.circulating_market_cap >= 2e8,
            ~valuation.code.startswith('600'),
            ~valuation.code.startswith('900')
        )
    all_stocks = get_fundamentals(q)
    # 获取过去25个交易日的涨幅
    all_stocks['change_pct'] = (get_price(all_stocks['code'], end_date=context.now, count=25, fields=['close'])['close'] - 
                                get_price(all_stocks['code'], end_date=context.now - timedelta(days=25), count=25, fields=['close'])['close']) / 
                                get_price(all_stocks['code'], end_date=context.now - timedelta(days=25), count=25, fields=['close'])['close']
    return all_stocks

# 获取选股结果
def select_stocks(context):
    all_stocks = select_condition(context)
    # 筛选RSI小于65,近25个交易日有单日涨幅大于等于10%的股票
    selected_stocks = all_stocks.loc[talib.RSI(get_bars(all_stocks['code'].tolist(), context.window, '1d', ['high','low','close'])['close'], timeperiod=14).iloc[-1] < 65]
    selected_stocks = selected_stocks.loc[all_stocks['change_pct'] >= 0.1]
    return selected_stocks

# 注册选股函数
m = M.instruments(v['margin'])
m.add_strategy(select_stocks, force=True)
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论