Sprachassistent für Operationen an der Moskauer Börse: „Alice, kaufe Yandex-Aktien“

- Alice, kaufe einen Yandex.

- Ein Antrag auf Kauf von Yandex zu einem Marktpreis, Ticker: YNDX, Anzahl der Aktien: 1, sagen Sie "Bestätigen", um zu bestätigen, sagen Sie "Nein", um zu stornieren.

- Ich bestätige.

- Die Anwendung wurde ausgefĂĽhrt.





Ich mache eine Open-Source-Sprachschnittstelle für die Durchführung von Wertpapiertransaktionen an der Moskauer Börse. Ich habe die Idee von Kindheit an entwickelt. Ich erinnere mich an das erste Mal, als ich vor etwa zwanzig Jahren einen Sprachassistenten in einem Film sah. Damals hatte ich noch nicht einmal ein kabelgebundenes Telefon in meinem Haus. Und jetzt habe ich eine unbegrenzte Internetverbindung, ein Brokerage-Konto, das ich über ein Smartphone verwalten kann. In über zwanzig Jahren ist Technologie erschwinglicher geworden.



Wie alles begann



Vor anderthalb Jahren erschien Yandex.Station in meinem Haus. Ich bemerkte, dass ich manchmal im Bett zu faul war, um nach meinem Smartphone zu greifen, um die Nachrichten zu lesen, und dann bat ich Alice zu erzählen, wie sich die Welt im Schlaf verändert hatte. Von den ersten Tagen an schätzte ich die Bequemlichkeit von Sprachassistenten und erwartete, dass Millionen von Entwicklern sich auf Sprachschnittstellen genauso stürzen würden wie früher auf die Entwicklung mobiler Anwendungen für alle Gelegenheiten.



Im Laufe der Zeit tauchten im Katalog der Fähigkeiten von Alice nutzlose Bankassistenten auf (keine Beleidigung für die Entwickler). Für die Sberbank beispielsweise kündigte der Assistent die Bedingungen des Darlehens an und bot an, in die Filiale zu kommen, für Tinkoff das Gleiche, nur anstelle der Filiale, die angeboten wurde, auf die Website zu gehen, um einen Antrag auszufüllen. Leute, die das entwickelt haben, beleidigen Sie mich bitte nicht, aber ich möchte wirklich nirgendwo hingehen, weder in die Abteilung noch auf die Website. Ich möchte in der Lage sein, 100 Rubel an einen Freund mit dem Satz zu übertragen: "Alice, senden Sie 100 Rubel an Sasha."



Die Idee liegt an der Oberfläche, aber aus irgendeinem Grund hat sie noch niemand umgesetzt. Warum? Vielleicht benutzt niemand Sprachassistenten? Vielleicht gibt es gesetzliche Beschränkungen? Vielleicht gibt es Sicherheitsprobleme? Etwas anderes? Bitte teilen Sie in den Kommentaren, wenn Sie wissen.



Irgendwann bin ich gerade aus dem Bett gestiegen und habe angefangen, Alice eine private Fähigkeit zu vermitteln, um mein Brokerage-Konto zu verwalten. Ich ging meine Broker durch und entschied mich für Tinkoff Investments OpenAPI. Dann tauchte ich einen Monat lang in die Möglichkeiten der Yandex.Dialogs-Plattform ein und kaufte nach einiger Zeit die ersten Wertpapiere über einen Sprachassistenten an der Moskauer Börse - eine Menge VTB Bank. Ich hoffe, dass dieser Deal in die Geschichte eingehen wird.



Von Anfang an habe ich beschlossen, den Quellcode nicht auszublenden, damit jeder, der möchte, einen Sprachassistenten für sich selbst einrichten kann: https://github.com/denismosolov/oliver



Nehmen Sie einen Kuchen aus dem Regal und erzählen Sie uns schließlich von den Problemen



Es gibt viele Unternehmen, aber ich bin allein



Wenn ich Alice sage: „Kaufen Sie eine Yandex-Aktie“, extrahiert die Yandex.Dialogi-Plattform den Namen des Wertpapiers aus der Phrase und wandelt ihn in eine spezielle FIGI-Kennung (Financial Instrument Global Identifier) ​​um, die für die Interaktion mit der Handelsplattform über OpenAPI erforderlich ist. So sieht die FIGI für Yandex-Aktien aus, die an der Moskauer Börse gehandelt werden: BBG006L8G4H1.



Die Konvertierung in FIGI erfolgt nur für die Firmennamen, die ich im Abschnitt Entitäten in Dialogen beschrieben habe. Weitere Informationen hierzu finden Sie in der Dokumentation . Hier ist beispielsweise ein Entitätscode-Snippet:



entity EFigi:
    values:
        BBG005DXJS36:
            %exact
            TCS
            %lemma
            ()?
            ()?
            ()?
               ()?


Diese Arbeit hat viel Arbeit, es ist notwendig, alle Unternehmen zu beschreiben, die an den Börsen in Moskau und St. Petersburg handeln, aber das Ergebnis kann für Händler, Investoren, Entwickler von Sprachassistenten und sogar Unternehmen, deren Aktien an Börsen gehandelt werden, nützlich sein. Hier ist eine Datei, die die Essenz von EFigi auf GitHub beschreibt und die ich nach und nach hinzufüge .



Die Leute nennen die gleichen Unternehmen unterschiedlich, zum Beispiel sagt jemand "Sberbank" und jemand "Sberbank". An der Börse werden Stammaktien der Sberbank und Vorzugsaktien (Prefs) gehandelt. Ich möchte alle gängigen Optionen in Betracht ziehen.



Das Unternehmen handelt an zwei Börsen in verschiedenen Währungen



TCS Group Global Depositary Receipts können an der Moskauer Börse für Rubel oder an der St. Petersburg Exchange für Dollar gekauft werden. In guter Weise sollte der Sprachassistent klären, in welcher Währung Quittungen gekauft werden sollen, aber manchmal kann dies aus dem Kontext verstanden werden.



Wenn ich zum Beispiel sage: „Verkaufe eine Aktie der TCS Group“ und ich nur Aktien in Rubel auf meinem Konto habe, muss ich an der Moskauer Börse ohne Angabe in Rubel verkaufen. Wenn ich TCS Group-Anteile in Rubel und Dollar auf meinem Konto habe, sollte Alice eine klärende Frage stellen: "Haben Sie globale Hinterlegungsscheine der TCS Group in Rubel und Dollar, in welcher Währung möchten Sie verkaufen?"



Ich habe dies noch nicht implementiert und die TCS Group wird immer für Dollar gekauft und verkauft. Ich hoffe jedoch, dass ich bald damit beginnen werde, Aufträge für den Kauf und Verkauf von Wertpapieren zu einem bestimmten Preis (Limit Orders) zu erteilen, und dort werde ich dem Sprachassistenten bereits beibringen, Aktien an verschiedenen Börsen nach der Währung zu verteilen, die im Kauf- oder Verkaufspreis enthalten sein wird.



Erkennungsfehler



Die Leute fragen, was passiert, wenn Alice erkennt, dass etwas nicht stimmt, zum Beispiel das falsche Papier oder den falschen Betrag kauft? Dafür habe ich die Bestätigung von Transaktionen vorgesehen. Nachdem Alice einen Kauf- oder Verkaufsbefehl erkannt hat, spricht sie die Details des Geschäfts und wartet auf die Bestätigung. Wenn keine Bestätigung vorliegt, findet die Transaktion nicht statt.



Die Meldung bei der Bestätigung der Transaktion lautet: „Antrag auf <Kauf | Verkauf> <$ value_name_name> bei <$ price_to_one_paper>, Ticker: <$ ticker>, Anzahl der Aktien: <$ Quantity>, zur Bestätigung, Bestätigung, zur Stornierung, nein sagen. “



Diese Bestätigung ist perfekt hörbar, aber es gibt einen Fehler. Alice liest den Namen des Tickers nicht gut, zum Beispiel YNCX, es klingt wie ein Yinx.



Ich wollte eine Funktion schreiben, die Ticker nach Buchstaben analysiert, und fĂĽr jeden Buchstaben wurde der Ton der Sprachausgabe des englischen Alphabets abgespielt. Der Code wĂĽrde eine YNDX-Zeichenfolge als Eingabe verwenden und eine Zeichenfolge wie diese im tts-Format zurĂĽckgeben:



<speaker audio="sounds-y.opus"><speaker audio="sounds-n.opus"><speaker audio="sounds-d.opus"><speaker audio="sounds-x.opus">


Alice wird Sounds spielen und theoretisch wird alles gut klingen.



Sicherheit bei Transaktionen





Um OpenAPI verwenden zu können, müssen Sie die Bestätigung von SMS-Transaktionen in Tinkoff Investments deaktivieren. Dies führt zu Sicherheitsrisiken. Zum Beispiel ging ein Investor mit seinem Hund spazieren, und die Kinder beschlossen, mit Alice zu spielen, und verkauften alle Aktien.



Das erste, was mir in den Sinn kommt, ist die Verwendung eines Codeworts zur Bestätigung von Transaktionen, aber Kinder können es leicht mithören und sich daran erinnern. Und die anderen Optionen, die mir in den Sinn kamen, erfordern viel Aufwand von den Entwicklern der Sprachassistenten. Das Coolste ist die Identifizierung einer Person durch Stimme, d.h. Stellen Sie sicher, dass nur der Kontoinhaber die Transaktion abschließen kann und Alice höflich jede andere Person ablehnen würde. Gemessen an der Tatsache, dass Alice weiß, wie man Menschen per Stimme auswendig lernt , ist die Arbeit in diese Richtung im Gange. Aber es scheint nicht so einfach zu sein.



Eine andere Option, die in den Sinn kommt, ist die Bestätigung von Transaktionen mithilfe eines Fingerabdrucks, wie auf Smartphones. Dazu muss jedoch ein Fingerabdruckleser in den Smart Speaker eingebaut werden. Dies ist jedoch wahrscheinlich nicht sehr praktisch und erhöht höchstwahrscheinlich die Kosten intelligenter Lautsprecher.



Wenn Sie wissen, wie Sie Transaktionen in ähnlichen Anwendungen im Ausland bestätigen oder nur eine Idee teilen möchten, schreiben Sie bitte in die Kommentare.



Anstelle einer Schlussfolgerung



Wie ein ehemaliger Kollege sagt: "Alles wird gut, aber etwas später." Ich glaube, dass Banken und Broker all dies früher oder später umsetzen werden, aber im Moment bleiben es viele Enthusiasten und Macher wie ich.



Wir sehen uns in der Zukunft!



All Articles