Hr r en extremt enkel variant som hmtar de 100 senaste dagarnas kurser (ppning, stngning, hgst, lgsta, volym) fr de tickers som anvndaren vljer. Tickers sks med koden i fregende post. Datan sparas i en CSV fil som kan ppnas I LibreCalc
Kod:
#!/usr/bin/env python3
import requests
import csv
from datetime import datetime
key = 'DIN-API-NYCKEL'
tickerString = input("Ange en eller flera tickers (med mellanslag emellan): ").upper()
tickers = tickerString.split()
current_date = datetime.now().strftime("%Y-%m-%d")
csv_filename = f"stock_data_{current_date}.csv"
with open(csv_filename, 'w', newline='') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerow(['Ticker', 'Date', 'Open', 'High', 'Low', 'Close', 'Volume'])
for ticker in tickers:
url = f"https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol={ticker}&apikey={key}"
r = requests.get(url)
data = r.json()
if "Error Message" in data:
print(f"Ticker {ticker} hittades inte.")
continue
else:
print(f"Ticker {ticker} hittades och data sparas i CSV-filen.")
time_series = data.get("Time Series (Daily)", {})
for date, values in time_series.items():
csvwriter.writerow([
ticker,
date,
values.get("1. open", ""),
values.get("2. high", ""),
values.get("3. low", ""),
values.get("4. close", ""),
values.get("5. volume", "")
])
print(f"Data har sparats i filen: {csv_filename}")