美文网首页
基于新型相对强弱指数在日内策略中的使用

基于新型相对强弱指数在日内策略中的使用

作者: 发明者量化 | 来源:发表于2020-04-29 15:01 被阅读0次

    一、摘要

    传统的相对强弱指数(Relative Strength Index)是以双线来反映价格走势的强弱,这种图形可以为投资者提供操作依据,非常适合做短线差价操作。

    RSI 根据市场上供求关系平衡的原理,通过比较过去一段时期内价格上涨和下跌的幅度来判断市场上多空双方买卖力量的强弱程度,从而判断未来市场走势。

    二、RSI的作用

    在实际交易中,RSI 一般只作为判断价格走势的参考,其本身难以发出准确地交易信号。它只是辅以其他技术分析的一种佐证。例如,在形态理论中,当头肩顶形态确认时,如果此时 RSI 处于超买区,则进一步加强了反转发生的可能性。

    其数学原理是,简单来说是以数字计算的方法求出买卖双方的力量对比,譬如有 100 个人面对一件商品,如果 50 个人以上要买,竞相抬价,商品价格必涨。相反,如果 50 个人以上争着卖出,价格自然下跌。

    三、RSI 的定义

    首先定义上涨幅度 U 和下跌幅度 D:


    接着定义相对强弱(Relative Strength):


    其中,SMA(x, n)为 x 的周期为 n 的简单移动平均值。
    将 RS 归一化后,得到RSI:


    归一化后保证了 RSI 的取值范围在 0 ~ 100 之间,这样使得不同时刻的 RSI 具有可比性。通过定义可以看出,RSI 与 RS 成正相关关系,而 RS 与过去 n 个周期内平均上涨幅度成正比,与过去 n 个周期内平均下跌幅度成反比。

    因此,RSI 衡量了过去 n 个周期内,平均上涨幅度相对于平均下跌幅度的大小,即过去 n 个周期内,多头相对于空头的力量强弱。其值越大,表明过去一段时间多方越强势;其值越小,表明过去一段时间空方越强势。

    四、RSI策略

    传统的 RSI 择时策略主要分为两大类。一类是反转策略,即当 RSI 大于(小于)某一较大(较小)值时,认为多方(空方)力量占优的局面会有所改变。

    另一类策略则刚好相反,即当 RSI 由小变大(由大变小)时,表明多方(空方)力量占优,同时认为这种趋势会继续延续下去。下面分别具体介绍。

    RSI反转策略:
    设 RSI 上阈值为 M,则下阈值为 100 - M。M < RSI < 100 的区域定义为超买区,即此时多方在过去已经拉升一段时间,此后空方占优的概率更大一些;反之,0 < RSI < 100 - M 的区域定义为超卖区,此时空方已经压价一段时间,此后多方占优的概率更大。

    因此,当 RSI > M 时平仓并做空,当 RSI < 100 - M 时平仓并做多,如下图所示。一般 M 的取值为 80 或 70。


    在这里插入图片描述

    RSI 趋势策略
    RSI 趋势策略与移动平均线趋势策略类似,当短期 RSI 上穿(下穿)长期 RSI 时,认为此事多方(空方)开始发力,价格上涨(下跌)的趋势会继续延续一段时间。短期 RSI 上穿长期 RSI 叫做黄金交叉,是买入时机;短期 RSI 下穿长期 RSI 叫做死亡交叉,是卖出时机,如下图所示。

    在这里插入图片描述

    五、传统的 RSI 择时策略用于股指期货

    但是 RSI 用于量化交易的效果如何呢?下面我们在 IF300 上测试一下传统的 RSI 择时策略。为了突出本质,我们采用了最简单的 RSI 择时策略,不设置止盈和止损。

    代码如下:

    /*backtest
    start: 2015-02-22 00:00:00
    end: 2020-04-09 00:00:00
    period: 1d
    exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]
    */
    
    function main() {
        $.CTA('IF000', function (st) {
            var r = st.records;
            if (r.length < 14) {
                return;
            }
            var rsi = talib.RSI(r, 14);
            var rsi1 = rsi[rsi.length - 2];
            var mp = st.position.amount;
            if (mp != 1 && rsi1 < N) {
                return 1;
            }
            if (mp != -1 && rsi1 > 100 - N) {
                return -1;
            }
        });
    }
    

    回测结果

    在这里插入图片描述

    可以看出,无论是用于短线还是中长线,RSI 反转策略得到的收益均为负。传统的 RSI 反转策略无法单独直接用于量化交易。

    六、策略弊端

    那么有没有更好的、可用于股指期货或商品期货的 RSI 择时策略呢?我们从传统的 RSI 择时策略的缺点入手。传统 RSI 反转策略的缺点是只利用单独周期的 RSI 指标。虽然短期 RSI 处于超卖区,但可能较长期的 RSI 处于超买区,此时做空只能在短线获得很少的盈利,在较长线则很可能亏损。

    而传统的 RSI 趋势策略是交叉的滞后性,往往是上涨了一段时间才出现交叉,此时距离下次反转为时不多,所以获利空间小。同时,交叉只考虑了长短周期的 RSI 的相对大小,而没有考虑 RSI 本身的绝对大小。因此,将两个传统策略的优势相结合,可以得到新的长短期 RSI 择时策略。

    七、策略升级

    为了克服采用单一 RSI 的弊端,我们在两个不同周期的 K 线上,用相同的参数周期 N,分别计算短期和长期 RSI 。这样就能更好的反映中长线的多空力量强弱。

    为了克服采用 RSI 相对大小的弊端,我们队长期和短期 RSI 分别设定两个阈值 L 和 S。当长期 RSI > L 时,认为长期来看多方占优势,当短期 RSI > S 时,认为多方开始发力,趋势将会延续;反之亦然。

    因此,首先我们可以对 L 和 S 的趋势范围有一个预判。由于短期 RSI 比长期 RSI 更加敏感,所以 L < S。L的取值范围应该在 50 左右,S 的趋势范围应该在 80 左右。这样才能保证长期 RSI 其筛选作用。

    八、策略逻辑

    在这里插入图片描述
    • 多头条件:长期 RSI > L,并且短期 RSI > S。
    • 空头条件:长期 RSI < 100 - L,并且短期 RSI < 100 - S。
    • 平仓条件:浮盈与亏损达到一定程度时平仓,或者时间等于收盘前 5 分钟平仓。

    改进的 RSI 交易策略分别计算不同周期的 K 线上的 RSI 指标,当低频 K 线的 RSI 较为强势,高频 K 线的 RSI 非常强势时做多,当低频 K 线的 RSI 较为弱势,高频 K 线的 RSI 指标非常弱势时做空,并在收盘前平仓。动手能力强的小伙伴可以参考这个逻辑加以升级改进。

    相关文章

      网友评论

          本文标题:基于新型相对强弱指数在日内策略中的使用

          本文链接:https://www.haomeiwen.com/subject/ovugwhtx.html