Получение разных результатов, когда я рассчитываю SMA_200 сразу после загрузки данных и когда я вычисляю их после испольPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Получение разных результатов, когда я рассчитываю SMA_200 сразу после загрузки данных и когда я вычисляю их после исполь

Сообщение Anonymous »

Я использую этот метод stock_list_data ['sma_200'] = stock_list_data.groupby ("company") ["close"]. Rolling (windo = 200) .mean (). Reset_index (level = 0, drop = true)
для расчета SMA_200, когда я использую его, я использую, я использую данные, если я использую данные, если я использую данные. Похоже, что он правильно рассчитывает SMA_200 в отношении того, почему это происходит? < /p>

Код: Выделить всё

for symbol, name in stocks:
data = yf.download(symbol, period="1y")
data["Company"] = name
data.reset_index(inplace=True)
data.columns = data.columns.droplevel(1)
data.columns.name = None
stock_list_data.append(data)

stock_list_data = pd.concat(stock_list_data)

# Calculating the daily return percentage form the opening and closing price.
stock_list_data['Daily_Return'] = (((stock_list_data['Close'] - stock_list_data['Open']) / stock_list_data['Open']) * 100)

# Calculating the simple moving average.
# stock_list_data['SMA_200'] = stock_list_data.groupby("Company")['Close'].transform(lambda x: x.rolling(window=200).mean())
stock_list_data['SMA_200'] = stock_list_data.groupby("Company")["Close"].rolling(window=200).mean().reset_index(level=0, drop=True)

# Calculating the Volatility.
stock_list_data['Volatility'] = stock_list_data.groupby("Company")['Daily_Return'].transform(lambda x: x.rolling(window=50).std())

# Rounding the daily return column to 2 decimal pounts and adding a percent sign.
stock_list_data['Daily_Return'] = stock_list_data['Daily_Return'].round(2).astype(str) + '%'

stock_list_data.round(2).to_csv("stocks.csv", index=False)

print(stock_list_data[200:])

stock_list_data = pd.read_csv("stocks.csv")

stock_list_data['SMA_200'] = stock_list_data.groupby("Company")["Close"].rolling(window=200).mean().reset_index(level=0, drop=True)

stock_list_data.round(2).to_csv("stocks.csv", index=False)

print(stock_list_data[200:])
Я ожидал получить правильные вычисления для SMA_200, когда я рассчитывал его в первый раз

Подробнее здесь: https://stackoverflow.com/questions/795 ... loading-th
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»