(supermind量化-)振幅大于1、今日均线向上发散、日线macd>0_

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

问财量化选股策略逻辑

本选股策略选取满足振幅大于1、今日均线向上发散、日线MACD大于0的股票作为投资标的

选股逻辑分析

选股逻辑通过振幅指标判断波动性,通过均线和价格指标判断趋势,同时考虑MACD指标的多空情况,以避免轻易出现交叉点产生假信号。

有何风险?

该选股策略没有考虑到股票的基本面因素,可能忽略一些重要的市场信息。与此同时,该策略过于贪婪,可能造成收益的波动性过大,适用性较低。

如何优化?

应考虑加入一些基本面的评估指标,如市盈率、市净率、股息率等,进一步细化选股逻辑,以便更好地反映企业财务状况和发展前景。

最终的选股逻辑

本选股策略选取满足以下条件的股票:

  1. 振幅大于1;
  2. 今日收盘价上穿本周的均线;
  3. 日线MACD大于0。

同花顺指标公式代码参考

通达信指标公式代码:

// 计算DMI
H = MAX(HIGH, REF(CLOSE, 1));
L = MIN(LOW, REF(CLOSE, 1));
DMZ = IF((H + L) / 2 > REF((H+L)/2, 1), MAX(H - REF(HIGH,1), 0), 0);
DMF = IF((H + L) / 2 < REF((H+L)/2, 1), MAX(REF(LOW,1) - L, 0), 0);
TR = SUM(MAX(MAX(HIGH - LOW, ABS(HIGH - REF(CLOSE, 1))), ABS(LOW - REF(CLOSE, 1))), 30);
DIZ = SUM(DMZ, 30) / TR * 100;
DIF = SUM(DMF, 30) / TR * 100;
// 计算MACD
DIFMA = MA(DIF, 9);
MACD = (DIF - DIFMA) * 2;
// 选出符合条件的股票
CONDITION = AMPLITUDE>1 AND CROSS(CLOSE,MA(CLOSE, 5)) AND MACD>0;

python代码参考

import tushare as ts
import pandas as pd

def select_stock(market='sh'):
    selected_stocks = pd.DataFrame(columns=["amplitude", "code"])
    for stock in ts.get_stock_basics().index:
        if ts.get_stock_basics().loc[stock, 'code'][0:2] == '60' or ts.get_stock_basics().loc[stock, 'code'][0] == '0':
            continue
        data = ts.get_k_data(stock, start='2021-01-01', end='2021-06-30', ktype='D', autype='qfq')
        if len(data) != 120:
            continue
        if data["amplitude"][-1] < 1:
            continue
        ma_week = data["close"].rolling(window=5).mean()
        if not (data["close"][-1] > ma_week[-1] and data["close"][-1] > data["close"][-2]):
            continue
        macd, signal, hist = talib.MACD(data["close"].values, fastperiod=12, slowperiod=26, signalperiod=9)
        if not (macd[-1] > 0 and macd[-1] > signal[-1]):
            continue
        selected_stocks = selected_stocks.append({
            "amplitude": data["amplitude"][-1],
            "code": stock
        }, ignore_index=True)
    return selected_stocks

print(select_stock(market='sz'))

以上代码仅供参考,实现方法会因投资人情况和市场环境而异。

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

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

    模板如何使用?

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


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

评论