Skip to content

flaboss/projeto_ROE

Repository files navigation

Master deploy

Maintainability

Projeto ROE (Radar de Operações Estruturadas)

Este projeto conecta vários serviços freemium para montar um sistema de recomendação de operações estruturadas utilizando dados de ações e opções de ações da bolsa brasileira B3.

O sistema utiliza github actions como esteira de deploy, onde cada pull request ou merge na branch master passa por testes automatizados. Se bem sucedido, uma imagem Docker é carregada no docker hub para ser utilizada na execução. A imagem já tem todas as bibliotecas necessárias pré instaladas, o que faz com que a execução seja mais rápida, pulando a etapa de instalação. O projeto é executado diariamente e envia notificações via push e via telegram - os meios que me convém para estar atento a boas operações que possam aparecer.

Serviços Utilizados:

services

  • Github Actions: usado como esteira de deploy (CICD).
  • Docker HUB: armazena a imagem utilizada no processamento.
  • Deepnote: plataforma que executa o código. Aqui o código é agendado para ser executado diariamente.
  • Yahoo Finance: contém os dados de ações da B3.
  • Datapane: serviço usado como relatório contendo as operações sugeridas.
  • Airtable: serviço que funciona como lista gerenciável. Tabelas contém configurações de execução, preço médio de ações em custódia, e outras opções de configuração. Dessa maneira não é necessário fazer alterações no código para alterações menores, mas significativas, como por exemplo: "não quero executar a estratégia de trava de alta com put nos próximos dias" ou "não quero receber recomendações de operações envolvendo PETR4" ou até mesmo "quero receber operações com mais de 2% de lucro". Tudo isso pode ser feito pelo app no celular.
  • Bit.io: serve como uma base de dados para armazenar o histórico de operações. É possível visualizar as tabelas, plotar gráficos e fazer queries usando SQL.
  • Push Bullet: serviço usado para receber notificações pelo celular (falhas de deploy ou operações interessantes). É possível desabilitar as notificações com um clique em uma variável no airtable.
  • Telegram: serviço usado para receber notificação de execuções. Também é possível desabilitar as notificações com um clique em uma variável no airtable.

Estrutura do Projeto:

structure

A estrutura acima mostra como os serviços se relacionam. Todos os serviços se conectam por apis salvas em um arquivo .env que o código lê e que por motivos de segurança não está nesse repositório. Esse arquivo deve ser configurado apenas uma vez no ambiente de execução (nesse caso o Deepnote).

Qualquer alteração no código é submetida a testes automaticamente. Um merge na branch master sobe a nova imagem para o Docker hub. O scheduler do Deepnote executa diariamente o código que faz pull request do código, da imagem Docker, dos dados de ações e opções e das configurações nas tabelas do airtable. Uma vez que as recomendações de estratégias são geradas, são inseridas em uma tabela histórica (bit.io) e atualizam um relatório (datapane). Notificações são enviadas via pushbullet (celular) e via telegram.

É importante mencionar que esse serviço não é um serviço online, pois utiliza dados com defasagem de 1 dia. Já encontrei operações interessantes por meio dessas recomendações. A análise desses relatórios me ajuda a ficar de olho para movimentos que ocorrem no mercado onde algumas estratégias com boa rentabilidade podem ser aplicadas.

About

recomendações estruturadas

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published