(supermind量化-)振幅大于1、500日内至少2次涨停、按今日竞价金额排序前5_

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

问财量化选股策略逻辑

本选股策略选取振幅大于1、500日内至少2次涨停、按今日竞价金额排序前5的股票。

选股逻辑分析

本选股策略要求股票具有大的振幅以及经历多次涨停,并按照今日竞价金额排序取前5,这说明这些股票在市场中具有一定的人气和热度。可以作为投资参考。

有何风险?

该选股策略忽略了股票的基本面、宏观经济数据等因素,仅仅关注了股票的技术面指标和市场热度,存在忽略其企业真实情况的风险。同时,该选股策略仍然依赖于市场情况,不存在完全有效和稳定的选股策略。

如何优化?

可以结合基本面和业绩指标等因素来选股,如盈利能力、营业收入、净利润增长率等等。同时可以采用预测股票走势的技术分析方法,如MACD、RSI等等,进一步优化选股策略。

最终的选股逻辑

挑选振幅大、至少2次涨停的股票,按竞价金额排序选取前5只股票。

同花顺指标公式代码参考

振幅大于1:

(HIGH - LOW) / PRE_CLOSE > 0.01

500日内至少2次涨停:

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

按今日竞价金额排序前5:

SORT(JJME, False) <= 5

python代码参考

import tushare as ts

selected_stocks = []
for code in ts.get_stock_basics().index:
    #获取股票数据
    daily_data = ts.get_hist_data(code, ktype='D')
    if daily_data is None or len(daily_data) < 80:
        continue
    #判断振幅和涨停次数
    if (daily_data.high.max() - daily_data.low.min()) / daily_data.close.mean() < 0.01:
        continue
    if (daily_data.high / daily_data.low.shift(1) > 1.099).rolling(500).sum() < 2:
        continue
    #获取今日竞价金额
    market_data = ts.get_today_ticks(code)
    if market_data is None:
        continue
    jjme = market_data.amount.sum()
    #按竞价金额排序并筛选前5
    if (jjme <= market_data.amount.nlargest(5).min()):
        selected_stocks.append(code)

#输出选中的股票
print(selected_stocks)

以上仅供参考,具体操作需要根据市场情况和自身的风险偏好进行决策。

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

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

    模板如何使用?

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


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

评论