(同花顺量化)500日内至少2次涨停_、KDJ刚形成金叉、至少5根均线重合的股票

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • KDJ刚形成金叉
  • 500日内至少2次涨停

选股逻辑分析

  • 这个策略的逻辑是寻找均线重合的股票,这表明这些股票在短期内有较强的支撑和阻力,可能会出现较为明显的趋势行情。
  • 同时,KDJ指标刚刚形成金叉,表示短期市场情绪开始转暖,股票可能会出现上涨的趋势。
  • 最后,要求股票在500日内至少2次涨停,这表明该股票具有较强的爆发力和市场关注度。

有何风险?

  • 这个策略的缺点是只考虑了短期趋势和市场情绪,没有考虑长期的基本面因素,因此可能会忽略一些真正有潜力的股票。
  • 另外,要求股票在500日内至少2次涨停,可能会导致选出的股票过于激进,风险较高。

如何优化?

  • 可以考虑加入更多的基本面因素,例如市盈率、市净率等,以更全面地评估股票的价值和潜力。
  • 可以调整KDJ金叉的条件,例如将金叉的条件放宽或收紧,以适应不同的市场环境。

最终的选股逻辑

  • 股票的均线至少有5根重合,且均线排列有序,表明市场趋势较为明显。
  • KDJ指标的金叉条件为:K值在20以下,D值在20以下,J值在20以上。
  • 股票在500日内至少出现2次涨停,表明该股票具有较强的爆发力和市场关注度。

python代码参考

import talib
import pandas as pd

def get_kdj_data(df):
    # 获取KDJ指标数据
    k, d, j = talib.KDJ(df['close'], timeperiod=9)
    return pd.DataFrame({'k': k, 'd': d, 'j': j})

def get均线_data(df):
    # 获取均线数据
    ma5, ma10, ma20, ma30, ma60 = talib.MA(df['close'], timeperiods=[5, 10, 20, 30, 60])
    return pd.DataFrame({'ma5': ma5, 'ma10': ma10, 'ma20': ma20, 'ma30': ma30, 'ma60': ma60})

def get_stocks_with_kdj_and_5_ma(df):
    # 获取KDJ和均线重合的股票
    stocks = []
    for index, row in df.iterrows():
        if row['k'] > row['ma5'] and row['d'] > row['ma5'] and row['j'] > row['ma5']:
            stocks.append(index)
    return df.iloc[stocks]

def get_stocks_with_kdj_and_500_stocks(df):
    # 获取KDJ和均线重合的股票,并要求股票在500日内至少出现2次涨停
    stocks = []
    for index, row in df.iterrows():
        if row['k'] > row['ma5'] and row['d'] > row['ma5'] and row['j'] > row['ma5'] and row['close'] > row['close'].shift(1) * 1.2:
            stocks.append(index)
    return df.iloc[stocks]

# 示例数据
df = pd.DataFrame({
    'date': ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05'],
    'close': [10, 12, 15, 18, 20]
})

# 使用get_kdj_data函数获取KDJ指标数据
kjdf = get_kdj_data(df)

# 使用get均线_data函数获取均线数据
ma5df = get_ma_data(df)

# 使用get_stocks_with_kdj_and_5_ma函数获取KDJ和均线重合的股票
stocks = get_stocks_with_kdj_and_5_ma(df)

# 使用get_stocks_with_kdj_and_500_stocks函数获取KDJ和均线重合的股票,并要求股票在500日内至少出现2次涨停
stocks = get_stocks_with_kdj_and_500_stocks(df)

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

模板如何使用?

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

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论