Benachrichtigungen zu Aktienkursvergünstigungen erhalten

Programmierstufe: Anfänger
Dauer: 5 Minuten
Projekttyp: Automatisierung mit einem zeitgesteuerten Trigger

Zielsetzungen

  • Verstehen Sie, was die Lösung leisten kann.
  • Was die Apps Script-Dienste innerhalb der Lösung leisten
  • Richten Sie das Skript ein.
  • Führen Sie das Skript aus.

Informationen zu dieser Lösung

Wenn du eine Aktie kaufst und der Wert sinkt, kannst du sie verkaufen, eine andere Aktie kaufen und einen Steuerabzug beantragen. Das wird als „Steuerverlust“ bezeichnet. Sie können Ihre Aktien in einer Google Tabellen-Tabelle auflisten und sich per E-Mail benachrichtigen lassen, wenn der Preis unter den Kaufpreis fällt.

Screenshot einer Google-Tabelle mit Aktienkursen und einer Gmail-E-Mail-Benachrichtigung

Funktionsweise

Die Tabelle verwendet die integrierte Funktion von Google Finanzen in Google Tabellen, um die aktuellen Aktienkurse abzurufen. Das Skript vergleicht den Kaufpreis jeder gelisteten Aktie mit dem aktuellen Preis. Sie erhalten dann per E-Mail eine Liste mit Aktien, die unter den Kaufpreis gefallen sind. Sie können festlegen, dass das Skript so oft ausgeführt wird, wie Sie möchten.

Apps Script-Dienste

Diese Lösung verwendet die folgenden Dienste:

  • Tabellendienst: Durchläuft jede börsennotierte Aktie und vergleicht den Aktienpreis mit dem Kaufpreis.
  • Gmail-Dienst: Erstellt und sendet eine E-Mail der Aktien, die unter ihren Kaufpreis gefallen sind.

Voraussetzungen

Sie benötigen die folgenden Voraussetzungen, um dieses Beispiel verwenden zu können:

  • Ein Google-Konto (Google Workspace-Konten erfordern möglicherweise die Administratorgenehmigung).
  • Ein Webbrowser mit Zugang zum Internet.

Skript einrichten

  1. Klicken Sie auf die folgende Schaltfläche, um eine Kopie der Beispieltabelle für Warnungen zu Steuerverlusten zu erstellen. Das Apps Script-Projekt für diese Lösung ist an die Tabelle angehängt.
    Kopie erstellen
  2. Aktualisieren Sie in der kopierten Tabelle das Tabellenblatt mit Ihren eigenen Bestandsinformationen oder verwenden Sie die bereitgestellten Testdaten.

Skript ausführen

  1. Klicken Sie in der kopierten Tabelle auf Erweiterungen > Apps Script.
  2. Wählen Sie im Drop-down-Menü der Funktion checkLosses aus.
  3. Klicken Sie auf Ausführen.
  4. Autorisieren Sie das Skript, wenn Sie dazu aufgefordert werden. Wenn auf dem OAuth-Zustimmungsbildschirm die Warnung Diese Anwendung wurde nicht überprüft angezeigt wird, wählen Sie Erweitert > Zu {Projektname} (unsicher) aus.

  5. Suchen Sie in Ihrem E-Mail-Posteingang nach einer Liste der Aktien, die unter ihrem Kaufpreis lagen. Wenn Sie keine E-Mail erhalten haben, prüfen Sie, ob einer der Aktienkurse in Ihrer Liste unter dem Kaufpreis liegt.

Zeitgesteuerten Trigger erstellen

  1. Kehren Sie zum Skriptprojekt zurück.
  2. Klicken Sie links auf Trigger .
  3. Klicken Sie rechts unten auf Trigger hinzufügen.
  4. Achten Sie darauf, dass für Auswählen, welche Funktion ausgeführt werden soll die Option checkLosses ausgewählt ist.
  5. Wählen Sie für Ereignisquelle auswählen die Option Zeitgesteuert aus.
  6. Legen Sie fest, wie oft das Skript ausgeführt werden soll, und klicken Sie auf Speichern.

Code ansehen

Wenn Sie den Apps Script-Code für diese Lösung sehen möchten, klicken Sie unten auf Quellcode ansehen:

Quellcode ansehen

Code.gs

solutions/automations/tax-loss-harvest-alerts/Code.js
// To learn how to use this script, refer to the documentation:
// https://developers.google.com/apps-script/samples/automations/tax-loss-harvest-alerts

/*
Copyright 2022 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

/** 
* Checks for losses in the sheet.
*/
function checkLosses() {
  // Pulls data from the spreadsheet
  let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(
    "Calculations"
  );
  let source = sheet.getRange("A:G");
  let data = source.getValues();

  //Prepares the email alert content
  let message = "Stocks: <br><br>";

  let send_message = false;

  console.log("starting loop");

  //Loops through the cells in the spreadsheet to find cells where the stock fell below purchase price
  let n = 0;
  for (let i in data) {
    //Skips the first row
    if (n++ == 0) continue;

    //Loads the current row
    let row = data[i];

    console.log(row[1]);
    console.log(row[6]);

    //Once at the end of the list, exits the loop
    if (row[1] == "") break;

    //If value is below purchase price, adds stock ticker and difference to list of tax loss opportunities
    if (row[6] < 0) {
      message +=
        row[1] +
        ": " +
        (parseFloat(row[6].toString()) * 100).toFixed(2).toString() +
        "%<br>";
      send_message = true;
    }
  }
  if (!send_message) return;

  MailApp.sendEmail({
    to: SpreadsheetApp.getActiveSpreadsheet().getOwner().getEmail(),
    subject: "Tax-loss harvest",
    htmlBody: message,

  });
}

Beitragende

Dieses Beispiel wurde von Jeremy Glassenberg, Product Management and Platform Strategy Consultant, erstellt. Sie finden Jeremy auf Twitter @jglassenberg.

Dieses Beispiel wird von Google mit Unterstützung von Google Developers-Experten verwaltet.

Nächste Schritte