高频交易算法研发心得--RSI指标及应用

前面文章中我们提到了MA均线(包括EMA,SMA)、MACD以及SAR指标,这三类指标存在一个共同特点,即:从固定周期的价格作为判读的指导思想,并将价格进行平滑处理,然后得到可参考的判读结果

今天我们变换思维,并从市场的角度来考量问题,同时,来聊聊RSI指标。

1.       指标定义

RSI相对强弱指数(Relative Strength Index,是根据一定时期内上涨点数和涨跌点数之和的比率制作出的一种技术曲线。能够反映出市场在一定时期内的景气程度。其N日的伪函数定义如下:

        Double RSI(int N)
{
//1.首先计算N日的总涨价格
Double totalUp = GetTotalUp(N);
//2.然后计算N日的总跌价格(其值为绝对值)
Double totalDown = GetTotalDown(N);
//2.计算RSI,即:总涨幅占总变化价格的比例
Double rsi = (totalUp) / (totalUp + totalDown);
return rsi;
}

注意:上面公式计算的结果与大家在常见软件中看到的值不一样,常见软件中显示的结果会乘以100,以便结果的显示区间为:[0~100]。

通过上面的公式描述,看官们不难发现,其实RSI指标是应用了菜市场买白菜的原理,即:

  • 如果价格上涨的数量占总变化的比例比较小(大多数情况下降),那随后可能会涨价。
  • 如果价格上涨的数量占总变化的比例比较大(大多数情况上涨),那随后可能会降价。
  • 由于计算是通过占比方式来实现的,其值范围是[0,1],因此适用于编程量化。

2.       应用方式

通常情况下RSI可以从以下两方面进行判读:

  • 短周期线的上下边界

无论看官们是否是做软件的,您都会明白一个道理,一台计算机的CPU的使用率过高,一定不是正常状态,要小心CPU会不会烧了;如果CPU使用率过低的话(服务器),你会考虑,我是不是花钱花多了。

同样的道理,持续的上涨比例过高或过低,都代表了当前市场处于高温或低温的不稳定状态。参考了百度百科,一般认定[70%~80%]为卖出的上限参考点,[20%~30%]为买入的下限参考点,而处于中间比例时,为不明确点,可以进行观望,具体如下:

操作

RSI区间

超买(买入)

极端情况:[0%~10%]

正常情况:[10%~20%]

观望

[30%~70%]

超卖(卖出)

正常情况:[80%~90%]

极端情况:[90%~100%]

其应用的典型特征如下图所示:

  • 通过长短周期相互穿越进行判定

此方式与MA均线穿越的判读方式相同,即:

当短周期均线下穿长周期线的时候,说明整体趋势正在下降,可以卖出。

当短周期均线上穿长周期线的时候,说明整体趋势正在上长,可以买入。

其典型的特征如下图所示:

  1. 3.       总结

通过观察上面的几个图,看官很容易发现RSI的短周期线波动会非常大,因此,最好不要将RSI做为主要的判读指标。

本文中只是描述了RSI的伪算法,用户可以通过调用Warensoft Stock Service来实现该算法,在2017.1.12版本的客户端驱动中,已经添加了该算法的调用接口,欢迎大家进行测试并反馈意见。

作者:科学家

Email:warensoft@163.com

微信:43175692

高频交易算法研发心得--RSI指标及应用的更多相关文章

  1. 高频交易算法研发心得--WAVT指标(Warensoft交易量趋势指标)算法及应用

    高频交易算法研发心得--WAVT指标(Warensoft交易量趋势指标)算法及应用 注:WAVT指标由Warensoft(王宇)原创. 前面聊了一系列的常见应用指标,包括短线.长线的指标,并且也无耐的 ...

  2. 高频交易算法研发心得--MACD指标算法及应用

    凤鸾宝帐景非常,尽是泥金巧样妆. 曲曲远山飞翠色:翩翩舞袖映霞裳. 梨花带雨争娇艳:芍药笼烟骋媚妆. 但得妖娆能举动,取回长乐侍君王. [摘自<封神演义>纣王在女娲宫上香时题的诗] 一首定 ...

  3. AI大厂算法测试心得:人脸识别关键指标有哪些?

    仅仅在几年前,程序员要开发一款人脸识别应用,就必须精通算法的编写.但现在,随着成熟算法的对外开放,越来越多开发者只需专注于开发垂直行业的产品即可. 由调查机构发布的<中国AI产业地图研究> ...

  4. 高频交易:Solarflare组建超低延迟网络

    10Gb以太网适配器制.网卡造商Solarflare目前正在将自己的网卡系列产品转变为服务器产品.其产品在金融领域有着广泛的应用. Solarflare首先将现场可编程门阵列(FPGA)放入网络适配器 ...

  5. 以股票RSI指标为例,学习Python发送邮件功能(含RSI指标确定卖点策略)

    本人之前写过若干“给程序员加财商”的系列文,目的是通过股票案例讲述Python知识点,让大家在学习Python的同时还能掌握相关的股票知识,所谓一举两得. 在之前的系列文里,大家能看到K线,均线,成交 ...

  6. 商品期货高频交易策略Tick框架

    原帖地址:https://www.fmz.com/bbs-topic/1184在商品期货高频交易策略中, Tick行情的接收速度对策略的盈利结果有着决定性的影响,但市面上大多数交易框架,都是采用回调模 ...

  7. Java才是世界上最好的语言,Java在高频交易中替代C++

    高频交易 高频交易是指从那些人们无法利用的极为短暂的市场变化中寻求获利的计算机化交易,比如,某种证券买入价和卖出价差价的微小变化,或者某只股票在不同交易所之间的微小价差.在高频交易中,自动化应用程序每 ...

  8. 高频交易[z]

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:袁浩瀚链接:https://www.zhihu.com/question/21789812/answer/22178178来源 ...

  9. 高频交易策略之Penny Jump[z]

    高频交易策略之Penny Jump 今天假设有一个笨笨的大型机构投资人(共同基金,银行,退休基金....),他想要买进一只股票,但又不想挂市价买进,所以就在市场里面挂了一张要买进的大单.这时候所有市场 ...

随机推荐

  1. ASP.NET 5 Hello World

    ASP.NET 5系列教程 (二):Hello World   本篇文章内容比较基础,主要是向大家展示如何创建一个 ASP.NET 5 工程,主要包含内容如下: 创建ASP.NET 5 工程 添加 T ...

  2. jQuery圆形统计图实战开发

    今天我给大家介绍一款圆形统计图circliful,它基于HTML5的画布和jQuery,无需使用图像轻松实现圆形统计图,而且有很多属性设置,使用起来非常方便. 首先我们需要将jquery库文件和jqu ...

  3. 华硕K55DR体验 - 显卡就是坑

    朋友拿来电脑,本来他室友已经把他电脑重做完了,但还是卡,非要给我再搞一遍,难道?我就是传说中的大神?咳咳...YY一下,适可而止 华硕K55DR的配置来看,似乎应付CF没什么问题,可是,FPS各种不稳 ...

  4. 打开VMware的系统出错

    打开VMware系统时,出现错误 “Invalid configuration file. File "I:/My Virtual Machines/Windows XP english P ...

  5. FileWriter字符输出流和FileReader字符输出流

    //FileWriter public class FileWriterDemo { //字符流:适用于文本文件,以字符为单位进行操作,经常和缓冲流一起使用 /**  * 字符流操作步骤:  * 1. ...

  6. MVC 控制器

    ASP.NET MVC控制器(一) 前言 在路由的篇章中讲解了路由的作用,讲着讲着就到了控制器部分了,从本篇开始来讲解MVC中的控制器,控制器是怎么来的?MVC框架对它做了什么?以及前面有的篇幅所留的 ...

  7. POI操作EXCEL之导出Excel(设置有效性,下拉列表引用)

    本人使用的是poi-bin-3.10-FINAL-20140208.zip 版本的poi以下是程序关键代码: //需要引用的类 import java.io.File; import java.io. ...

  8. JS 浏览器检测

    原创博文,转载请注明出处. 如果你现在还是一个JavaScript新手(比如本人,哈哈 ),由于浏览器的兼容问题,很容易写出不兼容的JS代码,这就需要我们对浏览器进行检测. JavaScript Na ...

  9. 基于多重信号分类算法的DOA估计

    原创博文,转载请注明出处 下面的论文是我的雷达处理的作业,拿来共享,不喜勿喷.由于公式编辑器的原因,无法复制公式,全部内容请点击. 基于多重信号分类算法的DOA估计 1引言 多重信号分类(MUSIC) ...

  10. Castle.DynamicProxy Part 1: ClassProxy

    1.Castle中代理对象的分类 总的来说,代理对象大概可以分为2大类: 1.继承类型的代理对象 一类是继承类型的代理类.即:有一个类A,它的代理类是B.B是继承自A的.调用代理类B中的方法时,可以通 ...