(supermind量化-)振幅大于1、上市大于、15分钟周期MACD绿柱变短_

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

问财量化选股策略逻辑

本选股策略选取振幅大于1,上市时间大于一定时长,并且15分钟周期MACD绿柱变短的股票。本选股逻辑从振幅、上市时间和MACD指标变化等多方面筛选股票,旨在寻找短期有上涨潜力的股票。

选股逻辑分析

本选股策略通过多方面考量,筛选具有上涨潜力的股票。振幅大于1的股票相较于振幅小的股票更容易获得大量资金的关注;关注一定时长的上市时间,可以避免新上市股票波动过于不稳定的风险;同时,通过MACD指标绿柱变短可以判断短期价格下跌趋势已经放缓,有上涨的可能性。

有何风险?

本选股策略存在以下风险。1. 忽视了企业基本面等因素对于股票的影响;2. MACD指标变化是一种相对较为慢的变化,无法及时反映股票的最新动态;3. 短时间内的交易活跃度不代表股票具有长期上涨潜力。

如何优化?

本选股策略可结合股票的基本面指标以全方面考虑股票的各个方面,同时在筛选股票时应全面考虑指标变化,以减小个别因素对策略的影响。

最终的选股逻辑

本选股策略选取振幅大于1,上市时间大于三年,并且15分钟周期MACD绿柱变短的股票,同时结合股票的基本面指标以全方面考虑股票的各个方面。

同花顺指标公式代码参考

  1. MACD指标公式:DIFF = EMA(CLOSE, SHORT) - EMA(CLOSE, LONG); DEA = EMA(DIFF, MID); MACD = 2 * (DIFF - DEA)
  2. 绿柱变短指标公式:MACD - DEA的差值取15分钟前后两个周期的值,如果差值变小,则绿柱变短。

python代码参考

import tushare as ts
from datetime import datetime, timedelta

pro = ts.pro_api()

def select_stocks(n):
    selected_stocks = []

    for code in pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,name,list_date,list_status,total_mv,circ_mv,npr')["ts_code"]:
        if len(selected_stocks) >= n:
            break

        if code.startswith("688"):
            continue

        if code.startswith("60") and code[:6] != "600" and code[:6] != "601":
            continue

        if pro.query('daily_basic', ts_code=code, trade_date=datetime.today().strftime('%Y%m%d'), fields='amplitude')[0][0] <= 1:
            continue

        list_days = (datetime.today() - datetime.strptime(pro.query('stock_basic', ts_code=code, fields='list_date')["list_date"][0], '%Y%m%d')).days
        if list_days < 1095:
            continue

        yesterday_macd = pro.query('index_daily', ts_code=code, trade_date=(datetime.today()-timedelta(days=1)).strftime('%Y%m%d'), fields='macd,dea')[0]
        before_macd = pro.query('index_daily', ts_code=code, trade_date=(datetime.today()-timedelta(minutes=15)).strftime('%Y%m%d %H:%M:%S'), fields='macd,dea')[0]

        if yesterday_macd[0] - yesterday_macd[1] <= before_macd[0] - before_macd[1]:
            continue

        selected_stocks.append(code)

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

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

    模板如何使用?

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


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

评论