RSI (Relative Strength Index) 强弱指标是由威尔斯.威尔德( Welles Wilder)最早应用于期货买卖,后来人们发现在众多的图表技术分析中,强弱指标的理论和实践极其适合于股票市场的短线投资,于是被用于股票升跌的测量和分析中。其原理简单来说是以数字计算的方法求出买卖双方的力量对比,譬如有 100 个人面对一件商品,如果 50 个人以上要买,竞相抬价,商品价格必涨。相反,如果 50 个人以上争着卖出,价格自然下跌。 强弱指标理论认为,任何市价的大涨或大跌,均在 0-100 之间变动,根据常态分配,认为 RSI 值多在 30-70 之间变动,通常 80 甚至 90 时被认为市场已到达超买状态,至此市场价格自然会回落调整。当价格低跌至 30 以下即被认为是超卖状态,市价将出现反弹回升。
短期 RSI 值在 20 以下,由下向上交叉长期 RSI 值时为买入信号; 短期 RSI 值在 80 以上,由上向下交叉长期 RSI 值时为卖出信号。
注:选择 10 日作为短线 RSI 参数,50 日作为长线 RSI 参数。
一、初始化策略和自定义变量
在镭矿,可以方便的使用各种因子直接获得对应的指标,要使用两个 RSI 指标,我们需要首先初始化两个 RSI Factor,把要计算的天数作为参数传入。同时需要创建两个列表用来存储买进和卖出的股票集。
接下来,在 init 函数中添加股票到股票池,我们加入所有股票。
二、首先对股票池中的每一支股票,判断其 10 日收盘价的 RSI 值(即 RSI1 值)是否小于 20,同时判断是否大于该股的 50 日收盘价的 RSI 值(即 RSI2 值),如果这两个条件同时满足,则将该股票加入买单列表;如果其 10 日收盘价的 RSI 值(即 RSI1 值)大于 80,同时判断是否小于该股 50 日收盘价的 RSI 值( RSI2 值),满足则将该股加入卖单列表
三、对于在卖单列表中的股票,判断现在是否持仓,如果持仓则执行清仓操作;,同时判断大盘昨日收盘价与其 5 日之前的收盘价之比是否小于 0.98,如果小于,则清空买单列表
四、下一步判断买单列表中的股票数目是否大于 10,如果大于 10,则取出其中前 10 位的股票用于更新买单列表对于买单列表中的股票,如果当前已经持仓则继续持仓,如果没有持仓则进行建仓
做完这四步,来看看回溯结果吧。
如果你真的是程序员,进入镭矿 raquant量化平台亲自试试吧。