(iwencai选股策略)今日最低价小于昨日最低价_、至少5根均线重合的股票、振幅大于1

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

问财量化选股策略逻辑

该选股策略包含三个条件:

  • 振幅大于1;
  • 至少5根均线重合;
  • 今日最低价小于昨日最低价。

选股逻辑分析

该选股策略主要关注股票的技术面因素,通过振幅和均线等指标进行筛选,并加入了今日最低价小于昨日最低价的条件,可以较好的判断出股票价格的下跌趋势。但该选股策略没有考虑基本面因素等其他因素,存在潜在风险。

有何风险?

该选股策略没有考虑其他基本面因素以及行业板块等要素,可能会忽略整体股市行情和对应行业板块的影响,存在一定风险。同时,仅仅考虑今日最低价小于昨日最低价可能会漏选部分股票,比如股价长期处于下跌趋势但近期存在反弹,或股价刚开始下跌但还没有创出新低的情况也可能会被筛选掉。

如何优化?

为提高选股策略的准确性和稳定性,建议该选股策略的进一步优化方向为:

  • 加强基本面因素和行业板块因素的考虑,尽可能立足于全局股市行情;
  • 按照实际需要进行灵活筛选、细分,如对不同类型的股票分别进行筛选等;
  • 考虑特定情况下对选股策略的调整,如针对不同市场环境进行因素权重的调整,建立灵活的选股模型。

最终的选股逻辑

综合以上分析,建议优化后的选股逻辑为:

  • 振幅大于1;
  • 至少5根均线重合;
  • 今日最低价小于昨日最低价;
  • 结合基本面和行业板块等要素进行优选,以达到较好的整体选股效果;
  • 考虑对不同类型的股票进行不同筛选,进一步提高准确性和稳定性。

同花顺指标公式代码参考

python代码参考

import pandas as pd
import tushare as ts
import talib

def get_stock_pool(start_date, end_date):
    # 获取所有股票代码
    df = ts.get_stock_basics()
    codes = df.index.tolist()

    result = pd.DataFrame()

    for code in codes:
        # 振幅大于1
        bars_all = ts.get_hist_data(code, start='2021-01-01')
        close = bars_all['close'].values
        high = bars_all['high'].values
        low = bars_all['low'].values
        amplitude = (high - low) / close
        if amplitude[-1] < 0.01:
            continue

        # 均线
        ma_5 = talib.MA(close, timeperiod=5)
        ma_10 = talib.MA(close, timeperiod=10)
        ma_20 = talib.MA(close, timeperiod=20)
        ma_count = len(set([ma[-1] for ma in [ma_5, ma_10, ma_20]]))
        if ma_count < 5:
            continue

        # 今日最低价小于昨日最低价
        bars_all_last_two = ts.get_hist_data(code, start=(pd.to_datetime(end_date) - pd.Timedelta(days=1)).strftime('%Y-%m-%d'), end=end_date)
        if bars_all_last_two['low'].tolist()[1] <= bars_all_last_two['low'].tolist()[0]:
            continue

        # 结合其他基本面指标进行筛选

        # 加强对行业板块因素的考虑

        # 选出的股票加入结果中
        result = result.append({'code': code, 'name': df.loc[code]['name'], 'price': close[-1], 'industry': df.loc[code]['industry']}, ignore_index=True)

    result = result.sort_values(by=['price'], ascending=False)
    return result

注:代码仅供参考,具体选股逻辑和细节可根据实际需求进行调整。

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

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

    模板如何使用?

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


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

评论