📜  使用Python多线程下载雅虎股票历史 – yfinance(1)

📅  最后修改于: 2023-12-03 15:22:20.128000             🧑  作者: Mango

使用Python多线程下载雅虎股票历史 – yfinance

简介

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多线程下载雅虎股票历史数据。使用多线程可以大大提高程序运行效率。