量化交易的相对强弱(RSI )指标计算及策略
顾名思义,相对强弱指数 (RSI) 指标告诉我们资产的相对强弱。换句话说,RSI 告诉我们股票相对于自身的表现(或不表现)。RSI 被视为一种强大的技术指标,可用于分析市场,并且是交易者武器库的重要组成部分,因为它可以帮助他们在市场时机上做出更好的决策。当然,与其他指标一样,始终建议使用多个指标,因为它可以帮助我们避免对一个指标的限制和过度依赖。
因此,在本博客中,除了了解 RSI 指标外,我们还将了解它的局限性以及何时使用它们。
借助示例计算 RSI
现在让我们了解如何计算和绘制 RSI 指标。虽然您可以使用 Python 代码轻松计算 RSI 指标值,但出于解释目的,我们将手动计算。
| 日期 | 关(1) | 改变(2) | 获得(3) | 失利(4) | 平均增益(5) | 平均损失(6) | RS(7) | 14 天 RSI(8) |
|---|---|---|---|---|---|---|---|---|
| 24-04 | 283.46 | |||||||
| 25-04 | 280.69 | -2.77 | 0.00 | 2.77 | ||||
| 26-04 | 285.48 | 4.79 | 4.79 | 0.00 | ||||
| 27-04 | 294.08 | 8.60 | 8.60 | 0.00 | ||||
| 30-04 | 293.90 | -0.18 | 0.00 | 0.18 | ||||
| 01-05 | 299.92 | 6.02 | 6.02 | 0.00 | ||||
| 02-05 | 301.15 | 1.23 | 1.23 | 0.00 | ||||
| 03-05 | 284.45 | -16.70 | 0.00 | 16.70 | ||||
| 04-05 | 294.09 | 9.64 | 9.64 | 0.00 | ||||
| 07-05 | 302.77 | 8.68 | 8.68 | 0.00 | ||||
| 08-05 | 301.97 | -0.80 | 0.00 | 0.80 | ||||
| 09-05 | 306.85 | 4.88 | 4.88 | 0.00 | ||||
| 10-05 | 305.02 | -1.83 | 0.00 | 1.83 | ||||
| 11-05 | 301.06 | -3.96 | 0.00 | 3.96 | ||||
| 14-05 | 291.97 | -9.09 | 0.00 | 9.09 | 3.13 | 2.52 | 1.24 | 55.37 |
| 15-05 | 284.18 | -7.79 | 0.00 | 7.79 | 2.91 | 2.90 | 1.00 | 50.07 |
| 16-05 | 286.48 | 2.30 | 2.30 | 0.00 | 2.86 | 2.69 | 1.06 | 51.55 |
| 17-05 | 284.54 | -1.94 | 0.00 | 1.94 | 2.66 | 2.64 | 1.01 | 50.20 |
| 18-05 | 276.82 | -7.72 | 0.00 | 7.72 | 2.47 | 3.00 | 0.82 | 45.14 |
| 21-05 | 284.49 | 7.67 | 7.67 | 0.00 | 2.84 | 2.79 | 1.02 | 50.48 |
| 22-05 | 275.01 | -9.48 | 0.00 | 9.48 | 2.64 | 3.27 | 0.81 | 44.69 |
| 23-05 | 279.07 | 4.06 | 4.06 | 0.00 | 2.74 | 3.03 | 0.90 | 47.47 |
| 24-05 | 277.85 | -1.22 | 0.00 | 1.22 | 2.54 | 2.90 | 0.88 | 46.71 |
| 25-05 | 278.85 | 1.00 | 1.00 | 0.00 | 2.43 | 2.70 | 0.90 | 47.45 |
| 29-05 | 283.76 | 4.91 | 4.91 | 0.00 | 2.61 | 2.50 | 1.04 | 51.05 |
| 30-05 | 291.72 | 7.96 | 7.96 | 0.00 | 2.99 | 2.32 | 1.29 | 56.29 |
| 31-05 | 284.73 | -6.99 | 0.00 | 6.99 | 2.78 | 2.66 | 1.05 | 51.12 |
| 01-06 | 291.82 | 7.09 | 7.09 | 0.00 | 3.09 | 2.47 | 1.25 | 55.58 |
| 04-06 | 296.74 | 4.92 | 4.92 | 0.00 | 3.22 | 2.29 | 1.40 | 58.41 |
| 05-06 | 291.13 | -5.61 | 0.00 | 5.61 | 2.99 | 2.53 | 1.18 | 54.17 |
第一步:收盘价
我们将取股票 30 天的收盘价。收盘价在第 (1) 栏中提及。
第二步:收盘价变化
然后,我们将当天的收盘价与前一天的收盘价进行比较,并记下它们。因此,从表格中,对于 25-04,我们得到价格变化为 (280.69 - 283.46) = -2.77。
同样,对于 26-04,价格变化 =(当前收盘价 - 前收盘价)= (285.48 - 280.6) = 4.79。然后,我们将在“更改 (2)”列中列出结果。通过这种方式,我们计算了价格的变化。
第 3 步:得与失
我们现在将根据价格相对于前一天的收盘价上涨或下跌的事实创建两个部分。
如果价格上涨,我们在“收益”栏中记下差异,如果是亏损,我们在“亏损”栏中记下。
例如,26-04,价格上涨了 4.79。因此,该值将在“增益”列中注明。
如果您查看 25-04 的数据,价格下跌了 2.77。现在,虽然值在“变化”列中写为负数,但我们没有在“损失”列中提及负号。并且只写成 2.77。以这种方式,更新了“增益(3)”和“损失(4)”列的表。
第 4 步:平均收益和损失
在 RSI 指标中,为了平滑价格变动,我们取一定时期内收益(和损失)的平均值。
虽然我们称其为平均值,但需要进行一些解释。对于前 14 个周期,它是值的简单平均值。
为了解释它,我们将查看平均增益列。
因此,在表中,前 14 个值将从 (25-04) 到 (14-05),即 (0.00 + 4.79 + 8.60 + 0.00 + 6.02 + 1.23 + 0.00 + 9.64 + 8.68 + 0.00 + 4.88 + 0.00 + 0.00 + 0.00)/14 = 3.13。
现在,由于我们更加强调最近的值,对于下一组值,我们使用以下公式,
[(以前的平均增益)*13)+ 当前增益)]/14。
因此,对于 (15-05),我们将计算平均增益为 [(3.13*13)+0.00]/14 = 2.91。
同样,我们也会计算平均损失。
基于这些公式,该表针对“Avg Gain (5)”和“Avg Loss (6)”列进行了更新。
第 5 步:计算 RS
现在,为了简单起见,我们添加了一个名为“RS”的列,即(Avg Gain)/(Avg Loss)。因此,对于 14-05,RS = (Avg Gain)/(Avg Loss) = 3.13/2.52 = 1.24。
这样,“RS(7)”栏的表格被更新。在下一步中,我们最终计算出 RSI 值。
第 6 步:计算 RSI
RSI = [100 - (100/{1+ RS})]。
例如,对于 (14-05),
RSI = [100 - (100/{1+ RS})] = [100 - (100/{1+ 1.24})] = 55.37。
以这种方式,表格被更新。
这就是我们获得 RSI 值的方式。RSI 指标图表始终是相对于收盘价创建的。例如,如果我们考虑上表中 RSI 的值,图形应该如下:

虽然这里提到的 RSI 公式被普遍接受,但我们可以根据给予平均收益或损失值的权重对公式进行某些变化。众所周知,随着数据点数量的增加,RSI 指标在衡量市场方面变得更好。某些来源建议至少 250 个数据点,然后再开始对它们做出交易决策。
RSI 指标受欢迎的原因之一是它的值始终在 0 到 100 之间。这使得阅读和形成对资产的看法变得容易。此外,通常认为低于 30 的值表示“超卖”,而高于 70 的值表示“超买”。
然而,这并不像看起来那么容易,如果我们试图仅仅基于这个因素进出市场,我们将无法有效地交易,因为在很多情况下这个建议可能会失败。您可以在下图中看到,即使在 3 月 19 日至 4 月 25 日进入超买区域后,收盘价仍继续上涨。

考虑到这一点,让我们尝试查看一些基于 RSI 指标的策略。
RSI 策略
RSI 作为趋势指标
当您想要衡量市场是否正在经历看涨或看跌趋势 时,RSI 可作为参考。虽然指标高于 70 表示超买,低于 30 表示超卖的一般假设在大多数情况下都成立,但也有其他人坚持认为,对于高于 66.6 和低于 33.3 的值也可以成立。
如果 RSI 收于 66.6 以上但低于该值,则不应假定趋势已反转,您应立即做空股票。相反,我们寻找图表,只要它保持在 33.3 以上,我们就可以说市场在资产方面仍然看涨。
您可以在下图中看到,RSI 指标在 2018 年 7 月越过超买区域,此后价格继续上涨,表明牛市。

同样,如果 RSI 低于 33.3 并上涨,但没有越过 66.6 的障碍(或假设的 70),我们可以得出结论,市场看跌。
但是,不应将此作为购买(或出售)相关资产的唯一指示。我们将进入下一个主题以了解整个情况。
RSI 作为支撑和阻力
正如我们已经了解了如何设置 RSI趋势指标,我们可以看到,与亏损周期数相比,随着收益周期数的增加,RSI 值将不断增加。因此,与收盘价相比,它有力地表明了长期趋势,每日价格波动可能会向我们展示不同的故事。
就像收盘价一样,我们可以使用 RSI 指标值来绘制支撑位和阻力位的趋势线,因此,在 RSI 值中可以很容易地观察到这一趋势的突破。您可以在下图中看到 RSI 和收盘价如何突破。

这里的交易是正确识别突破是长期可持续的还是虚假信号。
RSI 和背离
RSI 指标还可用于在价格趋势实际反转之前预测趋势的背离。
例如,当价格线走高但 RSI 指标下滑时,通常可以发现背离,因为与前一时期的增长相比,资产的相对强度减弱。
例如,假设价格收盘价高于前几天,但与该期间的平均收益相比,收益并不大。然后,RSI 将低于前一天的值。在这方面,我们可以得到一个信号,市场将在几天内得到价格检查,从而进行相应的交易。您可以在下图中看到,RSI 呈下降趋势,而价格继续上涨。最终,收盘价也会下降。

当收盘价已经看跌一段时间但RSI开始发布更高的值时也是如此,这意味着价格将会回升。
RSI 双底信号和双顶信号
正如我们在布林带部分讨论的那样,我们也可以使用 RSI 指标识别双底和双顶模式。双底形态识别的要点如下。
- RSI 指标收于 30 以下,然后上涨并突破 30 关口。
- 它再次向南移动,但收于 30 以上,然后再次急剧上升。
这在图表上被视为“W”形。交易者通常使用这种模式来确认市场走向看涨方向。您可以在下图中看到,RSI 指标在 1 月 2 日突破 30 关口,然后急剧上涨,然后收于下方,但在 1 月 7 日高于 30 关口。然后它再次上涨并在整个 1 月份继续上涨,并且2 月,这表明看涨。

与双底类似,双顶的形态形成如下:
- RSI 指标突破 70 水平,然后再次跌破 70 水平。
- 它再次上涨但收于 70 以下,然后再次急剧下跌。
这被视为价格图表上的“M”形。交易者通常使用这种模式来确认市场走向看跌方向。您可以在下图中看到,RSI 水平在 17 年 12 月突破 70。后来,它跌破了 70 的门槛,虽然它确实上涨了,但它没有再次越过 70 的门槛,然后开始下跌,表明持续一年的看跌行情。

RSI 和 MACD 策略
我们早就明白,如果我们未能阅读或该指标产生错误信号,使用单一指标作为您交易决策的基础可能是灾难性的。聪明的投资者使用 2 个或多个指标来识别积极(或消极)信号并相应地进入市场。有了这个因素,我们使用 RSI 和 MACD 来识别可用于获利交易的信号。要了解 MACD 以及如何计算它,您可以参考这篇MACD指标
为什么我们同时使用 RSI 和 MACD 指标?
我们将 RSI 和 MACD 一起使用的原因是它们相互补充,因为它们具有比较资产价格行为的固有性质。
在此策略中,当 RSI 和 MACD 均表明资产超卖时,我们进入交易,当任一指标向我们发出价格已进入超买区域的信号时退出。

您可以在上图中看到,MACD 越过中线下方,表明下降趋势,但我们会等到 2018 年 11 月 RSI 突破 70 关口但之后急剧下跌。在这里,我们有两个指标可能告诉我们市场正在走向熊市,果然,我们可以看到收盘价一直下跌到 2018 年 11 月结束。因此我们可以在 11 月做空股票,因为我们看到RSI指标在再次上升之前跌破30,我们可以退出该头寸。
RSI指标和MACD指标的区别
虽然我们确实提到 RSI 指标和 MACD 指标有某些相似之处,但它们有不同的处理方法。虽然 RSI 指标考虑了与前一天相比的收益和损失比率,但 MACD 本质上是价格的移动平均线。
因此,我们应该小心,不要期望 RSI 和 MACD 会在特定时间点发出相同的信号。
RSI 的局限性
- RSI 的基本属性表明高于 70 的水平是超买的,这在公司发展迅速并为股东带来良好回报的强劲牛市中被证明是错误的。在这种情况下,RSI 可以长时间保持在 70 以上,这对卖空者来说可能是灾难性的。熊市的情况类似,RSI 可以保持在 30 以下,并且在很长一段时间内不会超过该水平。
- RSI 也可能发出错误信号。有时会出现分歧,但股票继续保持趋势。
因此,人们总是说我们应该将 RSI 与一个或多个指标一起使用,这将使我们对市场有一个整体的看法,并帮助我们从特定资产的价格行为中提取最大的信息。
结论
总而言之,一旦我们知道如何绘制 RSI 指标,在 RSI 指标图表的帮助下阅读并形成对资产的看法相对容易。虽然 70 的一般水平表明市场存在超买和超卖的 30,但我们已经看到完全依赖这一点信息可能是有害的。因此,我们尝试根据 RSI 指标使用不同的策略,以给予我们必要的信心来把握市场获利的时机。我们还看到,使用一个或多个指标来帮助我们在市场上做出更有根据的猜测总是更好。
欢迎来AI人工智能量化交易投资平台-BigQuant实践操作!
量化交易的相对强弱(RSI )指标计算及策略的更多相关文章
- 高频交易算法研发心得--RSI指标及应用
高频交易算法研发心得--RSI指标及应用 前面文章中我们提到了MA均线(包括EMA,SMA).MACD以及SAR指标,这三类指标存在一个共同特点,即:从固定周期的价格作为判读的指导思想,并将价格进行平 ...
- Python进阶量化交易专栏场外篇7- 装饰器计算代码时间
欢迎大家订阅<教你用 Python 进阶量化交易>专栏!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外已陆续推出一些手记来辅助同学们学习本专栏内容,目前已推出如下扩展篇: 在第一篇 ...
- 以股票RSI指标为例,学习Python发送邮件功能(含RSI指标确定卖点策略)
本人之前写过若干“给程序员加财商”的系列文,目的是通过股票案例讲述Python知识点,让大家在学习Python的同时还能掌握相关的股票知识,所谓一举两得. 在之前的系列文里,大家能看到K线,均线,成交 ...
- Python进阶量化交易场外篇3——最大回撤评价策略风险
新年伊始,很荣幸笔者的<教你用 Python 进阶量化交易>专栏在慕课专栏板块上线了,欢迎大家订阅!为了能够提供给大家更轻松的学习过程,笔者在专栏内容之外会陆续推出一些手记来辅助同学们学习 ...
- 金融量化分析【day112】:初识量化交易
一.摘要 为什么需要量化交易? 量化交易是做什么? 量化交易的价值何在? 做量化交易需要什么? 聚宽是什么? 零基础如何快速入门量化交易? 自测与自学 二.量化交易比传统交易强多少? 它能让你的交易效 ...
- 高频交易算法研发心得--WAVT指标(Warensoft交易量趋势指标)算法及应用
高频交易算法研发心得--WAVT指标(Warensoft交易量趋势指标)算法及应用 注:WAVT指标由Warensoft(王宇)原创. 前面聊了一系列的常见应用指标,包括短线.长线的指标,并且也无耐的 ...
- python做量化交易干货分享
http://www.newsmth.NET/nForum/#!article/Python/128763 最近程序化交易很热,量化也是我很感兴趣的一块. 国内量化交易的平台有几家,我个人比较喜欢用的 ...
- 《零起点,python大数据与量化交易》
<零起点,python大数据与量化交易>,这应该是国内第一部,关于python量化交易的书籍. 有出版社约稿,写本量化交易与大数据的书籍,因为好几年没写书了,再加上近期"前海智库 ...
- 零起点Python大数据与量化交易
零起点Python大数据与量化交易 第1章 从故事开始学量化 1 1.1 亿万富翁的“神奇公式” 2 1.1.1 案例1-1:亿万富翁的“神奇公式” 2 1.1.2 案例分析:Python图表 5 1 ...
- 开源支持东财自动交易的简单量化交易框架pytrader
pytrader是基于 easytrader 和 easyquotation 的量化交易框架,支持东方财富自动交易,支持进行策略回测. 开源地址:https://github.com/jadepeng ...
随机推荐
- C++笔记(自用)
<Effective C++> 条款11 在operator=中处理"自我赋值" 自我赋值 证同测试: if(this==&rhs)return*this; 影 ...
- excel的烦恼
Smiling & Weeping ---- 他未对我好半分,偏巧这感情疯长似野草 题目链接:https://www.matiji.net 思路:与新三进制2思路相似,转化为纯26进制,然后往 ...
- iOS MDM HeadFirst
引言 Apple MDM (Mobile Device Management) 字面理解就是一种管理移动设备的方式,覆盖 iOS 5 及更高版本的 iPhone/iPod touch/iPad.Mac ...
- 再聊Java Stream的一些实战技能与注意点
大家好,又见面了. 在此前我的文章中,曾分2篇详细探讨了下JAVA中Stream流的相关操作,2篇文章收获了累计 10w+阅读.2k+点赞以及 5k+收藏的记录.能够得到众多小伙伴的认可,是技术分享过 ...
- iframe标签下的通信
通常在页面中嵌套iframe的情况下还需要进行消息传递的通信需求.一般分为两种情况: 1.iframe里的链接与父页面链接是非跨域 这种情况处理比较简单,直接在父级页面下就可以写脚本控制iframe里 ...
- 万字长文教你实现华为云IoT+OpenHarmony智能家居开发
本文分享自华为云社区<华为云IoT+OpenHarmony的智能家居开发>,作者:袁睿. 一.选题说明 1. 选题为基于OpenHarmony的智能家居,应用场景为户用,受益人群为住户. ...
- vue2和vue3使用echarts时无数据,怎么显示暂无数据图片或文字
一开始也经历了用v-if和v-show,v-show的话echarts还会留出暂无数据图片的位置,导致echarts变形,v-if在加载和不加载切换时,dom会获取不到:后来也是在网上找的方法,时间有 ...
- 前端远程调试方案 Chii 的使用经验分享
前端远程调试方案 Chii 的使用经验分享 Chii 是与 weinre 一样的远程调试工具 ,主要是将 web inspector 替换为最新的 chrome devtools frontend 监 ...
- 使用Blazor WASM实现可取消的多文件带校验并发分片上传
前言 上传大文件时,原始HTTP文件上传功能可能会影响使用体验,此时使用分片上传功能可以有效避免原始上传的弊端.由于分片上传不是HTTP标准的一部分,所以只能自行开发相互配合的服务端和客户端.文件分片 ...
- hash code
值相同却可能有不同的hashcode //对象值到底指什么?(x.equals(y) == true)应该并不代表对象值相同 class A { A(){} public boolean equals ...