(supermind)振幅大于1、10日涨幅大于0小于35、底部抬高_

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

问财量化选股策略逻辑

选股逻辑为振幅大于1,10日涨幅大于0小于35,底部抬高。

选股逻辑分析

  1. 底部抬高是一种买入信号,可用于寻找底部股票。
  2. 选股逻辑较为宽松,可能会产生过多噪音。
  3. 底部抬高不一定能预测股票短期走势,需要结合其他指标进行综合判断。
  4. 结合基本面因素可以进一步筛选出有潜力的股票。

有何风险?

  1. 选股逻辑较为宽松,可能会忽略一些潜在的风险。
  2. 底部抬高指标可能会有一定的误判率,存在风险。
  3. 过于依赖技术指标可能会忽略基本面因素。

如何优化?

  1. 结合其他技术指标如MACD、RSI等进行综合判断。
  2. 进一步筛选公司财务状况和管理层的背景等基本面因素。
  3. 根据市场和行业热点进行精细化筛选。

最终的选股逻辑

选股逻辑包括振幅大于1,10日涨幅大于0小于35,底部抬高,并且结合其他技术指标和基本面因素进行综合考量。

同花顺指标公式代码参考

REF(LOW,1)>REF(MA(LOW,16),1) AND (MA(LOW,16)<MA(LOW,64)) AND (MA(LOW,64)<MA(LOW,256)) AND (MA(LOW,256)<MA(LOW,1024))
AND (MAX(HIGH,256)-LOW)<10 AND (HIGH-CLOSE)/(HIGH-LOW)<0.33 AND (HIGH-LOW)/MA(CLOSE,256)>0.2

python代码参考

import akshare as ak

def select():
    data = pd.DataFrame()
    end_date = datetime.now().strftime("%Y%m%d")
    start_date = (datetime.now() - timedelta(days=365)).strftime("%Y%m%d")
    for symbol in ak.stock_zh_a_spot_em(symbol="").iloc[:,0].tolist():
        try:
            k_data = ak.stock_zh_a_daily(symbol=symbol, start_date=start_date, end_date=end_date)
            if len(k_data)<10:
                continue
            last_day = k_data.iloc[-1,:]
            if last_day['close']<last_day['open']:
                continue
            elif last_day['close']>last_day[['open','high','low']].max():
                continue
            elif last_day['volume']>last_day['volume_ma']:
                continue
            elif last_day['low']<talib.MA(k_data['low'], 16).iloc[-2:]:
                continue
            elif talib.MA(k_data['low'], 16).iloc[-3:].mean()>talib.MA(k_data['low'], 64).iloc[-3:].mean():
                continue
            elif talib.MA(k_data['low'], 64).iloc[-3:].mean()>talib.MA(k_data['low'], 256).iloc[-3:].mean():
                continue
            elif talib.MA(k_data['low'], 256).iloc[-3:].mean()>talib.MA(k_data['low'], 1024).iloc[-3:].mean():
                continue
            elif (k_data['high'].iloc[-256:]-k_data['low'].iloc[-256:]).max()-k_data['low'].iloc[-1]>10:
                continue
            elif (last_day['high']-last_day['low'])/(last_day['high']-last_day['low'])<0.33:
                continue
            elif (last_day['high']-last_day['low'])/talib.MA(k_data['close'], 256).iloc[-1]>0.2:
                continue
            else:
                data = pd.concat([data, k_data.iloc[-2:]])
        except:
            continue
    return data
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论