(同花顺量化)15分钟周期MACD绿柱变短_、三个技术指标同时金叉、今日增仓占比_5%

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

问财量化选股策略逻辑

在问财量化选股策略中,我们采用以下三个逻辑来筛选股票:

  1. 今日增仓占比>5%
  2. 三个技术指标同时金叉
  3. 15分钟周期MACD绿柱变短

选股逻辑分析

首先,我们筛选出今日增仓比例超过5%的股票,这表明这些股票受到了机构投资者的青睐,可能具有较好的投资价值。接下来,我们筛选出三个技术指标同时金叉的股票,这表明这些股票的短期趋势向上,可能具有较好的上涨潜力。最后,我们筛选出15分钟周期MACD绿柱变短的股票,这表明这些股票的短期趋势正在转向多头,可能具有较好的买入机会。

有何风险?

尽管上述三个逻辑可以帮助我们筛选出一些具有投资价值的股票,但是仍然存在一定的风险。首先,机构投资者的增仓行为并不一定代表股票的价值,因为机构投资者可能会受到市场情绪和其他因素的影响。其次,技术指标的金叉并不一定代表股票的上涨趋势,因为技术指标可能会出现假信号。最后,15分钟周期MACD绿柱变短并不一定代表股票的买入机会,因为MACD指标的信号可能会受到市场波动的影响。

如何优化?

为了优化上述三个逻辑,我们可以考虑以下几点:

  1. 增加更多的技术指标,例如布林线、RSI等,以提高筛选股票的准确性。
  2. 筛选出更多的时间周期,例如日线周期、周线周期等,以更好地捕捉市场的趋势。
  3. 考虑加入其他因素,例如公司财务数据、行业数据等,以提高筛选股票的全面性。

最终的选股逻辑

最终的选股逻辑如下:

  1. 筛选出今日增仓比例超过5%的股票。
  2. 筛选出三个技术指标(布林线、RSI、MACD)同时金叉的股票。
  3. 筛选出更多的时间周期(日线周期、周线周期等)的股票。
  4. 筛选出更多其他因素(公司财务数据、行业数据等)的股票。

python代码参考

以下是使用pandas和ta-Lib库实现上述选股逻辑的python代码:

import pandas as pd
import talib

def get_stock_data(symbol):
    # 获取股票数据
    df = pd.read_csv('stock_data.csv')
    df = df[df['symbol'] == symbol]
    df = df[['date', 'open', 'high', 'low', 'close', 'volume']]
    return df

def get_rolling_window(df, window_size):
    # 获取滚动窗口数据
    df = df.rolling(window=window_size).mean()
    return df

def get_trend_scores(df):
    # 获取趋势得分
    scores = []
    for i in range(len(df)):
        scores.append(get_trend_score(df.iloc[i]))
    return scores

def get_trend_score(date, open_price, high_price, low_price, close_price):
    # 获取趋势得分
    if close_price > open_price:
        score = 1
    else:
        score = -1
    return score

def get_rolling_trend_scores(df):
    # 获取滚动趋势得分
    scores = []
    for i in range(len(df)):
        scores.append(get_rolling_trend_score(df.iloc[i]))
    return scores

def get_rolling_trend_score(date, open_price, high_price, low_price, close_price):
    # 获取滚动趋势得分
    if close_price > open_price:
        score = 1
    else:
        score = -1
    return score

def get_rolling_momentum_scores(df):
    # 获取滚动动能得分
    scores = []
    for i in range(len(df)):
        scores.append(get_rolling_momentum_score(df.iloc[i]))
    return scores

def get_rolling_momentum_score(date, open_price, high_price, low_price, close_price):
    # 获取滚动动能得分
    ema = talib.EMA(close_price, timeperiod=10)
    momentum = (close_price - ema) / ema
    if momentum > 0:
        score = 1
    else:
        score = -1
    return score

def get_signal_scores(df):
    # 获取信号得分
    scores = []
    for i in range(len(df)):
        scores.append(get_signal_score(df.iloc[i]))
    return scores

def get_signal_score(date, open_price, high_price, low_price, close_price):
    # 获取信号得分
    if close_price > open_price:
        score = 1
    else:
        score = -1
    return score

def get_rolling_signal_scores(df):
    # 获取滚动信号得分
    scores = []
    for i in

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

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

模板如何使用?

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


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

评论