ConnorsRSI
Author: AbsoluteReturn
Creation Date: 12/3/2012 1:48 PM
profile picture

AbsoluteReturn

#1
Hi all,

I would like to ask, if someone has already coded the ConnorsRSI in WL4? This indicator is presented on a pdf-file at the following website (page 6 to 8):

ConnorsRSI PDF

Thanks for your help in advance


profile picture

Eugene

#2
This indicator seems to be hot off the press. Makes sense to code it for Community Indicators, so I'm going to start soon.
profile picture

Eugene

#3
ConnorsRSI will be added to Community Indicators 2013.01. The PDF is a potential idea for a Trading System Lab, so thank you for the nice find.
profile picture

Eugene

#4
fyi, this indicator has been added to Community Indicators (version 2013.01).
profile picture

rmpwealth

#5
I have downloaded this Indicator, but am unsure how to apply it to create a strategy to backtest. What is the Rule-Based syntax that would create a Strategy that uses this Indicator to backtest?
profile picture

Eugene

#6
There is a downloadable Strategy that implements the system rules from the original ConnorsRSI book (you have seen the PDF in the first post, have you?):

ActiveTrader 2013-03 | ConnorsRSI Pullback system
profile picture

rmpwealth

#7
Thank you, Eugene; I found the Strategy and downloaded it. However, when I tried a backtest on SPY for 6-yrs, it indicated only one trade -- BUY on 10/10/08 @ $86.76 and SELL on 10/13/08 @ $101.35. Does that sound right -- only one trade in 6-years?
profile picture

Eugene

#8
Yes, that's expected. The setup triggers pretty rarely. Therefore we even picked a different (wider) universe of stocks for the TSL article.
profile picture

rk089

#9
Hi Eugene,

i tested the indicator recently and it does not look like the one Larry Connors described. If you compare the indicator values with his real life examples it does not match. Your implementation does never exceed a threshold of 70 whereas even in the two short charts examples i have seen the Conners RSI easily reaches 80. Something must be different?!

Best regards,
Robin
profile picture

Eugene

#10
Hi Robin,

I think that the only source of difference may come from how the author calculates PercentRank and how we're doing it: PercentRank.

Please feel free to share your findings: your Wiki account has been authorized to download attachments, Community Indicators in particular.
profile picture

Eugene

#11
I think I can confirm having found the source of that discrepancy. Indeed it's the PercentRank, or its scale to be precise. The way Connors and Alvarez calculate it, the numbers would go from 0 to 100. The Community Indicators formula that matches Excel's PercentRank is scaled from 0 to 1.

Sorry for the inconvenience. This is an easy fix to the ConnorsRSI indicator from our library, but the extension itself won't be updated for a few months to come because of some technical reasons.
profile picture

thodder

#12
Hi Eugene,

I can confirm that is the problem. I have some strategies written to test some Larry Connors examples. I noticed that the ConnorsRSI values did not match his examples too. After copying the code from Community.Indicators, multiplying the result from PercentRank by 100 will fix the ConnorsRSI values.

Do you know when you might be able to update the extension? I can fix it for myself, but there were a few other WLP users that were using this strategy as well. I noticed you said a few months. Are we looking at April or later?
profile picture

Eugene

#13
Hi Tim,

For technical reasons, we'll upload the update shortly after next scheduled Wealth-Lab build becomes available. On a broader note, all extension updates have been suspended since the release of our updated website and until new WL build comes out. Sorry for the inconvenience.
profile picture

thodder

#14
It looks like the PercentRank implementation in Community.Indicators is different than the Larry Connor's algorithm. There were some descrepancies with the values returned from the indicator and what was expected. We traced the difference to the PercentRank values.

Here's the latest version I'm working with that seems to produce better results...

CODE:
Please log in to see this code.
profile picture

Eugene

#15
Heads-up:

Community Indicators have just been updated with the fix to ConnorsRSI.
profile picture

thodder

#16
Eugene,

Does that include the CrPercentRank method I provided above? I seem to see some minor differences between your version of ConnorsRSI and mine (MyConnorsRSI). It looks like the difference is the routine above. If I go back to the code that uses the PercentRank, I get the same result as you.

I had an email from Larry Connors for after market close on April 15, 2013. The results below compare MyConnorsRSI (results match Larry's) with the ConnorsRSI from the library. As you can see these are off by a slight amount...

QUOTE:
Symbol MyConnorsRSI ConnorsRSI
LIFE 98.687 98.654
MYGN 93.808 93.775
TLT 86.124 86.058
VXX 87.817 87.783


All had the parameters (Close,3,2,100).
profile picture

Eugene

#17
Tim,

No, they don't: I noticed how insignificant was the difference. I even ran a comparison using the ConnorsRSI Pullback system on the entire NYSE DataSet. Between CrPercentRank and the traditional PercentRank, the difference was 1 (one) trade out of ten thousand or so. That's expected, as "98.687 vs 98.654" does not make a striking difference. But thanks for your input anyway.
profile picture

SimhaD04

#18
I tried ConnorsRSI from Community Indicators for S&P500 (SPY). The results don't look right - over ~10y period the index has never exceed 65. The above discussion indicated a bug of the sort which would do that, but the thread seem to indicate that it had been fixed long ago. Was it? How can I verify the date of my ConnorsRSI indicator? Thanks,
profile picture

Eugene

#19
Yes, it was fixed years ago. Assuming the default parameters (Close,3,2,100) it easily exceeds 80.

On how to work with Wealth-Lab extensions (e.g. check version), review this illustrated tutorial and/or check out the Wealth-Lab User Guide > Extension Manager.
profile picture

SimhaD04

#20
I had a version from 2013, updated it to the latest (2015) and now it seems to be working correctly, thanks, Eugene
profile picture

sjendoubi

#21
I want to download the ConnorsRSI indicator code to use in Visual Studio to create a DLL.
Can some one tell me how to download the code (The indicator not the strategy).

Thanks
profile picture

Eugene

#22
If your purpose is to modify the ConnorsRSI itself then, like I suggested in the ticket, you can download the source code as zipped "attachments" after logging in to the Wiki with your new Wiki account: Download Project Source Code

Namely, ConnorsRSI could be found here: Home - Community Indicators

To compile the project you'd have to update References as they point to the DLLs in a different installation directory, and optionally reconfigure Project Properties > Debug (to start WealthLabPro.exe instead of WealthLabDev.exe).
profile picture

sjendoubi

#23
Thanks
profile picture

sjendoubi

#24
Eugene,

Is it possible to do the reverse problem?
What I want is to project/compute the price needed tomorrow to raise the ConnorsRSI from today's value to 70 for example (intraday) and if this happen my strategy will trigger a sell signal.

In thinkorswim, they have some thing like this for RSI called ReverseEngineeringRSI.

Thanks
profile picture

Eugene

#25
Slah, sure it's possible. Check out my post #5 in this conversation for a collection of "RevEng" indicators already available in Wealth-Lab's indicator libraries. Of course RSI has been on the list already. While I probably wouldn't be very useful to 'reverse engineer' the ConnorsRSI for you, @Cone is the go-to guy when it comes to this kind of task. Maybe he could help if he has some free time.
profile picture

sjendoubi

#26
Thank you Eugene!!!
profile picture

superticker

#27
It's possible no one has derived an implementation for the ReverseEngineeredConnorsRSI. Can you cite a reference to an article that has solved this for the ConnorsRSI? It would involve solving for a differential equation (say the first and second derivative terms) expressing the time changes of the ConnorsRSI and weighting the input to the reciprocal of its variance. Basically, this is how the Kalman filter works under the hood, but this implementation would be specific for the ConnorsRSI; whereas, the stock-trading Kalman does this for any time varying input.

---
One really easy option is to extrapolate the value of interest (in this case, the ConnorsRSI) with the TSF indicator. http://www2.wealth-lab.com/WL5Wiki/TSF.ashx The documentation for the TSF indicator is wrong. You want to employ a positive ProjectionBar to extrapolate into the future. I use this extrapolation indicator myself for the MACD divergence (i.e. MACD histogram) indicator and it works well. Part of the reason for doing this is to extrapolate two bars into the future; the RevEngIndicator solutions typically only extrapolate one bar into the future.

If available, the reversed engineered solution (or Kalman approach) would be more precise than simple linear extrapolation (i.e. TSF indicator), but simple linear extrapolation works pretty well if you're extrapolating an area of the indicator that's somewhat linear already, which is what I'm doing for the MACD divergence at its zero crossing.
profile picture

sjendoubi

#28
Superticker,

I have an implementation of this using python. Let's say ConnorsRSI = Y(X) and X=Close for example. Knowing Y, I can solve for X using a modified bisection method (Basically solving for the zero of a function). There a small problem, because Y(X) is not a continuous function (but nearly continuous). However, if we can bracket where the function Y(X)= Y0 (given), we can use the bisection method to solve for X. I Tried this with the C#, but It is not working yet.

Thanks
profile picture

superticker

#29
QUOTE:
solving for the zero of a function
A fix point method. That may work.
QUOTE:
Y(X) is not a continuous function
So the derivative may not exist at some points, which could be a convergence problem. So the question remains, what to do if it's not converging after several iterations? Well, you could keep a moving average of the most recent iterations and return that instead. Not ideal, but I don't think it's going to get any better.

When working with fuzzy systems (not your standard numerical analysis problem), you can't expect to get precise answers. Ballpark solutions will have to do.

---
Whatever you do, you can't trust any one or two points on y(x) or the ConnorsRSI because they won't be reliable (i.e. they could be outliers). So you need to incorporate several points over the ConnorsRSI together with each iteration to dilute out the outliers. In other words, this is a fuzzy system numerical analysis problem.
profile picture

sjendoubi

#30
The Bisection Method does not need the derivative. It only need to know if the function has a zero ( it could have multiple zeros thou).
In general it converges to one of the zeros after 5 to 6 iterations.
profile picture

superticker

#31
QUOTE:
The Bisection Method does not need the derivative.
I agree. The bisection method is more robust, but converges slower than the derivative approaches (e.g. Newton-Raphson). My concern is whether or not it's even possible to find a "reasonable" and "reproducible" solution around local discontinuities. Perhaps you could try a smoothing filter (in the presence of enough "reliable" data points) to even out the local discontinuities and reveal the dominant zero,... an application dependent solution.

If you get it working and it makes money, let us know. And happy computing to you.
This website uses cookies to improve your experience. We'll assume you're ok with that, but you can opt-out if you wish (Read more).