BASH Aktiendaten für ein ganzes Jahr anzeigen. Open-, High-, Low- und Close-Preis über Yahoo Finance API

Ein Bash Script, welches folgende Werte für eine Aktie anzeigen kann:

Der Benutzer muss das gewünschte Jahr beim Ausführen angeben, die Werte werden über die Yahoo Finance API bezogen, ein API-Key muss direkt bei Yahoo erstellt werden.

#!/bin/bash

# Setze den API-Schlüssel
api_key="DEIN_API_SCHLÜSSEL"

# Setze den Aktiensymbol
symbol="AAPL"

# Lese das Jahr ein
echo "Bitte gib das Jahr ein, für das die Aktienkurse angezeigt werden sollen:"
read year

# Konvertiere das Jahr in den Unix-Zeitraum für die Abfrage
unix_time=$(get_unix_time_for_year $year)

# Setze den Start- und Endzeitpunkt für die Abfrage (in Unix-Zeit)
start_date=$(echo $unix_time | awk '{print $1}')
end_date=$(echo $unix_time | awk '{print $2}')

# Führe die Abfrage durch und speichere das Ergebnis in einer temporären Datei
curl "https://query1.finance.yahoo.com/v8/finance/chart/$symbol?period1=$start_date&period2=$end_date&interval=1d&includePrePost=true&events=div%7Csplit%7Cearn&lang=en-US&region=US&crumb=2xZW6OZb2Dd&corsDomain=finance.yahoo.com" -H "Authorization: Bearer $api_key" > temp.json

# Extrahiere die Werte aus der JSON-Antwort
output=$(cat temp.json | jq '.chart.result[0].indicators.quote[0]' | jq '.[]' | jq '.[]' | jq '.[]' | while read line; do
  # Extrahiere die Werte für jeden Tag
  date=$(echo $line | jq '.date')
  open=$(echo $line | jq '.open')
  high=$(echo $line | jq '.high')
  low=$(echo $line | jq '.low')
  close=$(echo $line | jq '.close')

  # Konvertiere die Unix-Zeit in ein lesbares Datum
  readable_date=$(date -d @$date)

  # Formatiere die Ausgabe
  printf "%s\t%s\t%s\t%s\t%s\n" "$readable_date" "$open" "$high" "$low" "$close"
done)

# Gebe die Werte in einer Tabelle aus
echo "$output" | column -t

# Lösche die temporäre Datei
rm temp.json

Dieses BASH Script fragt den Benutzer nach dem Jahr, für das die Aktienkurse angezeigt werden sollen, und verwendet dann die oben definierte Funktion get_unix_time_for_year, um den Start- und Endzeitpunkt für den angegebenen Jahreszeitraum in Unix-Zeit zu berechnen. Das Script führt dann die Abfrage der Aktienkurse durch und zeigt die Eröffnungspreise, Tageshoch, Tagestief und Schlusspreis für jeden Tag im angegebenen Zeitraum an.

Um auf die Yahoo Finance API zuzugreifen, benötigst du einen API-Schlüssel, den du von Yahoo beantragen kannst. Nachdem du den API-Schlüssel erhalten hast, kannst du ihn verwenden, um die Aktienkurse abzufragen.

Die mobile Version verlassen