ConnorsRSI

Author: AbsoluteReturn

Creation Date: 12/3/2012 1:48 PM

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

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

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

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.

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?

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

ActiveTrader 2013-03 | ConnorsRSI Pullback system

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?

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

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

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

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.

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.

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.

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.

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?

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?

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.

For technical reasons, we'll upload the update shortly

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...

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

CODE:

Please log in to see this code.

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...

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

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).

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.

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.

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,

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*.

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 >

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

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

Can some one tell me how to download the code (The indicator not the strategy).

Thanks

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).

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).

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

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

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.

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.

---

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

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.

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

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

QUOTE:A fix point method. That may work.

solving for the zero of a function

QUOTE: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.

Y(X) is not a continuous function

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.

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.

In general it converges to one of the zeros after 5 to 6 iterations.

QUOTE: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.

The Bisection Method does not need the derivative.

If you get it working and it makes money, let us know. And happy computing to you.