(supermind)振幅大于1、反包、昨日非涨停板_

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,反包,昨日非涨停板。

选股逻辑分析

该选股策略综合了振幅指标、反包指标以及前一日股票非涨停的情况,通过要求选择波动较大、具有反包信号、且并非市场热点板块的个股来筛选具有投资价值的个股。

有何风险?

该选股策略的风险在于,市场波动大可能会影响到整个市场,而此选股逻辑同时会选出受波动影响较大的股票,存在一定的风险。同时,也容易受到市场热点板块影响,造成盲从买入。

如何优化?

可以加入其他的技术指标,如均线指标、KDJ 等,综合分析股票的价值、基本面以及技术面因素,减少市场波动的影响和盲从买入的风险。同时,在筛选昨日非涨停的股票时,可以设置涨停板幅度的阈值,避免因信息不准确而选择到不符合要求的公司。

最终的选股逻辑

基于以上分析,我们提出下面完善后的选择逻辑:

  1. 振幅大于1;
  2. 反包出现;
  3. 前一日不是涨停股票。

同花顺指标公式代码参考

以下是该选股策略的指标公式代码:

F01:HIGH / LOW - 1 > 0.01; // 振幅大于1
F02:NOT(SIGN(CLOSE-REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03:REF(CLOSE, 1) / REF(CLOSE, 2) < 1.1; // 前一日不是涨停股票

FILTER:F01 AND F02 AND F03 > 0;
SYMBOL_SORT("CLOSE*VOLUME*CAPITALIZATION/10000", SORT_DESCEND);
SELECT(IF(1, 1, 0),"诊股"); // 输出文本信息:选股

python代码参考

以下是 Python 实现该策略的选股逻辑:

def stock_filter(dv, symbol):
    # 获取数据,计算指标
    high = dv.get_ts("high", symbol=symbol)
    low = dv.get_ts("low", symbol=symbol)
    close = dv.get_ts("close", symbol=symbol)
    date_idx = pd.to_datetime(high.index).date
    
    amplitude = high / low - 1
    reverse_pattern = (Ta('CDL2CROWS', 0, open, high, low, close) == 100)

    # 前一日不是涨停股票
    pre_close = dv.get_ts('close', symbol=symbol, start_date=last_trade_date(), end_date=date_idx[-1])
    pre_limit = pre_close * 1.1
    not_limit_up = (close < pre_limit).iloc[-1]

    selected_stocks = amplitude & reverse_pattern & not_limit_up

    return selected_stocks.index.tolist()

选股逻辑中,我们用 Python 的 pandas 库和 TA-Lib 库计算指标,筛选出符合条件的股票列表,以得到我们需要选择的股票列表。

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

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

    模板如何使用?

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


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

评论