Rastreamos o status de nossa carteira com a corretora "Tinkoff Investments" por meio do Planilhas Google

Certamente muitos mantêm registros de transações e monitoram o status de seus portfólios em Planilhas Google ou Excel. Anteriormente, eu precisava inserir manualmente as informações sobre cada instrumento comprado ou vendido e isso ocupava uma parte significativa do meu tempo. Então eu quis automatizar esse processo e comecei a procurar maneiras de implementar essa ideia.



Eu encontrei um artigo de usuárioErhoSen... Com isso, soube que a corretora Tinkoff Investments oferece a seus clientes uma API para interagir com uma conta de corretora com uma conta de investimento individual (IIS). Com sua ajuda, você pode obter uma lista de ações, pares de moedas, descobrir o preço de um título por ticker, visualizar uma lista de transações de contas, obter informações sobre seu portfólio, etc. No entanto, eu não tinha a funcionalidade existente do script e decidi adicioná-lo adicionando minhas funções lá.



Obtendo um token



O trabalho da API é feito por meio de um token. O processo de obtenção de um token é descrito na documentação do GitHub . Para obtê-lo, você precisa:



  1. Vá ao site da Tinkoff e faça login em sua conta.
  2. Certifique-se de que a função “Confirmação de ofertas por código” esteja desabilitada.
  3. Role a página para baixo até o token do item para OpenAPI e clique em "Token para negociação"
  4. Copie e salve o token. Ele é exibido apenas uma vez, mas você pode emitir um número ilimitado de tokens.


Depois de receber o token, você pode começar a trabalhar com a mesa. Siga o link e copie a tabela na qual você manterá os registros.



Cole seu token na célula B1 na página Configurações.



Importante! Após inserir o token, não exclua ou renomeie a planilha “Configurações”. Se a cotação atual do dólar aparecer na célula B3 - parabéns, está tudo pronto para começar.



As principais funções do script :



  • getPrice () - obtém o valor atual do instrumento pelo ticker
  • getTrades (ticker) - obtém uma lista de todas as transações para um instrumento específico. Entre parênteses, você deve indicar o ticker do instrumento para o qual deseja ver a lista de operações
  • getAllTrades() — .
  • getPortfolio() —
  • getCurrencies() —
  • getTradesIIS (ticker) — (). ,
  • getAllTradesIIS() — ().
  • getIISPort() —
  • getCurrenciesIIS() —
  • getUSDval() — ( )


Após receber os dados necessários, pode-se copiar os valores obtidos e continuar trabalhando com eles em outras planilhas ou em outra tabela, inclusive Excel-e.





Um exemplo de como a função getPortfolio funciona para obter um portfólio



Atualização manual de dados



Por padrão, o Google não fornece uma ferramenta para atualizar scripts personalizados, então tive que usar uma solução de terceiros. Para poder atualizar os dados clicando em, ao usar funções entre parênteses, você precisa definir a célula $ Z $ 1, que registra a data e hora atuais, que posteriormente é usada para atualização manual. A seguir apresentarei um código que é responsável pela atualização dos dados.



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());
}


Primeiro, você precisa clicar no botão Atualizar no submenu TI (aparece à direita da guia Ajuda).

Depois disso, uma janela de aviso aparecerá:







Clique em Continuar . Em seguida, outra janela de aviso aparecerá, onde você deverá clicar em Configurações adicionais e no campo que abrir, selecionar Ir para a página "Tinkoff Invest" (inseguro) :







Estas ações devem ser realizadas porque o script para alterar o valor da célula Z1 deve primeiro acessar a tabela atual de modo que é realizado apenas nele. Depois disso, temos a oportunidade de atualizar os dados da tabela mediante solicitação. Um exemplo de atualização manual para a função getPrice ("AMD"; $ Z $ 1):







ATENÇÃO!O desenvolvedor deste script não terá acesso à sua conta do Google, à lista de tabelas no Drive ou ao token. Se você está preocupado com a segurança de seus dados, pode copiar meu script e colá-lo em sua tabela. Para fazer isso, no Planilhas Google, abra sua planilha e no menu superior, clique em Ferramentas e depois em Editor de Script .



Isso abrirá o ambiente de script do Google. Apague o código padrão da janela, copie o código do link e cole-o na janela.



Em seguida, salve o script, dando qualquer nome ao projeto e ao próprio script. Em seguida, volte para a tabela, crie uma planilha “Configurações” e na célula B1 cole seu token OpenAPI. Depois disso, você pode trabalhar com a mesa.



Conclusão



Quero expressar minha gratidão ErhoSenpara seu artigo e o código-fonte, que foi modificado por mim.



Também para uso pessoal, criei um bot do Telegram, com planos para o futuro para trazer essa ideia à mente se a ideia encontrar uma resposta. O bot é conveniente nos casos em que você não quer perder tempo entrando no aplicativo da Tinkoff Investments, que muitas vezes fica em um laptop e não quer se conectar constantemente ao site, ou para armazenar o histórico de alterações no conteúdo do portfólio.



All Articles