从雅虎财经检索大量数据
Retrieve a lot of data from Yahoo finance
我有一个 csv 文件,其中包含在纳斯达克上市的所有股票的代码。这是该 csv 文件的 link。人们可以从那里下载它。有8000多只股票上市。以下是代码
import pandas as pd
import yfinance # pip install yfinance
tick_pd = pd.read_csv("/path/to/the/csv/file/nasdaq_screener_1654004691484.csv",
usecols = [0])
我做了一个函数来检索股票代码的历史股票价格。该功能如下:-
## function to be applied on each stock symbol
def appfunc(ticker):
A = yf.Ticker(ticker).history(period="max")
A["symbol"] = ticker
return A
然后我将此函数应用到 tick_pd
的每一行,方法如下:-
hist_prices = tick_pd.apply(appfunc)
但这需要太多时间,太多时间。我希望有人能找到一种方法来快速检索这些数据。或者,如果有一种方法可以将其并行化。我对 python
很陌生,所以,我真的不知道有多少方法可以做到这一点。
提前致谢
您可以使用 yf.download
异步下载所有代码::
tick_pd = pd.read_csv('nasdaq_screener_1654024849057.csv', usecols=[0])
df = yf.download(tick_pd['Symbol'].tolist(), period='max')
您可以使用 threads
作为 yf.download
的参数:
# Enable mass downloading (default is True)
df = yf.download(tick_pd['Symbol'].tolist(), period='max', threads=True)
# OR
# You can control the number of threads
df = yf.download(tick_pd['Symbol'].tolist(), period='max', threads=8)
我有一个 csv 文件,其中包含在纳斯达克上市的所有股票的代码。这是该 csv 文件的 link。人们可以从那里下载它。有8000多只股票上市。以下是代码
import pandas as pd
import yfinance # pip install yfinance
tick_pd = pd.read_csv("/path/to/the/csv/file/nasdaq_screener_1654004691484.csv",
usecols = [0])
我做了一个函数来检索股票代码的历史股票价格。该功能如下:-
## function to be applied on each stock symbol
def appfunc(ticker):
A = yf.Ticker(ticker).history(period="max")
A["symbol"] = ticker
return A
然后我将此函数应用到 tick_pd
的每一行,方法如下:-
hist_prices = tick_pd.apply(appfunc)
但这需要太多时间,太多时间。我希望有人能找到一种方法来快速检索这些数据。或者,如果有一种方法可以将其并行化。我对 python
很陌生,所以,我真的不知道有多少方法可以做到这一点。
提前致谢
您可以使用 yf.download
异步下载所有代码::
tick_pd = pd.read_csv('nasdaq_screener_1654024849057.csv', usecols=[0])
df = yf.download(tick_pd['Symbol'].tolist(), period='max')
您可以使用 threads
作为 yf.download
的参数:
# Enable mass downloading (default is True)
df = yf.download(tick_pd['Symbol'].tolist(), period='max', threads=True)
# OR
# You can control the number of threads
df = yf.download(tick_pd['Symbol'].tolist(), period='max', threads=8)