(supermind量化-)振幅大于1、500日内至少2次涨停、2021年营收除2018年

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

问财量化选股策略逻辑

本选股策略选取振幅大于1、500日内至少2次涨停,且2021年营收/2018年营收大于1.1的股票。

选股逻辑分析

本选股策略在考虑技术面因素的基础上,引入基本面因素,选取具备较大振幅和有涨停历史的股票,同时通过对营收增长率的要求,筛选出具有较好业绩增长的标的。

有何风险?

本选股策略过于依赖于营收变化的单一指标,可能会忽略其他关键的公司财务数据和市场情况。同时,选股过于依赖历史数据,无法完全预测未来业绩增长情况,存在一定的不确定性。

如何优化?

可以引入其他基本面因素和技术指标,如成交量、资产负债表数据、市盈率等,以全面了解公司的财务和市场情况,从而更全面地筛选具备较好业绩增长和投资价值的标的。同时,定期对选股策略进行回溯测试和优化,根据历史表现将策略持续优化,提高选股的准确性和可靠性。

最终的选股逻辑

在选择具有较大振幅和有涨停历史的股票的基础上,结合公司营收增长情况进行筛选,同时结合其他基本面因素和技术指标进行全面分析,筛选出具有较好业绩增长和投资价值的标的。

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

振幅大于1:

(HIGH - LOW) / PRE_CLOSE > 0.01

500日内至少2次涨停:

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

2021年营收/2018年营收大于1.1:

YEAR(ANNUAL.INCOME[0]) / YEAR(ANNUAL.INCOME[-3]) > 1.1

排序:

SORT('资金强度', False)

python代码参考:

import tushare as ts

selected_stocks = []
for code in ts.get_stock_basics().index:
    #获取股票数据
    annual_data = ts.get_report_data(YEAR, code)
    daily_data = ts.get_hist_data(code)
    if daily_data is None or daily_data['high'].count() < 20:
        continue
    #判断营收增长率
    income_growth_rate = annual_data['ANNUAL.INCOME'].iloc[-1] / annual_data['ANNUAL.INCOME'].iloc[0]
    if income_growth_rate < 1.1:
        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
        
    selected_stocks.append(code)
    
#输出选中的股票
print(selected_stocks)

本选股策略在综合考虑技术面因素、基本面因素的基础上,筛选出具备较好业绩增长和投资价值的标的,但同样需要结合其他因素进行投资决策,避免单一指标的盲目跟风。

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

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

    模板如何使用?

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


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

评论