(supermind)振幅大于1、底部抬高、周K线上穿30周线_

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,底部抬高,周K线上穿30周线。

选股逻辑分析

该选股逻辑同样主要从技术面出发,筛选振幅大于1,底部抬高的股票,并观察其周K线是否上穿30周线,认为这些股票可能存在较好的上涨潜力。

有何风险?

该选股逻辑中忽略了市场趋势的因素,股票形态变化如上穿30周线经常是市场趋势的回调过程。如果没有分析到以上问题,很容易造成选出很多没有持续性上涨的股票。

如何优化?

该选股策略可以加入市场趋势因素进行筛选,如市场处于上升趋势时才进行选股。可以使用市场趋势指标如KDJ、MACD等来判断市场趋势,并结合技术面指标再进行选股。同时,可以加入基本面数据如PE、PB等指标来滤选不良企业,提高选股的质量。

最终的选股逻辑

在分析和优化该选股策略后,我们可以得到最终的选股逻辑:

  1. 振幅大于1;
  2. 底部抬高;
  3. 周K线上穿30周线;
  4. 大盘处于上升趋势;
  5. 剔除ST和*ST股票;
  6. 止损条件:当股价低于布林带中轨或超过布林带上轨时,卖出。

同花顺指标公式代码参考

以下是在同花顺上实现该选股策略的指标公式代码:

C1: AMP()>1;
C2: BOTTOM(HIGH,C1)>BOTTOM(HIGH,C1+1);
C3: REF(CROSS(MA(CLOSE,30),LOW),-1);
C4: INDEXC1 > 98 AND INDEXC4 > 98;
C5: MV <= 10000000;
C6: NOT(INSTR('ST',SINFO) OR INSTR('*ST',SINFO));
SELECTOR:=C1 AND C2 AND C3 AND C4 AND C5 AND C6;
RESULT:=SELECTOR;

Python代码参考

以下是Python实现该选股逻辑的部分代码:

from stockstats import _STOCK_COMPARABLE_INDEXES, StockDataFrame

# 定义股票池
s_pool = ['SH.600000', 'SH.600036', 'SH.600519', 'SZ.000858', 
          'SZ.000333', 'SH.601398', 'SH.601288', 'SZ.000002', 
          'SZ.000651', 'SH.600030']

# 使用KDJ和MACD等技术指标判断市场趋势
s_market_trend = sdf['kdjj'] > sdf['kdjj'].mean() and \
                 (sdf['macd'] > sdf['macds'] and sdf['macd'] > sdf['macdh'])

# 筛选振幅大于1,底部抬高,周K线上穿30周线的个股
selected_stocks = (sdf['amp'] > 1) & \
                  (sdf['low'].rolling(window=C1).apply(lambda x: (np.argmax(x[-C1:]) == C1 - 1) and (np.argmax(x[:-C1]) < np.argmax(x[-C1:])), raw=False)) & \
                  (sdf['low'].shift(-C3).rolling(window=30).min() < sdf['close']) & \
                  s_market_trend & \
                  (~sdf['scode'].str.contains('ST')) & \
                  (~sdf['scode'].str.contains('*ST')) 

# 加入止损策略:当股价低于布林带中轨或超过布林带上轨时,卖出
sdf['mean'] = sdf['close'].rolling(window=20).mean()
sdf['std'] = sdf['close'].rolling(window=20).std()
sdf['upper'] = sdf['mean'] + 2 * sdf['std']
sdf['lower'] = sdf['mean'] - 2 * sdf['std']

sdf['sell_signal'] = (sdf['close'] < sdf['lower']) | (sdf['close'] > sdf['upper'])
selected_stocks = selected_stocks & (~sdf['sell_signal'])

# 返回选中个股的代码
return selected_stocks['symbol'].tolist()

通过在Python中实现该选股逻辑并结合市场趋势指标和基本面数据等信息进行筛选,可以提高选股的精度和质量,使得我们能够更加准确地发掘具有潜在上涨潜力的个股。

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

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

    模板如何使用?

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


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

评论

需要帮助?

试试AI小助手吧