As I've been working with a list of DataFrames for my analysis I would like to find a way to recreate this list faster. Also tips on good practices are welcome.
This code is simply taking too long when I use more stocks. I'd like to improve this part:
stocks_list_DataFrames = []
stocks_all_symbol_list = list(stocks_all_csv['Symbol'].unique())
for symbol in stocks_all_symbol_list:
stock_data = stocks_all_csv[(stocks_all_csv['Symbol'] == symbol)]
stocks_list_DataFrames.append(stock_data)
And for reproducibility, copy the following:
import pandas as pd
from datetime import date
import yfinance as yf
stocks_all = []
start = date(2017, 10, 1)
end = date(2020, 6, 25)
list_symbols = ["CERS", "CERU", "CETV", "CEVA", "CFA", "CFBK", "CFFI", "CFFN",
"CFGE", "CFNB", "CFNL", "CFO", "CFRX", "CFRXW", "CFRXZ", "CG",
"CGEN", "CGIX", "CGNX", "CGO", "CHCI", "CHCO", "CHDN", "CHEF",
"CHEV"]
for symbol in list_symbols :
print(symbol)
stock_data = yf.download(symbol, start, end)
stock_data.insert(0, 'Symbol', symbol)
stocks_all.append(stock_data)
# pd.concat(stocks_all).to_csv('stocks_all.csv')
# stocks_all_csv = pd.read_csv('.../stocks_all.csv')
stocks_all_csv = pd.concat(stocks_all)
Any help would be greatly appreciated.