(supermind)振幅大于1、北京A股除外、今日增仓占比_5%_

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

问财量化选股策略逻辑

选股逻辑:振幅大于1%, 北京A股除外, 今日增仓占比大于5%。

选股逻辑分析

该选股策略结合了股票波动、地域以及增仓等因素,通过限制振幅和地域以及选取合适的增仓占比来筛选股票。适用于短期投资策略。该策略主要通过振幅排除过于稳定的股票,通过地域排除北京A股的股票,从而筛选出具有短期上涨潜力的股票。

有何风险?

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

  1. 高杠杆的资金可能会导致股票波动更加剧烈,进而带来更大的风险;
  2. 忽略了公司的基本面和未来增长性,可能会导致股票的风险增加;
  3. 过于短期的投资策略可能会忽略公司的长期潜力,导致股票选择不当;
  4. 忽略了其他技术指标的预判,更加侧重于短期事件的反应,存在一定的主观判断。

如何优化?

为了改进该选股策略,可以考虑以下方面:

  1. 添加其他技术指标作为辅助,结合流动性和估值因素来提高选股策略的准确性和稳定性;
  2. 增加对公司的财务指标、行业景气度、管理水平、未来前景的评估,可得到额外的权值;
  3. 考虑加入基于市场需求的指标,以确认选定股票实际的买卖能力和风险;
  4. 制定规则来确保选股策略的长期稳健,避免出现过度风险的情况。

最终的选股逻辑

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

  1. 振幅大于1%, 北京A股除外;
  2. 今日增仓占比大于5%;
  3. 选取相对于股票当前市价的偏移程度小于±2%的股票;
  4. 增加对公司的财务指标、行业景气度、管理水平、未来前景的评估可得到额外的权值。
  5. 添加基于市场需求的指标,即选取市盈率在相似行业股票的均值上下波动5%左右的股票。

同花顺指标公式代码参考

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

VOL5:VOL/DMA(VOL,20);

选股公式:VOL5/REF(VOL5,1)>1.05 AND MAX(VAR2,1)>1 AND CAMRANK(CLOSE,21)>=80 AND CAPITALIZATION<=5000000000 AND LCLOSE>1;

python代码参考

选股逻辑的python代码如下:

def momentum_picker(context):
    # 振幅大于1%,北京A股除外
    narrow_stocks = context.narrow_stocks[((context.narrow_stocks.high / context.narrow_stocks.low) - 1) > 0.01]
    exclude_bj_stocks = narrow_stocks[narrow_stocks.area != '北京']
    # 今日增仓占比大于5%
    selected = exclude_bj_stocks[context.stock_api.quote(context.stock_api.get_trade_days(end_date=context.current_date, count=2))['change_pct'].iloc[-1] > 0.05]
    # 选取相对于股票当前市价的偏移程度小于±2%的股票
    selected = selected[((selected.price - ta.MA(selected.price, timeperiod=60)) / ta.MA(selected.price, timeperiod=60)).abs() < 0.02]
    # 增加对公司的财务指标、行业景气度、管理水平、未来前景的评估
    selected = selected.sort_values('score', ascending=False).reset_index()
    selected.loc[:, 'score'] += 10 * (selected['PB'] - ta.MA(selected['PB'], timeperiod=5))
    selected.loc[:, 'score'] += 10 * (selected['PE'] - ta.MA(selected['PE'], timeperiod=5))
    # 添加基于市场需求的指标
    selected.loc[:, 'score'] += 5 * (selected['PE'] - selected.groupby('industry')['PE'].transform('mean')).abs() / selected.groupby('industry')['PE'].transform('mean')
    selected = selected.sort_values('score', ascending=False)
    return selected.index.tolist()
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论