(supermind)振幅大于1、今日控盘>21、今日最大跌幅<-4且>-5_

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,今日控盘>21,今日最大跌幅<-4且>-5。

选股逻辑分析

该选股策略主要考虑了技术面和市场资金面。振幅大于1考虑了股票的波动性,今日控盘大于21反映了市场资金流入,今日最大跌幅<-4且>-5可以反映市场资金的情况、股票的场内情况,本质上是利用投资者对某些事件的情绪反应,得以快速响应市场趋势。选股逻辑考虑了技术面和市场资金面,可以更全面地体现行情的多方面信息。

有何风险?

该选股策略可能面临以下风险:

  1. 内在风险:该策略可能因为过分注重历史数据,而无法充分反映当前市场状况,影响其选股准度;
  2. 风险控制不够严格:该策略可能对市场情绪的选股标准存在一定偏差,需要对风险控制进行更多的考虑;
  3. 策略过于简单:该策略可能受到同行竞争的影响,不同选股策略之间会产生类似或重复的股票池选取问题。

如何优化?

为了降低风险和提高策略的精度,我们可以通过以下措施进行优化:

  1. 结合更多的指标:在现有指标的基础上,可以多结合一些相关指标,以共同体现市场条件和股票基本面情况;
  2. 调整选股标准:我们可以设定某些标准的分值,并根据其重要性分配相应的权重,以减轻某些标准的影响;
  3. 运用机器学习、深度学习等方法:可采用回归等算法,通过不断的训练和优化,进而提高选股策略的准确率和稳定性。

最终的选股逻辑

基于以上分析和优化需求,我们最终选择以下选股逻辑:

  1. 振幅大于1;
  2. 今日控盘大于21;
  3. 今日最大跌幅<-4且>-5。

同花顺指标公式代码参考

以下是同花顺实现此策略的部分指标公式代码:

C1 = AMP() > 1;
C2 = ABS(CONTROLLING_SHARES_DAY_CHG()) > 21;
C3 = REF(LOWEST(CLOSE, 60), 1) / REF(CLOSE, 1) < -0.04 AND REF(LOWEST(CLOSE, 60), 1) / REF(CLOSE, 1) > -0.05;
SELECTOR = C1 AND C2 AND C3;
RESULT = REF(SORT(RANK(SELECTOR), 1), 0) == 0;

python代码参考

以下是Python实现此策略的部分代码:

def select_stocks():
    selected_stocks = []
    for stock in get_all_stocks():
        c1 = get_price(stock, end_date=datetime.now(), frequency='1d', fields='amplitude')[-1] > 0.01
        c2 = abs(get_controlling_shareholders(stock, end_date=datetime.now(), frequency='1d')['controlling_shareholders_day_pct_change'][-1]) > 0.21
        c3 = get_price(stock, start_date=datetime.now() - timedelta(days=60), end_date=datetime.now(), frequency='1d', fields=['close', 'low'])['low'][-2] / get_price(stock, start_date=datetime.now() - timedelta(days=60), end_date=datetime.now(), frequency='1d', fields=['close'])['close'][-2] < -0.04 and get_price(stock, start_date=datetime.now() - timedelta(days=60), end_date=datetime.now(), frequency='1d', fields=['close', 'low'])['low'][-2] / get_price(stock, start_date=datetime.now() - timedelta(days=60), end_date=datetime.now(), frequency='1d', fields=['close'])['close'][-2] > -0.05
        if c1 and c2 and c3:
            selected_stocks.append(stock)
    selected_stocks = sorted(selected_stocks, key=lambda x: get_price_change(x, 1, datetime.now(), frequency='1d'), reverse=True)
    return selected_stocks[:5]

result = select_stocks()
print(result)

以上Python代码仅供参考,具体实现还需要根据自己的需求调整。

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

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

    模板如何使用?

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


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

评论