Open AlexCatarino opened 5 years ago
spy_crsi.csv columns: "SPY close" "Conner RSI"
script:
import talib
import pandas as pd
history = pd.read_csv("https://github.com/QuantConnect/Lean/raw/master/Data/equity/usa/daily/spy.zip",
index_col=0, names=["open", "high", "low", "close", "volume"])
close = history.close
# Source: https://www.tradingview.com/support/solutions/43000502017-connors-rsi-crsi/
rsi = talib.RSI(close, 3)
streak = close * 0
for i in range(1, len(close)):
if streak.iloc[i-1] / close.pct_change().iloc[i] <= 0:
streak.iloc[i] = 0
else:
streak.iloc[i] = streak.iloc[i-1]
if close.iloc[i] > close.iloc[i-1]:
streak.iloc[i] = streak.iloc[i] + 1
elif close.iloc[i] < close.iloc[i-1]:
streak.iloc[i] = streak.iloc[i] - 1
rsi_streak = talib.RSI(streak, 2)
crsi = ((rsi + rsi_streak + close.pct_change(100)) / 3).to_frame()
crsi["SPY close"] = close
crsi = crsi.iloc[:, [1, 0]].dropna()
crsi.to_csv("spy_crsi.csv", header=False)
Expected Behavior
Connor's RSI is supported.
Actual Behavior
Connor's RSI is not supported: https://www.quantconnect.com/forum/discussion/4824/anyone-have-connors-rsi
Potential Solution
Implement Connor's RSI: https://stockcharts.com/school/doku.php?id=chart_school:trading_strategies:rsi2 https://www.tradingview.com/wiki/Connors_RSI_(CRSI)
Checklist
master
branch