Я работаю над личным проектом - это скорее учебное предприятие, чем что-либо другое, и проект состоит из нескольких, которые могут показаться общими задачами для обработки данных в python. Я пробовал несколько способов решить самостоятельно или с помощью информации, полученной из других потоков, но пока не повезло.
Немного предыстории: я пытаюсь взять список или фрейм данных биржевых тикеров и перейти в модуль тикера yfinance для извлечения истории для большого списка акций. Звучит просто - и, вероятно, для тех, кто какое-то время жил с Python.
Мой сценарий:
import yfinance as yf
import pandas as pd
from get_all_tickers import get_tickers as gt
list_of_tickers = gt.get_tickers()
tickerlist = pd.DataFrame(list_of_tickers, columns = ["Ticker"])
tickerlist = tickerlist.values.tolist()
tc = ""
for x in tickerlist:
tc += str(x)
tc = tc.replace(" ", "")
tc = tc.replace("[", ",")
tc = tc.replace("]", "")
tc = tc.replace("'", "")
#tc = ",".join(tc)
def Convert(string):
li = list(string.split(","))
return li
tc = Convert(tc)
df = pd.DataFrame(data=tc, columns = ["Ticker"])
df_filtered = df.iloc[1: , : ]
#df_filtered.update('"' + df_filtered[['Ticker']].astype(str) + '"')
# df_filtered.to_csv("./StockTickers.csv", sep=',',index=False)
list_filtered = df_filtered.values.tolist()
# valid periods: 1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,max
period= "1d"
# valid intervals: 1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo
interval = "1d"
#=============================================================================
for ticker in df_filtered: #df_filtered.iterrows():
ticker = str(ticker).upper()
ticker = yf.Ticker("DDD")
history = ticker.history(
period = period,
interval = interval
)
print(history)
print(df_filtered)