(supermind量化-)振幅大于1、500日内至少2次涨停、归属母公司股东的净利润(同

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

问财量化选股策略逻辑

本选股策略选取振幅大于1、500日内至少2次涨停,并且归属母公司股东的净利润同比增长率大于20%小于等于100%的股票。

选股逻辑分析

本选股策略综合考虑了技术面和基本面因素,选取振幅大、涨停历史丰富的标的,并通过归属母公司股东的净利润同比增长率判断其业绩增长情况,找出较为稳定的优秀企业。

有何风险?

在选股过程中,方法可能设置有过多的主观因素,例如选择净利润同比增长率,也可能会错过一些无法满足标准的具备中长期投资价值的企业。

如何优化?

可以结合其他指标,如市盈率、市净率、股息率等,综合筛选出精选的、稳定业绩且基本面充足的标的。在指标设置上,也可以根据市场环境的不同进行灵活调整,以适应不同市场的投资机会。

最终的选股逻辑

在选取具有较大振幅和有涨停历史的股票的基础上,以归属母公司股东的净利润同比增长率作为筛选因素,以找出稳定业绩、基本面优良的标的。

同花顺指标公式代码参考:

振幅大于1:

(HIGH - LOW) / PRE_CLOSE > 0.01

500日内至少2次涨停:

SUM(HIGH / REF(LOW,1) > 1.099, 500) >= 2

净利润同比增长率大于20%小于等于100%:

(EPS_YOY > 20) & (EPS_YOY <= 100)

排序:

SORT('净利润同比增长率', False)

python代码参考:

import tushare as ts

selected_stocks = []
for code in ts.get_stock_basics().index:
    #获取股票数据
    daily_data = ts.get_hist_data(code)
    if daily_data is None or daily_data['high'].count() < 20:
        continue
    #判断涨停次数
    if daily_data[(daily_data['high'] / daily_data['low'].shift(1) > 1.099).rolling(500).sum() < 2].empty:
        continue
    #判断振幅
    if (daily_data['high'] - daily_data['low']).mean() / daily_data['close'].mean() < 0.01:
        continue
    #判断净利润同比增长率
    financial_data = ts.get_profit_data(code)
    if financial_data is None or not ((financial_data['roe'].iloc[-1] > 0) and (financial_data['roe'].iloc[-4] > 0) and (financial_data['eps'].iloc[-1] > financial_data['eps'].iloc[-4]) and (20 <= financial_data['eps_yoy'].iloc[-1] <= 100)):
        continue
        
    selected_stocks.append(code)
    
#输出选中的股票
print(selected_stocks)

本选股策略综合了技术面和基本面两个方面,挖掘了较为稳定、基本面充足的标的。在实际投资中,应加强对风险敞口的把控,进行风险控制,提高投资稳定性。

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

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

    模板如何使用?

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


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

评论