(同花顺量化)15分钟周期MACD绿柱变短_、9点25分涨幅小于6%、至少5根均线重合的股

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票
  • 9点25分涨幅小于6%
  • 15分钟周期MACD绿柱变短

选股逻辑分析

这个策略基于以下三个假设:

  1. 股票的价格趋势是由均线决定的,当至少5根均线重合时,表明市场趋势较为稳定,可以考虑买入。
  2. 9点25分涨幅小于6%的股票,表明该股票在开盘时没有受到市场过大的压力,可能有上涨的潜力。
  3. 15分钟周期MACD绿柱变短,表明市场动能正在减弱,有利于股票价格上涨。

综合以上三个假设,该策略选择在价格趋势稳定、开盘压力较小且动能减弱的股票进行买入。

有何风险?

该策略存在以下风险:

  1. 均线的选取和参数的设定会影响策略的效果,需要进行不断地测试和优化。
  2. 9点25分涨幅小于6%的股票并不一定代表该股票有上涨潜力,可能存在误判。
  3. 15分钟周期MACD绿柱变短也并不一定代表市场动能减弱,可能存在误判。

如何优化?

为了优化该策略,可以考虑以下方法:

  1. 根据不同的市场环境和股票特点,选择不同的均线组合和参数设定。
  2. 在开盘阶段,可以考虑使用其他指标来判断股票的压力和动能,以提高准确率。
  3. 可以使用其他周期的MACD指标来判断市场动能,以提高准确率。

最终的选股逻辑

import tushare as ts
import talib

def get_stocks():
    # 获取所有A股股票
    stocks = ts.get_stocks()
    # 选择至少5根均线重合的股票
    filtered_stocks = []
    for stock in stocks:
        if len(ts.get_k_data(stock, 'close', 5)) >= 5:
            filtered_stocks.append(stock)
    return filtered_stocks

def get_price_trend(stocks):
    # 获取股票价格趋势
    price_trend = []
    for stock in stocks:
        price_trend.append(ts.get_k_data(stock, 'close', 20).rolling(window=5).mean())
    return price_trend

def get_macd信号线(macd):
    # 获取MACD信号线
    signal_line = macd['ema']
    return signal_line

def get_macd柱状线(macd):
    # 获取MACD柱状线
   柱状线 = macd['signal'] - macd['hist']
    return柱状线

def get_stock_scores(stocks):
    # 获取股票评分
    scores = []
    for stock in stocks:
        price_trend = get_price_trend(stock)
        signal_line = get_macd信号线(price_trend)
       柱状线 = get_macd柱状线(price_trend)
        score = 0
        if signal_line[-1] > 0 and柱状线[-1] > 0:
            score += 1
        if signal_line[-1] < 0 and柱状线[-1] < 0:
            score += 1
        if signal_line[-1] == 0 and柱状线[-1] == 0:
            score += 1
        scores.append(score)
    return scores

def get筛选后的股票():
    # 获取筛选后的股票
    stocks = get_stocks()
    scores = get_stock_scores(stocks)
    filtered_stocks = []
    for stock in stocks:
        if scores[stock] >= 3:
            filtered_stocks.append(stock)
    return filtered_stocks

def get_open_price(stocks):
    # 获取股票开盘价
    open_prices = []
    for stock in stocks:
        open_prices.append(ts.get_k_data(stock, 'open', 1).values)
    return open_prices

def get_stock_scores_15macd(stocks):
    # 获取15分钟周期MACD的股票评分
    scores = []
    for stock in stocks:
        macd = talib.MACD(get_open_price(stock), fastperiod=12, slowperiod=26, signalperiod=9)
        signal_line = get_macd信号线(macd)
       柱状线 = get_macd柱状线(macd)
        score = 0
        if signal_line[-1] > 0 and柱状线[-1] > 0:
            score += 1
        if signal_line[-1] < 0 and柱状线[-1] < 0:
            score += 1
        if signal_line[-1] == 0 and柱状线[-1] == 0:
            score += 1
        scores.append(score)
    return

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

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

模板如何使用?

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


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

评论