Wir verfolgen den Status unseres Portfolios mit dem Broker "Tinkoff Investments" über Google Sheets

Sicherlich führen viele Aufzeichnungen über Transaktionen und überwachen den Status ihres Portfolios in Google Sheets oder Excel. In der Vergangenheit musste ich manuell Informationen zu jedem gekauften oder verkauften Instrument eingeben, was einen erheblichen Teil meiner Zeit in Anspruch nahm. Dann wollte ich diesen Prozess automatisieren und suchte nach Möglichkeiten, diese Idee umzusetzen.



Ich fand einen Benutzer ArtikelErhoSen... Daraus erfuhr ich, dass der Tinkoff Investments-Broker seinen Kunden eine API für die Interaktion mit einem Brokerage-Konto mit einem individuellen Investment-Konto (IIS) anbietet. Mit seiner Hilfe können Sie eine Liste von Aktien, Währungspaaren abrufen, den Preis eines Wertpapiers per Ticker ermitteln, eine Liste von Kontotransaktionen anzeigen, Informationen über Ihr Portfolio abrufen usw. Mir fehlte jedoch die vorhandene Funktionalität des Skripts, und ich entschied mich, es hinzuzufügen, indem ich dort meine Funktionen hinzufügte.



Einen Token bekommen



Die API-Arbeit erfolgt über ein Token. Der Vorgang zum Abrufen eines Tokens ist in der Dokumentation zu GitHub beschrieben . Um es zu bekommen, brauchen Sie:



  1. Gehen Sie zur Website von Tinkoff und melden Sie sich in Ihrem Konto an.
  2. Stellen Sie sicher, dass die Funktion „Bestätigung von Geschäften per Code“ deaktiviert ist.
  3. Scrollen Sie auf der Seite nach unten zum Item-Token für OpenAPI und klicken Sie auf "Token für den Handel".
  4. Kopieren und speichern Sie den Token. Es wird nur einmal angezeigt, Sie können jedoch eine unbegrenzte Anzahl von Token ausgeben.


Nach Erhalt des Tokens können Sie mit der Arbeit an der Tabelle beginnen. Folgen Sie dem Link und kopieren Sie die Tabelle, in der Sie Aufzeichnungen führen.



Fügen Sie Ihren Token in Zelle B1 im Einstellungsblatt ein.



Wichtig! Löschen oder benennen Sie das Blatt "Einstellungen" nach dem Einfügen des Tokens nicht um. Wenn der aktuelle Dollarkurs in Zelle B3 angezeigt wird - Glückwunsch, ist alles bereit.



Die Hauptfunktionen des Skripts :



  • getPrice () - Ruft den aktuellen Wert des Instruments über den Ticker ab
  • getTrades (Ticker) - Ruft eine Liste aller Transaktionen für ein bestimmtes Instrument ab. In Klammern müssen Sie den Ticker des Instruments angeben, für das Sie die Liste der Operationen anzeigen möchten
  • getAllTrades() — .
  • getPortfolio() —
  • getCurrencies() —
  • getTradesIIS (ticker) — (). ,
  • getAllTradesIIS() — ().
  • getIISPort() —
  • getCurrenciesIIS() —
  • getUSDval() — ( )


Nachdem Sie die erforderlichen Daten erhalten haben, können Sie die erhaltenen Werte kopieren und mit ihnen auf anderen Blättern oder in einer anderen Tabelle, einschließlich Excel-e, weiterarbeiten.





Ein Beispiel dafür, wie die Funktion getPortfolio funktioniert, um ein Portfolio abzurufen



Manuelle Datenaktualisierung



Standardmäßig bietet Google kein Tool zum Aktualisieren benutzerdefinierter Skripts an. Daher musste ich eine Drittanbieterlösung verwenden. Um Daten durch Klicken aktualisieren zu können, müssen Sie bei Verwendung von Funktionen in Klammern die Zelle $ Z $ 1 festlegen, in der das aktuelle Datum und die aktuelle Uhrzeit aufgezeichnet sind, die später für die manuelle Aktualisierung verwendet werden. Im Folgenden werde ich einen Code vorstellen, der für die Aktualisierung der Daten verantwortlich ist.



function onOpen() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet()
  var entries = [{
    name : "",
    functionName : "refresh"
  }]
  sheet.addMenu("TI", entries)
};

function refresh() {
  SpreadsheetApp.getActiveSpreadsheet().getRange('Z1').setValue(new Date().toTimeString());
}


Zuerst müssen Sie im TI-Untermenü auf die Schaltfläche Aktualisieren klicken (wird rechts auf der Registerkarte Hilfe angezeigt).

Danach erscheint ein Warnfenster:







Klicken Sie auf Weiter . Als nächstes wird ein weiteres Warnfenster angezeigt, in dem Sie auf Erweiterte Einstellungen klicken und in dem sich öffnenden Feld die Option Gehe zur Seite "Tinkoff Invest" auswählen (unsicher) :







Diese Aktionen müssen ausgeführt werden, da das Skript zum Ändern des Werts von Zelle Z1 zuerst auf die aktuelle Tabelle zugreifen muss so dass es nur darin durchgeführt wird. Danach haben wir die Möglichkeit, die Daten in der Tabelle auf Anfrage zu aktualisieren. Ein Beispiel für ein manuelles Update für die Funktion getPrice ("AMD"; $ Z $ 1):







ACHTUNG!Der Entwickler dieses Skripts hat keinen Zugriff auf Ihr Google-Konto, die Liste der Tabellen in Drive oder das Token. Wenn Sie sich Sorgen um die Sicherheit Ihrer Daten machen, können Sie mein Skript kopieren und in Ihre Tabelle einfügen. Öffnen Sie dazu in Google Sheets Ihre Tabelle und klicken Sie im oberen Menü auf Extras und dann auf den Skript-Editor .



Dadurch wird die Google Scripting-Umgebung geöffnet. Löschen Sie den Standardcode im Fenster, kopieren Sie den Code aus dem Link und fügen Sie ihn in das Fenster ein.



Speichern Sie danach das Skript und geben Sie dem Projekt und dem Skript selbst einen beliebigen Namen. Kehren Sie dann zur Tabelle zurück, erstellen Sie ein Blatt "Einstellungen" und fügen Sie in Zelle B1 Ihr Token für OpenAPI ein. Danach können Sie mit der Tabelle arbeiten.



Fazit



Ich möchte meine Dankbarkeit ausdrücken ErhoSenfür seinen Artikel und den Quellcode, der von mir geändert wurde.



Auch für den persönlichen Gebrauch habe ich einen Telegramm-Bot erstellt, mit Plänen für die Zukunft, um diese Idee in Erinnerung zu rufen, wenn die Idee eine Antwort findet. Der Bot ist praktisch, wenn Sie keine Zeit mit der Eingabe der Tinkoff Investments-Anwendung verschwenden möchten, die häufig an einem Laptop sitzt und sich nicht ständig auf der Website anmelden oder den Verlauf von Änderungen im Inhalt des Portfolios speichern möchte.



All Articles