Ошибка атрибута для применения специальных функций - PullRequest
0 голосов
/ 14 февраля 2019

Я кодировал, импортируя данные и манипулируя ими.На последнем этапе я использовал pd.rolling_apply с тремя параметрами.В коде произошла ошибка, и при использовании # в строке код не возвращает ни одного.

Я несколько раз пытался зайти в Google, чтобы посмотреть, работает ли эта функция для других.Я также попытался прокомментировать строку и заменить pd на цену и ничего, но безрезультатно.

import pandas_datareader.data as web
import datetime
start = datetime.datetime(2018, 2, 8)
end = datetime.datetime(2019, 2, 8)
stock = 'TNA'
price = web.DataReader(stock,'yahoo', start, end)

n = 14
def rsi(price, n):
''' rsi indicator '''
gain = (price-price.shift(1)).fillna(0) # calculate price gain with 
previous day, first row nan is filled with 0

def rsiCalc(p):
    # subfunction for calculating rsi for one lookback period
    avgGain = p[p>0].sum()/n
    avgLoss = -p[p<0].sum()/n 
    rs = avgGain/avgLoss
    return 100 - 100/(1+rs)

# run for all periods with rolling_apply
return pd.rolling_apply(gain,n,rsiCalc)

print(rsi(price, n=14))

Ожидается, что код для печати RSI в течение определенного периода времени.Произошла ошибка, и это не результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...