Hi Mike,
Our RSI comes from ta-lib, which is also based on Wilder's formula. However, the implementation (source code) includes this comment:
'''
/* Often documentation present the RSI calculation as follow:
* RSI = 100 - (100 / 1 + (prevGain/prevLoss))
*
* The following is equivalent:
* RSI = 100 * (prevGain/(prevGain+prevLoss))
*
* The second equation is used here for speed optimization.
*/
'''
As you can tell, the RSI we calculate will hit the ceiling value (100) whenever the prevLoss is zero. Here we are using 2 for the period count, which is quite small, and as a result two up days in a row will mean zero value for prevLoss. In the attached backtest I added a calculation for the average losses over the past two days, to confirm the behavior. So, the stretches of 100 are at least the correct behavior for the data we are feeding the indicator.
Unfortunately, this doesn't account for the difference between our RSI and the ameritrade RSI. I suspect that the discrepancy is due to the price inputs. I have two theories:
- In these tests we are using last trade price to create the close price on the daily bar. Perhaps ameritrade is using higher frequency data, or the official close price from the exchanges, which includes some trades that settle after the close. Could you compare the prices for SPY on 5/3 and 5/6 between Quantopian and Ameritrade?
- Is it possible Ameritrade is running the RSI on higher frequency data? maybe tick?
thanks,
fawce
Disclaimer
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.