Spaces:
Runtime error
Runtime error
import yfinance as yf | |
def fetch_stock_data(symbol, start_date, end_date, interval='1d'): | |
""" | |
Fetch historical stock data for a given symbol from Yahoo Finance. | |
Parameters: | |
- symbol (str): Stock symbol to fetch the data for. | |
- start_date (str): Start date in 'YYYY-MM-DD' format. | |
- end_date (str): End date in 'YYYY-MM-DD' format. | |
- interval (str): Data interval. Defaults to '1d'. Options: '1d', '1h', etc. | |
Returns: | |
- DataFrame: Historical stock data including date, open, high, low, close, and volume. | |
""" | |
# Fetch the stock data using the yfinance library | |
stock_data = yf.download(symbol, start=start_date, end=end_date, interval=interval) | |
# Check if the DataFrame is empty | |
if stock_data.empty: | |
raise ValueError(f"No data found for {symbol} using interval {interval}.") | |
return stock_data | |
if __name__ == "__main__": | |
# Example usage | |
symbol = "AAPL" | |
start_date = "2023-01-01" | |
end_date = "2023-04-01" | |
interval = "1h" # For hourly data | |
# Fetch and print the data for demonstration | |
data = fetch_stock_data(symbol, start_date, end_date, interval) | |
print(data.head()) # Print the first few rows | |