[量化小实验] 双线 RSI 择时策略

2017-04-27 10:36:23 +08:00
 raquant

简介:

RSI (Relative Strength Index) 强弱指标是由威尔斯.威尔德( Welles Wilder)最早应用于期货买卖,后来人们发现在众多的图表技术分析中,强弱指标的理论和实践极其适合于股票市场的短线投资,于是被用于股票升跌的测量和分析中。其原理简单来说是以数字计算的方法求出买卖双方的力量对比,譬如有 100 个人面对一件商品,如果 50 个人以上要买,竞相抬价,商品价格必涨。相反,如果 50 个人以上争着卖出,价格自然下跌。 强弱指标理论认为,任何市价的大涨或大跌,均在 0-100 之间变动,根据常态分配,认为 RSI 值多在 30-70 之间变动,通常 80 甚至 90 时被认为市场已到达超买状态,至此市场价格自然会回落调整。当价格低跌至 30 以下即被认为是超卖状态,市价将出现反弹回升。

策略思想

短期 RSI 值在 20 以下,由下向上交叉长期 RSI 值时为买入信号; 短期 RSI 值在 80 以上,由上向下交叉长期 RSI 值时为卖出信号。

实验过程( java 语言实现)

注:选择 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量化平台亲自试试吧。

3712 次点击
所在节点    投资
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/357646

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX