📅  最后修改于: 2023-12-03 15:22:20.128000             🧑  作者: Mango
yfinance
是一款基于Python、使用Yahoo Finance API的包,可以用来获取股票历史数据。
在下载大量股票数据时,可以使用多线程来提高效率。本文将介绍如何使用Python多线程下载雅虎股票历史数据。
使用pip安装:
pip install yfinance
我们可以写一个简单的程序,使用多线程下载多个股票的历史数据。
import yfinance as yf
import threading
class StockDownloader(threading.Thread):
def __init__(self, symbol, start_date, end_date):
super().__init__()
self.symbol = symbol
self.start_date = start_date
self.end_date = end_date
def run(self):
data = yf.download(self.symbol, start=self.start_date, end=self.end_date)
data.to_csv(self.symbol + '.csv')
symbols = ['AAPL', 'GOOG', 'TSLA', 'MSFT', 'AMZN']
start_date = '2020-01-01'
end_date = '2021-01-01'
threads = []
for symbol in symbols:
t = StockDownloader(symbol, start_date, end_date)
t.start()
threads.append(t)
for t in threads:
t.join()
以上代码定义了一个 StockDownloader
类,该类继承了 threading.Thread
类,并重写了 run
方法。run
方法中使用 yf.download
方法下载股票历史数据,并使用 to_csv
方法将数据保存为CSV文件。
在主程序中,我们创建了 StockDownloader
实例,并使用 start
方法启动多个线程。然后我们使用 join
方法等待所有线程结束。
本文介绍了如何使用Python多线程下载雅虎股票历史数据。使用多线程可以大大提高程序运行效率。