定义获取多只股票函数怎么办
编写获取多只股票数据的函数
```python
import yfinance as yf
def get_stock_data(tickers, start_date, end_date):
"""
Function to retrieve historical stock data for multiple tickers.
Parameters:
tickers (list): List of stock tickers (e.g., ['AAPL', 'MSFT', 'GOOGL']).
start_date (str): Start date for historical data in 'YYYYMMDD' format.
end_date (str): End date for historical data in 'YYYYMMDD' format.
Returns:
dict: Dictionary containing historical stock data for each ticker.
Keys are tickers and values are Pandas DataFrames with the historical data.
"""
stock_data = {}
for ticker in tickers:
try:
stock = yf.download(ticker, start=start_date, end=end_date)
stock_data[ticker] = stock
except Exception as e:
print(f"Error fetching data for {ticker}: {e}")
return stock_data
Example usage:
tickers = ['AAPL', 'MSFT', 'GOOGL']
start_date = '20200101'
end_date = '20210101'
stock_data = get_stock_data(tickers, start_date, end_date)
```
解释:
1.
导入必要的库:
我们首先导入了`yfinance`库,它是一个用于获取Yahoo Finance数据的Python库。2.
编写函数:
`get_stock_data` 函数接受三个参数:`tickers`(股票代码列表)、`start_date`(开始日期)和 `end_date`(结束日期)。该函数会遍历每个股票代码,使用 `yfinance` 库获取指定日期范围内的历史股票数据,并将结果存储在一个字典中,其中键是股票代码,值是 Pandas 数据帧。3.
异常处理:
我们使用`tryexcept`块来处理可能的异常,比如无法获取特定股票数据的情况。如果出现异常,函数将打印错误消息并继续执行。4.
示例用法:
我们提供了一个示例用法,调用`get_stock_data`函数并传入股票代码列表、开始日期和结束日期,以获取股票数据。免责声明:本网站部分内容由用户上传,若侵犯您权益,请联系我们,谢谢!联系QQ:2760375052