(supermind)振幅大于1、北京A股除外、30日平均线向上_

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

问财量化选股策略逻辑

选股逻辑:振幅大于1%,北京A股除外,30日平均线向上。

选股逻辑分析

该选股策略同样采用技术分析的方法,结合了振幅和趋势以寻找投资机会。选股逻辑的实现过程为:

  1. 首先排除北京A股,缩小股票范围;
  2. 振幅大于1%的股票可能存在波动性较大的机会,被纳入选股池中;
  3. 通过30日平均线来考虑股票的整体走势是否向上。

有何风险?

该选股逻辑可能存在以下风险:

  1. 过强的技术分析取向会影响人们的投资决策,忽视了基本面的重要性;
  2. 振幅较大的股票不一定是值得投资的,需要进一步考虑其他因素;
  3. 30日平均线虽然是一种常用的趋势指标,但并不完美,当市场行情剧烈变化时,该指标可能存在滞后性。

如何优化?

为了改善以上风险,可以考虑以下方面:

  1. 综合考虑多种因素,不只是技术分析;
  2. 振幅绝对值和30日平均线不一定可行,可以进行调整,引入更多的指标;
  3. 尽可能减小滞后性。

最终的选股逻辑

经过改进后的选股逻辑如下:

  1. 排除北京A股,非中国大陆等区域的股票;
  2. 振幅大于1%的股票;
  3. 最近30天的股价收盘价均值向上;
  4. 尽可能引入其他实用指标以综合考虑。

同花顺指标公式代码参考

选股逻辑的同花顺指标公式如下:

公式1:BOARD_MAIN != '中国大陆' AND AREA != '北京';

公式2:ABS((HIGH / LOW) - 1) > 0.01;

公式3:MA(CLOSE, 30) > REF(MA(CLOSE, 30), 1);

选股公式:公式1 AND 公式2 AND 公式3;

python代码参考

选股逻辑的python代码如下:

def tech_picker(context):
    # 非北京A股和非中国大陆
    exc_stocks = context.exc_stocks[(context.exc_stocks.board_main != '中国大陆') & (context.exc_stocks.area != '北京')]
    
    # 振幅大于1%
    narrow_stocks = exc_stocks[(((exc_stocks.high / exc_stocks.low) - 1) > 0.01)]
    
    # 30日平均线向上
    close_price = narrow_stocks.price.groupby(level=0).agg(['last'])
    ma_30 = close_price.rolling(30).mean()
    flag = (ma_30['last'] > ma_30['last'].shift()).fillna(False)
    
    # 选出满足条件的股票代码
    return list(flag[flag].index)
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论