(supermind策略)task16/a/macd零轴以上、PE>0、近25个交易日有单

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

问财量化选股策略逻辑

选股逻辑为MACD零轴以上、PE大于0、近25个交易日中有单日涨幅大于等于10%的股票。选股时间为每个交易日开盘前。

选股逻辑分析

MACD是一种趋势追踪指标,红柱代表上涨趋势,当MACD在零轴以上时,说明当前股票处于强势状态,有较大的上涨空间。同时,通过PE大于0可以筛选出当前股票的估值较合理。近25个交易日中有单日涨幅大于等于10%的股票,说明当前股票市场表现活跃,有较大的市场参与度。综合三个指标可以筛选出有上涨空间的股票。

有何风险?

  1. 市场风险:股票市场波动大,难以确保投资收益;
  2. 筛选条件偏主观,可能会忽略股票市场基本面的变化,有可能带来投资风险;
  3. 近期股价的暴涨往往伴随着风险,股票容易产生剧烈的波动。

如何优化?

  1. 引入其他趋势追踪指标,如KDJ等,提高选股策略的成功率;
  2. 考虑加入资金流入情况等基本面因素,避免忽略市场基本面数据带来的投资风险;
  3. 对衡量市场活跃度的指标进行深入研究,以减少对近期股价暴涨的过度依赖。

最终的选股逻辑

选股逻辑为MACD零轴以上、PE大于0、近25个交易日中有单日涨幅大于等于10%的股票。选股时间为每个交易日开盘前。

同花顺指标公式代码参考

MACD指标:

DIF: EMA(CLOSE, 12) - EMA(CLOSE, 26);
DEA: EMA(DIF, 9);
MACD: (DIF - DEA) * 2;

PE指标:

PE: FIELD('pe_ttm', 0);

近25个交易日中有单日涨幅大于等于10%的指标:

HIGH_PRICE: HHV(HIGH, 25);
LOW_PRICE: LLV(LOW, 25);
SINGLE_DAY_INCREASE: (CLOSE - REF(CLOSE, 1)) / REF(CLOSE, 1) * 100;
CONDITION: SINGLE_DAY_INCREASE >= 10 AND (HIGH_PRICE - LOW_PRICE) / LOW_PRICE <= 0.3;

选股筛选公式:

MACD > 0 AND PE > 0 AND CONDITION;

排序公式:

默认按照个股涨跌幅排序,这里不做展示。

Python代码参考

以下为python的选股筛选代码、排序代码,仅供参考:

import akshare as ak

# 获取股票列表并计算选股筛选条件
data = ak.stock_zh_a_daily(symbol="", adjust="qfq").reset_index()
high_price = data['high'].rolling(25).max()
low_price = data['low'].rolling(25).min()
condition = (data['close'] - data['close'].shift(1)) / data['close'].shift(1) * 100 >= 10
condition &= (high_price - low_price) / low_price <= 0.3
condition &= data['macd'] > 0
condition &= data['pe_ttm'] > 0
result = data[condition]

# 按照涨跌幅排序
result_sorted = result.sort_values(by=['pct_chg'], ascending=False).head(5)
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论