(同花顺量化)10天内涨停天数大于2_、昨天换手率>8%、至少5根均线重合的股票

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 昨天换手率>8%
  • 10天内涨停天数大于2

选股逻辑分析

  • 该策略主要关注均线的重合情况,寻找多条均线汇聚的股票,表明市场趋势较为明确,容易出现上涨行情。
  • 换手率要求昨天换手率大于8%,表明市场活跃度较高,容易出现交易机会。
  • 涨停天数要求10天内涨停天数大于2,表明股票近期受到市场关注,容易出现上涨行情。

有何风险?

  • 该策略过于依赖于技术指标,忽略了其他因素的影响,如公司基本面、行业前景等,因此可能存在一定的风险。
  • 如果市场出现极端行情,如暴跌或大涨,该策略可能会失效。

如何优化?

  • 可以结合其他因素,如公司基本面、行业前景等,对股票进行综合评估,以降低风险。
  • 可以通过调整参数,如均线数量、换手率阈值等,来优化策略。

最终的选股逻辑

  • 股票至少有5条均线重合
  • 昨天换手率大于8%
  • 10天内涨停天数大于2
  • 公司基本面良好
  • 行业前景乐观

python代码参考

import talib
import pandas as pd

def get_5均线_convergence(data):
    # 获取股票的历史K线数据
    k_data = data['close'].values
    # 计算5日、10日、20日、30日、60日均线
    ma5 = talib.MA(k_data, timeperiod=5)
    ma10 = talib.MA(k_data, timeperiod=10)
    ma20 = talib.MA(k_data, timeperiod=20)
    ma30 = talib.MA(k_data, timeperiod=30)
    ma60 = talib.MA(k_data, timeperiod=60)
    # 计算5条均线的交叉点
    cross_points = []
    for i in range(5):
        if ma5[i] > ma10[i] and ma10[i] > ma20[i] and ma20[i] > ma30[i] and ma30[i] > ma60[i]:
            cross_points.append(i)
    # 返回交叉点的数量
    return len(cross_points)

def get换手率(data):
    # 获取股票的历史成交量数据
    v_data = data['volume'].values
    # 计算昨天的换手率
    yesterday_v = v_data[-1]
    yesterday_a = data['close'].values[-1]
    yesterday换手率 = yesterday_v / yesterday_a * 100
    # 返回昨天的换手率
    return yesterday换手率

def get_stocks(data):
    # 获取所有股票的数据
    stocks = data['code'].unique()
    # 获取所有股票的历史K线数据
    k_data = data.loc[stocks, 'close'].values
    # 获取所有股票的历史成交量数据
    v_data = data.loc[stocks, 'volume'].values
    # 获取所有股票的昨天换手率
    yesterday_v = v_data[-1]
    yesterday_a = data.loc[stocks, 'close'].values[-1]
    # 获取所有股票的10天内涨停天数
    num_stocks = len(stocks)
    num_stocks_10 = 0
    for i in range(num_stocks):
        if k_data[i] > k_data[i-10] and k_data[i-10] > k_data[i-20] and k_data[i-20] > k_data[i-30] and k_data[i-30] > k_data[i-60]:
            num_stocks_10 += 1
    # 返回符合条件的股票列表
    return stocks[num_stocks_10/10:]

以上代码中,get_5均线_convergence函数用于计算股票的5条均线的交叉点数量,get换手率函数用于计算股票昨天的换手率,get_stocks函数用于获取符合条件的股票列表。最后,可以将这些函数组合起来,使用股票的代码作为输入,筛选出符合条件的股票。

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论