(同花顺量化)2021年_、规模2亿以上、rsi小于65

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

问财量化选股策略逻辑

选股逻辑:选择RSI小于65,规模在2亿以上,2021年有业绩增长的股票。

选股逻辑分析

该选股逻辑主要通过技术指标来判断股票的短期上涨趋势,并考虑基本面中的市值因素,同时加入了业绩增长因素,强调股票的增长性,更符合市场投资趋势,具有一定的实用性。

有何风险?

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

  1. 过度关注业绩增长因素,有可能忽略了一些股票的估值等其他因素,有可能在牛市中获利,但在熊市中容易产生亏损;
  2. 选取的RSI指标可能过于单一,应该结合其他指标进行综合考虑;
  3. 过度依赖历史数据,适应性不够强,有可能在市场大幅变化时失效。

如何优化?

可以采用一些多因子模型对股票进行评价,综合各项指标,同时结合市场和行业趋势等宏观因素,进行更全面的选股分析,提高选股的精准性和合理性。

最终的选股逻辑

筛选出RSI小于65,规模在2亿以上,2021年有业绩增长的股票。

同花顺指标公式代码参考

RSI(CLOSE,14) < 65 AND MKT_CAP >= 200000000 AND YEARLY(YOY(NP_PARENT_COMPANY_SHAREHOLDER)>=0.1, 1)

python代码参考

from jqdata import *
import talib

# 获取选股结果
def select_stocks(context):
    # 获取市场和行业趋势
    market_trend = market.get_trend(context.current_dt)
    industry_trend = get_industry_trend(context, ['电信运营', '互联网'])  # 以电信运营和互联网行业为例
    # 获取所有股票的技术形态、基本面信息和2019年至今的财务数据
    all_tech = history_bars(context.universe, 26, '1d', ['high','low','close'])
    all_info = get_fundamentals(query(valuation, indicator, stockcode).filter(
        valuation.circulating_market_cap <= 5.5e9,
        valuation.circulating_market_cap >= 2e8
    )).drop(columns=['id', 'day', 'pub_date'])
    all_financials = get_fundamentals(query(indicator, income, balance, cash_flow, stockcode).filter(
        indicator.pub_date >= (datetime.datetime.now()-datetime.timedelta(365*2)).strftime('%Y%m%d')
    )).drop(columns=['id', 'day', 'pub_date'])
    # 筛选RSI小于65
    selected_stocks = all_info.loc[all_info['stockcode'].isin(all_tech.columns)]
    selected_stocks = selected_stocks.loc[talib.RSI(all_tech['close'], timeperiod=14).iloc[-1] < 65]
    # 筛选市值2亿以上
    selected_stocks = selected_stocks.loc[selected_stocks['circulating_market_cap'] >= 2e8]
    # 筛选2021年有业绩增长的股票
    year_2021 = all_financials['day'] >= '2021-01-01'
    year_2019 = (all_financials['day'] >= '2019-01-01') & (all_financials['day'] <= '2019-12-31')
    selected_stocks = selected_stocks.loc[((all_financials.loc[year_2021]['np_parent_company_owners'] - all_financials.loc[year_2019]['np_parent_company_owners']) / all_financials.loc[year_2019]['np_parent_company_owners']) >= 0.1]
    # 筛选符合市场趋势的股票
    selected_stocks = selected_stocks.loc[selected_stocks['stockcode'].isin(market_trend['up'] + market_trend['strong_up'] + industry_trend['电信运营']['up'] + industry_trend['互联网']['up'])]
    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)
收益&风险
源码

评论