高頻交易算法研發心得--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均線穿越的判讀方式相同,即:
當短周期均線下穿長周期線的時候,說明整體趨勢正在下降,可以賣出。
當短周期均線上穿長周期線的時候,說明整體趨勢正在上長,可以買入。
其典型的特征如下圖所示:


- 3. 總結
通過觀察上面的幾個圖,看官很容易發現RSI的短周期線波動會非常大,因此,最好不要將RSI做為主要的判讀指標。
本文中只是描述了RSI的偽算法,用戶可以通過調用Warensoft Stock Service來實現該算法,在2017.1.12版本的客戶端驅動中,已經添加了該算法的調用接口,歡迎大家進行測試並反饋意見。
作者:科學家
Email:warensoft@163.com
微信:43175692
