Liste von Yahoo Finance Variablen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
joeblack81
User
Beiträge: 2
Registriert: Montag 27. November 2023, 15:37

Hallo zusammen,

erstmal vielen Dank an alle die das hier lesen.

Ich habe ein Jupyter Notebook von dieser Seite gezogen und habe ein Problem mit einer Liste.

https://www.kaggle.com/code/faressayah/ ... using-lstm

Code: Alles auswählen

import pandas as pd
import numpy as np

import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('whitegrid')
plt.style.use("fivethirtyeight")
%matplotlib inline

# For reading stock data from yahoo
from pandas_datareader.data import DataReader
import yfinance as yf
from pandas_datareader import data as pdr

yf.pdr_override()

# For time stamps
from datetime import datetime


# The tech stocks we'll use for this analysis
tech_list = ['AAPL', 'GOOG', 'MSFT', 'AMZN', 'XRP-EUR']

# Set up End and Start times for data grab
tech_list = ['AAPL', 'GOOG', 'MSFT', 'AMZN', 'XRP-EUR']

end = datetime.now()
start = datetime(end.year - 1, end.month, end.day)

for stock in tech_list:
    globals()[stock] = yf.download(stock, start, end)

company_list = [AAPL, GOOG, MSFT, AMZN, XRP]
company_name = ["APPLE", "GOOGLE", "MICROSOFT", "AMAZON", 'XRP']

for company, com_name in zip(company_list, company_name):
    company["company_name"] = com_name
    
df = pd.concat(company_list, axis=0)
df.tail(10)
NameError Traceback (most recent call last)
Cell In[6], line 33
30 for stock in tech_list:
31 globals()[stock] = yf.download(stock, start, end)
---> 33 company_list = [AAPL, GOOG, MSFT, AMZN, XRP]
34 company_name = ["APPLE", "GOOGLE", "MICROSOFT", "AMAZON", 'XRP']
36 for company, com_name in zip(company_list, company_name):

NameError: name 'XRP' is not defined

Ich kriege nicht raus wie die Variable heißt, bei AAPL ist es klar, aber bei XRP nicht.
Ich bin absoluter Neuling in Python, daher bitte nicht wundern.

Vielen Dank
joeblack81
__deets__
User
Beiträge: 14544
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist ja absoluter Horror-Code mit der Nutzung von globals()[stock]. Das ist wirklich unterirdisch, und sollte nie so gemacht werden. Statt in die globalen Variablen zu pruegeln, sollte der Code einfach ein Woerterbuch erstellen, und da kannstd du dann auch mit dem Schluessel "XRP-EUR" (der so nicht als Name einer Variablen gueltig ist! Das ist auch dein Problem hier.) darauf zugreifen.

Code: Alles auswählen

stocks = { name : yf.download(name, start, end) for name in tech_list }[code]
joeblack81
User
Beiträge: 2
Registriert: Montag 27. November 2023, 15:37

Hallo __deets__, vielen Dank, ich werde versuchen das so umzusetzen, danke.
Antworten