# Einrichten der Kursabfrage

Wenn Sie mehr als ein paar Devisen und Wertpapiere besitzen, werden Sie es vielleicht bald leid sein, die Kurse ständig per Hand aktualisieren zu müssen. &app; bietet Ihnen die Möglichkeit, automatisch den aktuellsten Kurs für Ihre Devisen und Wertpapiere über das Internet herunterzuladen. Hierfür wird das &app-perl;-Modul &app-fq; verwendet.

## Die Vorraussetzungen für eine Online-Kursabfrage mit &app-fq; sind

- ein &app-perl; Interpreter und

- das &app-perl;-Module &app-fq; mit allen Abhängigkeiten.

Wenn Sie bei der Durchführung der hier beschriebenen Schritte nicht mehr weiterwissen, können Sie auf den unter more_help genannten Kanäle viele hilfsbereiten Anwender erreichen.

Sie können diesen Schritt auch weglassen und Ihre Kurse weiterhin manuell aktualisieren.

## Installieren von &app-perl;

Abhängig von dem verwendeten Betriebssystem ist der Aufwand für die Installation von &app-perl; schnell erledigt und wird in diesem Abschnitt beschrieben.

Um zu überprüfen ob auf Ihrem System &app-perl; bereits installiert ist, rufen Sie den Befehl `perl -v` im Terminal auf.

    $ perl -v
    This is perl 5, version 30, subversion 0 (v5.30.0) built for x86_64-linux-gnu-thread-multi

Wird Ihnen die Versionsnummer des &app-perl;-Interpreters angezeigt, dann überspringen Sie die nächsten Angaben und fahren Sie stattdessen mit finance-quote-install fort.

## Unter &lin;

1. Bei den meisten Systemen ist &app-perl; wahrscheinlich bereits installiert. Wird mit dem vorherigen Befehl keine Version angezeigt wird, dann verwenden Sie am einfachsten die Paketverwaltung Ihres Systems zur Installation.

2. Verwenden Sie das &app; &flatpak; Paket sind &app-perl; und &app-fq; bereits funktionsfähig installiert.

## Unter &mac;

1. &app-perl; ist unter &mac; normalerweise schon eingerichtet.

## Unter &win;

1. Unter &win; führen Sie das Programm &mc.winOS.inst-fq; aus. Dies wird Strawberry Perl installieren.

   &app; Version 2.2.6 und früher benötigen ActivePerl in Version 5.8.

   &app; Version 2.4 und früher benötigen ActivePerl ab Version 5.16.3.

2. Zu Ausführung beötigen Sie Administratorenrechte, die im Dialog abgefragt werden. Die Installation kann mehr als 15 Minuten dauern.

3. Werden während der Installation die Fehlermeldung `No such file or directory` oder `permission denied` angezeigt, dann kann es helfen das Antivirenprogramm vorübergehend zu deaktiviern.

Es empfiehlt sich anschließend, das Verzeichnis in dem &app; installiert ist, unter &win; z.B. ``C:\Programme (x86)\gnucash\bin``, zu Ihrer `PATH`-Umgebungsvariable hinzuzufügen. Auf diese Weise ist es für Sie einfacher, bei Bedarf die finance-quote-helper zu nutzen. Hierzu informieren Sie sich bitte in den Unterlagen zu Ihrem Betriebssystem.

## Installieren von &app-fq;

Um festzustellen, ob das &app-perl;-Modul &app-fq; bereits auf Ihrem System verfügbar ist, geben Sie `perldoc Finance::Quote` in einem Terminalfenster ein. Wird Ihnen jetzt eine Dokumentation in dieser Form

    $ perldoc Finance::Quote
    NAME
        Finance::Quote - Get stock and mutual fund quotes from various exchanges

    SYNOPSIS
           [...]

angezeigt, dann ist &app-fq; installiert und Sie können, wie in finance-quote-scheduler beschrieben, den automatisierten Kursabruf konfigurieren. Wenn nicht, dann gibt Ihnen dieser Abschnitt eine Anleitung zur Installation.

Die Installation von &app-fq; unterscheidet sich von einem Betriebssystem zum anderen. Für die verschiedenen unterstützten Systeme, können Sie die folgenden Anweisungen befolgen:

## Unter &lin;

1. Beenden Sie &app;.

2. Führen Sie den Befehl `gnc-fq-check` aus, um zu überprüfen, ob das Programm bereits in einem Verzeichnis liegt, welches in der Umgebungsvariable `PATH` eingetragen ist.

   Wenn Sie die von Ihrer Distribution bereitgestellten &app; Pakete installiert haben, sollte `gnc-fq-check` bereits in Ihrem `PATH` sein. Die Aktualität ihrer Distribution können Sie unter &app-fq;- Versionen nachlesen.

3. Als nächstes aktualisieren Sie mit `sudo gnc-fq-update` oder `su -c gnc-fq-update` mit Root-Rechten &app-fq;. Die richtige Syntax ist von der jeweiligen Distribution abhängig. Weitere Informationen finden Sie im nächsten Kapitel unter gnc-fq-update.

4. Führen Sie `gnc-fq-check` aus, um zu prüfen, ob &app-fq; richtig installiert ist. Wenn dies so ist, dann werden die Versionsnummer sowie die von &app-fq; verwendbaren Quellen für eine Kursabfrage aufgelistet. Bei Problemen mit der Installation von &app-fq; wird eventuell eine Lösung vorgeschlagen.

## Unter &mac;

1. Beenden Sie &app;.

2. Installieren Sie &app-xcode;

   Sie können &app-xcode; aus dem App Store installieren oder Sie installieren die viel kleineren Xcode-Befehlszeilentools, indem Sie `sudo xcode-select --install` in einer Terminal.app Eingabeaufforderung ausführen.

   , falls noch nicht geschehen. Es enthält Entwicklungswerkzeuge, die von CPAN benötigt werden, um die benötigten &app-fq; Module zu bauen und zu testen.

3. Führen Sie die Anwendung Update Finance Quote im &app; dmg aus.

   Sie können es von der dmg ausführen oder in denselben Ordner kopieren, in den Sie &app; kopiert haben. Es öffnet sich ein Terminalfenster und führt ein Skript für Sie aus, das Ihnen eine Reihe von Fragen stellt. Akzeptieren Sie bei jeder Frage die Vorgabe, es sei denn, Sie wissen, was Sie tun.

## Unter &win;

1. Beenden Sie &app;.

2. Führen Sie &mc.winOS.inst-fq; aus. Dies ist ein kleines Hilfsprogramm, das &app-fq; für Sie installiert.

## Hilfsprogramme zur Symbolsuche und Aktualisierung

&app; bietet Hilfsprogramme, die Sie bei der Auswahl der richtigen Symbole und der Verifikation für die gewünschte Online- Kursquelle unterstützen. Ein weiteres Skript führt die erstmalige Installation durch oder bringt &app-fq; auf den aktuellen Stand. Und letztendlich stehen auch Tools zur Fehleranalyse bereit.

## &app-perl; Skripts unter &win; ausführen

1. Öffnen Sie ein CMD- oder Powershell -Fenster: Klicken Sie auf &gm.win; und geben Sie entweder `cmd` oder `powershell` ein und wählen Sie den entsprechenden Menüpunkt. Das muss nicht als Administrator ausgeführt werden.

2. Da, wie zuvor empfohlen, das &app;-Verzeichnis in die `PATH` Umgebungsvariable eingetragen wurde, müssen Sie jetzt nur noch jedem gnc-fq-xxx &app-perl; Skriptbefehl Perl und ein Leerzeichen voranstellen, z.B. `perl gnc-fq-check`. Andernfalls müssen Sie den Befehl in der Form ``C:\strawberry-perl\bin\`perl.exe `C:\Programme (x86)\gnucash\bin\` gnc-fq-check` ausführen.

### gnc-fq-check

Dieses Programm liefert die Versionsnummer des derzeit installierten &app-fq; Moduls sowie eine Liste der über &app-fq; verfügbaren Quellen. Es informiert Sie auch, wenn es ein Problem mit Ihrer Installation gibt und schlägt eventuell eine Lösung vor.

    $ gnc-fq-check
    Can't locate Mozilla/CA.pm in @INC (you may need to install the Mozilla::CA module)
    (@INC contains: /usr/lib/perl5/site_perl/5.30.1/x86_64-linux-thread-multi /usr/
    lib/perl5/site_perl/5.30.1 /usr/lib/perl5/vendor_perl/5.30.1/x86_64-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.30.1 /usr/lib/perl5/5.30.1/x86_64-linux-thread-multi
    /usr/lib/perl5/5.30.1 /usr/lib/perl5/site_perl)
    at /usr/lib/perl5/vendor_perl/5.30.1/Finance/Quote/Tiaacref.pm line 33.
    Compilation failed in require at (eval 303) line 1.
    BEGIN failed--compilation aborted at (eval 303) line 1.
     at /usr/local/bin/gnc-fq-check line 91.
    ("1.47" "adig" "aex" "aiahk" "alphavantage" "amfiindia" "asegr" "asia" "asx"
    "australia" "bamosz" "bet" "bmonesbittburns" "bourso" "brasil" "bse" "bsero" "canada"
    "canadamutual" "citywire" "cominvest" "cse" "deka" "dutch" "dwsfunds" "europe"
    "fetch_live_currencies" "fidelity" "fidelity_direct" "fidelityfixed" "financecanada"
    "finanzpartner" "finland" "fool" "france" "ftfunds" "ftportfolios" "ftportfolios_direct"
    "fundlibrary" "goldmoney" "greece" "hex" "hu" "hufund" "hungary" "hustock" "indiamutual"
    "known_currencies" "lerevenu" "maninv" "morningstar" "morningstarjp" "mstaruk" "nasdaq"
    "nyse" "nz" "nzx" "platinum" "romania" "seb_funds" "sixfunds" "sixshares"
    "stockhousecanada_fund" "tdefunds" "tdwaterhouse" "tiaacref" "tnetuk" "troweprice"
    "troweprice_direct" "trustnet" "tsp" "tsx" "uk_unit_trusts" "ukfunds" "unionfunds"
    "usa" "usfedbonds" "vanguard" "vwd" "yahoo" "yahoo_asia" "yahoo_australia"
    "yahoo_brasil" "yahoo_europe" "yahoo_json" "yahoo_nz" "yahoo_yql" "za" "za_unittrusts")

Der erste Teil ist die Fehlermeldung über ein fehlendes &app-perl;-Modul Mozilla/CA.pm. Am Ende in Klammern steht die normale Ausgabe der aktuell installierten &app-fq;-Version

Die neueste &app-fq; Version ist &app-fq-vers;.

und eine Liste der verfügbaren Kursdaten-Quellen.

Wenn ein Fehler angezeigt wird, lesen Sie den nächsten Abschnitt gnc-fq-update. Ansonsten fahren Sie mit gnc-fq-dump fort.

### gnc-fq-update

Dieses Programm installiert oder aktualisiert das &app-fq; Softwaremodul und löst bei Bedarf die Abhängigkeiten zu weiteren Softwarepaketen auf.

Windows-Benutzer sind im Allgemeinen besser beraten, wenn sie das Update-Tool &mc.winOS.inst-fq; ausführen.

Dieses Programm erfordert für eine Installation unter &lin; oder &mac; Superuser- oder Administratorrechte, aber nicht in &win;.

`gnc-fq-update` startet &app-perl;s Standardmodul CPAN

Siehe CPAN Frequently Asked Questions für weitere Informationen.

um die Installation vorzunehmen. Wenn Sie CPAN zum ersten Mal verwenden, müssen Sie es konfigurieren, wobei Sie auf den meisten Systemen jedoch die Standardvorgaben akzeptieren und die erste Frage `Are you ready for manual configuration? [yes]` mit `no` beantworten können, damit &app-fq; erfolgreich installiert wird.

### gnc-fq-dump

Dieses Programm liefert Kursdaten für eine Quelle und eine Liste von Symbolen in einem Format, das für Menschen leicht zu lesen ist. Es ist nützlich, um zu überprüfen, ob eine bestimmte Online-Kursquelle erreichbar ist und funktioniert.

Mit Hilfe diesen Befehls können Sie überprüfen, ob das tool-ge-Symbol, welches Sie für Ihr Wertpapier zum Online-Kursabruf verwenden möchten, bei der gewünschten tool-ge-TypeQuoteSource funktioniert.

Mit `gnc-fq-dump` können Sie Symbole schneller als aus &app; heraus überprüfen, wenn während des Abrufs mit &app; ein Fehler auftritt. Dies kann Sie davor bewahren, &app; mit aktiviertem Debug-Logging laufen zu lassen, während Sie ein nicht funktionierendes Symbol überprüfen.

- Um ausführliche Inforamtionen zu einem Wertpapier zu erhalten, führen Sie in der Befehlszeile einen Befehl in dieser Form aus:

                    gnc-fq-dump
                    -v
                    Quelle
                    Symbol

  zum Beispiel `gnc-fq-dump -v yahoo_json IBM`.

- Zum Abrufen eines Wechselkurses führen Sie folgenden Befehl aus: `gnc-fq-dump -v currency USD EUR`

  Seit &app-fq; 1.41 ist die Standardquelle für Währungen Alpha Vantage. Lesen Sie auch die Hinweise zu gnc-tbl-fq-currency-source.

  Die alten Yahoo-Währungen sind immer noch verfügbar als `gnc-fq-dump yahoo_json USDEUR=X`.

Um zu testen, ob &app-fq; für Währungen innerhalb von &app; funktioniert,

1. nehmen Sie eine Buchung zwischen dem gewünschtem Handelsgut und der Buchwährung,

2. machen einen Rechtsklick darauf, und dann

3. wählen Sie im Kontextmenü die Option &gmi.ac.ed-ex;.

Der trans-win-enter wird angezeigt. Klicken Sie auf die Schaltfläche Wechselkurs abrufen, und wenn alles gut läuft, wird der aktuelle Kurs in das Feld für den Wechselkurs eingetragen.

### gnc-fq-helper

Dies ist ein Skript, das &app; zum Abrufen von Kursen verwendet und musss normalerweise vom Benutzer nicht verwendet werden. Sollte der Abruf eines Kurses in &app; zu einem Fehlverhalten führen, kann mit diesem Skript eine Diagnose durchgeführt werden und hilft Entwicklern bei der Entscheidung, ob der Fehler in &app; oder &app-fq; liegt.

## Automatisierte Abfrage von Kursen

Mit dem Kommando `gnucash-cli --quotes get &user-datafile;`

Der Befehl für den Online-Kursabruf wurde ab &app; 4.0 geändert. Der alte Befehl `gnucash --add-price-quotes &user-datafile;` ist immer noch verfügbar, aber er ist veraltet und wird in einer zukünftigen Version entfernt werden. Wenn Sie ein Upgrade von &app; 3.11 oder einer früheren Version durchgeführt haben, wird empfohlen, den neuen Befehl `gnucash-cli` zu verwenden.

können Sie die aktuellen Kurse Ihrer Devisen und Wertpapiere abrufen und direkt in ihre &app;-Datendatei schreiben ohne die Benutzeroberfläche zu starten. Somit ist eine automatische, regelmäßige Aktualisierung der Kursdatenbank möglich.

Der Befehl schlägt fehl, wenn kein exclusiver Zugriff auf die Datendatei möglich ist, z.B. weil die Datendatei in einer anderen &app; Instanz geöffnet ist oder die letzte Sitzung für die Datei abgestürzt ist.

Die angegebene Datei &user-datafile; ist abhängig von dem Namen und dem Speicherort Ihrer Datendatei. Dies lässt sich anhand des Namens feststellen, der im oberen Rahmen des &app; Fensters vor dem - angezeigt wird.

Der Dateiname ist auch in der Liste der zuletzt geöffneten Dateien im &gm.file;-Menü zu finden. Wenn Sie den Mauszeiger über dem Menüeintrag mit der Nummer 1 in der Liste der zuletzt geöffneten Dateien platzieren, wird in der Statusleiste die vollständige Dateibezeichnung angezeigt.

Sie müssen den Befehl `gnucash-cli` bei einem Scheduler (Zeitplaner) eintragen, um die Onlinekurse automatisch und regelmäßig zu erhalten. Die Methode hängt von Ihrem Betriebssystem ab.

### Automatischer Kursabruf jeden Freitag um 16:00 Uhr

### Unter &lin; und &mac;

Eintragen des Befehls zum Kursabruf per `gnucash-cli` mittels cron.

1. Führen Sie das Kommando `crontab -e` aus.

2. Fügen Sie die folgende Zeile in Ihre crontab ein:

       0 16 * * 5 gnucash-cli --quotes get &user-datafile; > /dev/null 2>&1

   Läuft auf Ihrem Rechner zu dem Zeitpunkt des Kursabrufs keine graphische Benutzeroberfläche, die bereits den dbus gestartet hat, so müssen Sie den Eintrag stattdessen wie folgt vornehmen:

       0 16 * * 5 env `dbus-launch` sh -c 'trap "kill $DBUS_SESSION_BUS_PID" EXIT;
       gnucash-cli --quotes get &user-datafile; > /dev/null 2>&1

   (Die Zeilenumbrüche nicht in die crontab übernehmen, die wurden hier nur zum Zwecke der Lesbarkeit eingefügt.)

### Unter &win;

Anlegen des Kursabrufs per `gnucash-cli` mit der Aufgabenplanung.

1. Wählen Sie &mc.winOS.sys.tasks; .

2. Klicken Sie auf &gmi.winOS.sys.task;.

3. Geben Sie die entsprechenden Angaben im Fenster Aufgabe erstellen ein.

Passen Sie die Zeit an den Börsenschluss an und bedenken Sie, dass bei Fondskursen das Netto-Anlagevermögen (NAV) deutlich nach Börsenschluss ermittlet wird. Eine Beschreibung zu den Typen finden Sie unter tool-price.

Einige Benutzer haben im &app; Wiki unter Aktienhandel und ausführlicher im englischsprachigen Wiki Online Quotes Page on GnuCash Wiki ihre Erfahrungen und weiter Ergänzungen zusammengestellt.