Asisten suara untuk operasi di Moscow Exchange: "Alice, beli saham Yandex"

- Alice, beli satu Yandex.

- Aplikasi untuk pembelian Yandex dengan harga pasar, ticker: YNDX, jumlah saham: 1, katakan “konfirmasi” untuk konfirmasi, katakan “tidak” untuk membatalkan.

- Saya mengkonfirmasi.

- Aplikasi telah dijalankan.





Saya membuat antarmuka suara sumber terbuka untuk melakukan transaksi sekuritas di Bursa Moskow. Saya menetas ide sejak kecil. Saya ingat pertama kali seorang asisten suara melihat saya di film sekitar dua puluh tahun yang lalu, sementara saya bahkan tidak memiliki telepon kabel di rumah saya. Dan sekarang saya memiliki koneksi internet tanpa batas, akun broker yang dapat saya kelola melalui smartphone saya. Lebih dari dua puluh tahun, teknologi telah menjadi lebih terjangkau.



Bagaimana semua ini dimulai



Setahun setengah yang lalu, Yandex. Stasiun muncul di rumah saya. Saya mulai memperhatikan bahwa kadang-kadang, berbaring di tempat tidur, terlalu malas untuk menjangkau smartphone untuk membaca berita, dan kemudian saya meminta Alice untuk menceritakan bagaimana dunia berubah saat saya tidur. Dari hari-hari pertama, saya menghargai kenyamanan asisten suara, dan saya berharap jutaan pengembang akan menyerang antarmuka suara dengan cara yang sama ketika mereka menyerang pengembangan aplikasi mobile untuk semua kesempatan.



Seiring berjalannya waktu, asisten suara bank yang tidak berguna muncul di katalog keterampilan Alice (tidak ada pelanggaran bagi pengembang). Untuk Sberbank, misalnya, asisten mengumumkan persyaratan pinjaman dan menawarkan untuk datang ke cabang, Tinkoff memiliki hal yang sama, hanya saja bukannya cabang yang ia sarankan pergi ke situs untuk mengisi aplikasi. Orang-orang yang mengembangkan ini, tolong jangan tersinggung saya, tetapi, sungguh, saya tidak ingin pergi ke mana pun, baik ke kantor, maupun ke situs web, saya ingin dapat mentransfer 100 rubel ke teman dengan frasa: "Alice, kirim 100 rubel ke Sasha."



Idenya terletak di permukaan, tetapi untuk beberapa alasan, belum ada yang mengimplementasikannya. Mengapa? Mungkin tidak ada yang menggunakan asisten suara? Mungkin ada batasan legislatif? Apakah ada masalah keamanan? Sesuatu yang lain Silakan bagikan di komentar jika Anda tahu.



Pada titik tertentu, saya baru saja bangun dari tempat tidur dan mulai melakukan keterampilan pribadi agar Alice menyuarakan kendali atas akun broker saya. Saya pergi ke broker saya dan menetap di Tinkoff Investments OpenAPI. Kemudian dia terjun untuk mempelajari kemampuan platform Yandex.Dialogi selama sebulan, dan setelah beberapa saat dia membeli sekuritas pertama melalui asisten suara di Bursa Efek Moskow - satu lot VTB Bank. Saya berharap kesepakatan ini turun dalam sejarah.



Sejak awal, saya memutuskan bahwa saya tidak akan menyembunyikan kode sumber sehingga siapa pun yang ingin dapat mengatur asisten suara untuk diri mereka sendiri: https://github.com/denismosolov/oliver



Ambil pai dari rak dan akhirnya beri tahu kami tentang masalahnya



Ada banyak perusahaan, tetapi saya sendirian



Ketika saya mengatakan kepada Alice: “Beli satu saham Yandex”, platform Yandex.Dialogi mengekstrak nama keamanan dari frasa dan mengubahnya menjadi pengidentifikasi FIGI (Financial Instrument Global Identifier) ​​khusus, yang diperlukan untuk berinteraksi dengan platform perdagangan melalui OpenAPI. Beginilah cara FIGI mencari saham Yandex yang diperdagangkan di Moscow Exchange: BBG006L8G4H1.



Konversi ke FIGI hanya terjadi untuk nama-nama perusahaan yang saya jelaskan di bagian Entitas di Dialog. Anda dapat membaca lebih lanjut tentang ini di dokumentasi . Misalnya, berikut adalah potongan kode entitas:



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


Pekerjaan ini memiliki banyak tenaga kerja, perlu untuk menggambarkan semua perusahaan yang berdagang di Moskow dan St. Petersburg, tetapi hasilnya dapat bermanfaat bagi pedagang, investor, pengembang pengisi suara dan bahkan perusahaan yang sahamnya diperdagangkan di bursa. Ini adalah file yang menggambarkan entitas EFigi di GitHub , saya perlahan menambahkannya .



Orang menyebut perusahaan yang sama secara berbeda, misalnya, seseorang akan mengatakan "Sberbank", dan seseorang "Sberbank". Saham biasa Sberbank dan saham preferen (pref) diperdagangkan di bursa. Saya ingin mempertimbangkan semua opsi populer.



Perusahaan berdagang di dua bursa dalam mata uang yang berbeda



Penerimaan Penyimpanan Global TCS Group dapat dibeli di Bursa Moskwa untuk rubel, atau di Bursa St. Petersburg untuk dolar. Pada baiknya, asisten suara harus menentukan dalam mata uang apa untuk membeli tanda terima, tetapi kadang-kadang, ini dapat dipahami dari konteksnya.



Misalnya, ketika saya mengatakan, “Jual satu saham TCS Group,” dan saya hanya memiliki saham dalam rubel di akun saya, maka saya harus menjualnya dalam rubel di Bursa Moskow tanpa klarifikasi apa pun. Jika saya memiliki saham TCS Group di akun saya dalam rubel dan dolar, Alice harus mengajukan pertanyaan klarifikasi: "Anda memiliki tanda terima deposit global Grup TCS dalam rubel dan dolar, dalam mata uang apa Anda ingin menjual?"



Saya belum menerapkannya dan TCS Group selalu dibeli dan dijual untuk dolar. Tapi, saya harap, saya akan segera mulai menempatkan pesanan untuk pembelian dan penjualan sekuritas dengan harga tertentu (limit order), dan di sana saya akan mengajar asisten suara untuk mendistribusikan saham di bursa yang berbeda dengan mata uang yang akan berada dalam harga beli atau jual.



Kesalahan pengakuan



Orang-orang bertanya, apa yang akan terjadi jika Alice mengenali sesuatu yang salah, misalnya, membeli kertas yang salah atau jumlah yang salah? Untuk ini, saya telah memberikan konfirmasi transaksi. Setelah Alice mengakui perintah beli atau jual, dia berbicara rincian kesepakatan dan menunggu konfirmasi. Jika tidak ada konfirmasi, maka transaksi tidak akan terjadi.



Pesan saat mengonfirmasi transaksi adalah: “Aplikasi untuk <pembelian | sale> <$ security_name> di <$ price_for_one_paper>, ticker: <$ ticker>, jumlah saham: <$ number>, untuk mengonfirmasi, mengucapkan konfirmasi, membatalkan, mengatakan tidak. "



Konfirmasi ini benar-benar terdengar, tetapi ada satu kekurangan. Alice dengan buruk membaca nama ticker, misalnya, YNCX, terdengar seperti "yinks".



Saya ingin menulis fungsi yang akan mengurai tickers dengan huruf, dan untuk setiap huruf memainkan suara dari suara alfabet bahasa Inggris. Kode akan mengambil string YNDX sebagai input, dan mengembalikan baris ini dalam format tts:



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


Alice akan memainkan suara, dan secara teori semuanya akan terdengar bagus.



Keamanan saat melakukan transaksi





Untuk menggunakan OpenAPI, Anda harus menonaktifkan konfirmasi transaksi melalui SMS di Tinkoff Investments, dan ini menimbulkan risiko keamanan. Misalnya, seorang investor berjalan-jalan dengan anjingnya, dan anak-anak memutuskan untuk bermain dengan Alice dan menjual semua sahamnya.



Hal pertama yang terlintas dalam pikiran adalah menggunakan kata kode untuk mengkonfirmasi transaksi, tetapi anak-anak dapat dengan mudah mendengar dan mengingatnya. Dan opsi lain yang muncul di pikiran saya akan membutuhkan banyak upaya dari pengembang asisten suara. Hal paling keren adalah identifikasi seseorang melalui suara, mis. pastikan bahwa hanya pemilik akun yang dapat menyelesaikan transaksi, dan Alice dengan sopan akan menolak orang lain. Menilai dari fakta bahwa Alice tahu bagaimana menghafal orang dengan suara , bekerja ke arah ini sedang berlangsung. Tapi sepertinya itu tidak mudah dilakukan.



Opsi lain yang muncul di benak Anda adalah konfirmasi transaksi sidik jari, seperti pada ponsel cerdas, tetapi untuk ini perangkat pengenalan sidik jari harus dimasukkan ke dalam kolom pintar, tetapi mungkin itu tidak akan sangat praktis, dan kemungkinan akan meningkatkan biaya speaker pintar.



Jika Anda tahu cara mengonfirmasi transaksi dalam aplikasi serupa di luar negeri, atau hanya ingin berbagi gagasan, silakan tulis di komentar.



Alih-alih sebuah kesimpulan



Seperti yang dikatakan oleh seorang mantan kolega: "Semuanya akan baik-baik saja, tetapi sedikit kemudian." Saya percaya bahwa bank dan broker akan menerapkan semua ini cepat atau lambat, tetapi untuk sekarang, tetap banyak penggemar dan pembuat seperti saya.



Sampai jumpa di masa depan!



All Articles