Why am I getting this error?
ticker = 'NFLX'
price = get_data(ticker, start_date='2020-01-01', end_date=None, index_as_date=bool, interval ='1d')
price.to_csv(r'D:\Python Stuff\pythonProject\NFLX.csv')
df = pd.read_csv('NFLX.csv')
price_list = df['adjclose']
change = price_list.diff(1)
def RSI():
change.dropna(inplace=True)
positive = change.copy()
negative = change.copy()
positive[positive < 0] = 0
negative[negative > 0] = 0
RSI_days = 5
average_gain = positive.rolling(window=RSI_days).mean()
average_loss = abs(negative.rolling(window=RSI_days).mean())
relative_strength = average_gain/average_loss
rsi = 100.0-(100.0/(1.0+relative_strength))
return rsi
relative_strength_index = RSI()
print(relative_strength_index[-6:])
lowest_rsi = min(relative_strength_index[-6:])
print(lowest_rsi)
index_number = relative_strength_index[-6:].index(lowest_rsi)
print('index of lowest rsi = ' + index_number)
When I run the code, my error is "TypeError: 'Int64Index' object is not callable". How can I improve this code to resolve this error?
Replace the parenthesis in index(lowest_rsi)
by brackets
index_number = relative_strength_index[-6:].index[lowest_rsi.astype(int)]
print('index of lowest rsi = ' + index_number)
Edit: Your code should probably look something like this:
relative_strength_index = RSI()
print(relative_strength_index[-6:])
index_number = relative_strength_index[-6:].idxmin()
print('index of lowest rsi =', index_number)