(同花顺量化)10日涨幅大于0小于35_、昨天换手率>8%、至少5根均线重合的股票

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 昨天换手率>8%
  • 10日涨幅大于0小于35

选股逻辑分析

  • 这个策略的逻辑是寻找均线密集的股票,这些股票通常代表着价格趋势的稳定性和较强的趋势力度。
  • 换手率的要求是为了筛选出活跃的交易市场,避免僵尸股和冷门股。
  • 10日涨幅的要求是为了筛选出有上涨潜力的股票,避免已经大幅上涨的股票。

有何风险?

  • 这个策略的缺点是过于侧重于短期趋势,可能忽略长期趋势和公司的基本面。
  • 如果股票的价格在短期内波动较大,可能会导致选出的股票数量较少,难以满足投资需求。
  • 这个策略可能无法识别出市场热点和趋势,可能会错过一些有潜力的股票。

如何优化?

  • 可以加入更多均线的条件,例如20日、60日均线等,以更好地反映股票的长期趋势。
  • 可以加入财务数据的条件,例如市盈率、市净率等,以更好地评估股票的价值和风险。
  • 可以加入技术指标的条件,例如MACD、布林线等,以更好地识别股票的趋势和买卖信号。

最终的选股逻辑

  • 筛选出至少5根均线重合的股票
  • 筛选出昨天换手率>8%的股票
  • 筛选出10日涨幅大于0小于35的股票
  • 筛选出市盈率小于20、市净率小于1的股票
  • 筛选出MACD金叉、布林线向上开口的股票

python代码参考

import talib
import pandas as pd

def get_stock_data():
    # 获取股票数据
    data = pd.read_csv('stock_data.csv')
    return data

def get_moving_average(data, n):
    # 计算n日移动平均线
    ma = talib.MA(data['close'], n)
    return ma

def get_sma(data, n):
    # 计算n日简单移动平均线
    sma = talib.SMA(data['close'], n)
    return sma

def get_macd(data):
    # 计算MACD指标
    ema12 = talib.EMA(data['close'], 12)
    ema26 = talib.EMA(data['close'], 26)
    macd, macdsignal, macdhist = talib.MACD(data['close'], fastperiod=12, slowperiod=26, signalperiod=9)
    return macd, macdsignal, macdhist

def get_bollinger(data):
    # 计算布林线指标
    upper, middle, lower = talib.BBANDS(data['close'], timeperiod=20)
    return upper, middle, lower

def get_top_5_moving_average(data):
    # 获取前5日移动平均线
    ma5 = get_moving_average(data, 5)
    ma10 = get_moving_average(data, 10)
    ma20 = get_moving_average(data, 20)
    ma30 = get_moving_average(data, 30)
    ma60 = get_moving_average(data, 60)
    return ma5, ma10, ma20, ma30, ma60

def get_top_5_sma(data):
    # 获取前5日简单移动平均线
    sma5 = get_sma(data, 5)
    sma10 = get_sma(data, 10)
    sma20 = get_sma(data, 20)
    sma30 = get_sma(data, 30)
    sma60 = get_sma(data, 60)
    return sma5, sma10, sma20, sma30, sma60

def get_top_5_macd(data):
    # 获取前5日MACD指标
    macd5, macdsignal5, macdhist5 = get_macd(data)
    return macd5, macdsignal5, macdhist5

def get_top_5_bollinger(data):
    # 获取前5日布林线指标
    upper5, middle5, lower5 = get_bollinger(data, 5)
    return upper5, middle5, lower5

def get_top_5(data):
    # 获取前5日的综合指标
    ma5, ma10

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

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

模板如何使用?

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


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

评论