A chatGPT-vel irattam python programot árfolyamok lekérdezésére
Автор: aron68 on_eToro
Загружено: 2023-02-28
Просмотров: 34
Описание:
Regisztráció az eToron: https://etoro.tw/35BwnwF
IBKR: https://ibkr.com/referral/aron561
TRADING212: www.trading212.com/invite/11Q8qC4FO8
A program részvények árfolyamát kérdezi le, és kiírja cvs fájlba.
import requests
import json
import csv
import time
Alphavantage API kulcs beolvasása a fájlból
with open("/home/aron/Dokumentumok/Befektetesek/IBKR/Python/alphavantage.txt") as f:
api_key = f.read().strip()
Ticker adatok beolvasása a fájlból
tickers = []
with open("/home/aron/Dokumentumok/Befektetesek/IBKR/Python/portfolio.csv", newline="") as f:
reader = csv.DictReader(f)
for row in reader:
tickers.append(row["Ticker"])
Az eredmények tárolására használt lista inicializálása
results = []
Az API lekérdezése minden tickerre
for ticker in tickers:
url = f"https://www.alphavantage.co/query?fun...{ticker}&apikey={api_key}"
response = requests.get(url)
data = json.loads(response.text)
A lekérdezett adatok feldolgozása
try:
time_series = data["Time Series (Daily)"]
latest_date = data["Meta Data"]["3. Last Refreshed"]
A mai nyitóárfolyam lekérdezése
if latest_date[:10] == time.strftime("%Y-%m-%d", time.localtime()):
open_price = time_series[latest_date]["1. open"]
else:
open_price = time_series[list(time_series.keys())[0]]["1. open"]
Az eredmények tárolása
results.append({"Ticker": ticker, "Datum": latest_date, "Arfolyam": open_price})
print(f"{ticker} nyitóára: {open_price}")
Hiba esetén a hibakódot és az üzenetet írjuk ki
except KeyError as e:
print(f"{ticker} hiba: {e}")
Várakozás 5 lekérdezés után 1 perc és 5 másodperc
if len(results) % 5 == 0:
print("Túl sok lekérdezés, várakozás...")
time.sleep(65)
Az eredmények kiírása egy CSV fájlba
with open(f"/home/aron/Dokumentumok/Befektetesek/IBKR/Python/portfolio-{time.strftime('%Y-%m-%d')}.csv", "w", newline="") as f:
fieldnames = ["Ticker", "Datum", "Arfolyam"]
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(results)
Повторяем попытку...

Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: