Skip to content

Latest commit

 

History

History
executable file
·
106 lines (67 loc) · 4.97 KB

README.md

File metadata and controls

executable file
·
106 lines (67 loc) · 4.97 KB

Automatizando avaliação de ativos da B3

Objetivo deste projeto


Desenvolver uma solução para a análise de ativos da bolsa de valores (Ações, Índices, Moedas, Opções dentre outras).

A situação problema

Atualmente não existe uma solução viável open source que avalia ativos da B3 em tempo real ou com delay de até 15 minutos dando sinais de compra ou venda de acordo com padrões identificados utilizando machine learning.

Trade

Estórias de usuário

Pedro será nossa persona que terá o perfil de usuário: Pedro é investidor da bolsa de valores há poucos meses, tem conhecimento necessário para diferenciar tipos de investimento de acordo com o seu perfil, no entanto ele não consegue acompanhar as mais de200 opções disponíveis na B3.

Pedro como usuário tem a dor de ter que analisar ativo por ativo todas as noites para saber se possuem um bom padrão de compra ou venda, perdendo até 02h em suas análises e as vezes alguns dos ativos dão um bom sinal de compra, porém durante o dia, e Pedro trabalha das 09:00 às 18h, justamente horário em que a bolsa de valores está em operação e Pedro perde algumas boas oportunidades.

Tecnologias avaliadas para a solução

  • python 3 (pandas)
  • typescript
  • nodeJS
  • mongoDB
  • SQL - Lite
  • Grafos
  • AWS Ledger database
  • Algorítmos de aprendizado de máquina

Parâmetro de avaliação técnica

  • Análise técnica das ações
  • Tendências
  • Médias Móveis
  • Bandas de Bollinger
  • RSI – Índice de Força Relativa
  • SAR Parabólico
  • MACD
  • HiLo Activator
  • Volume (OBV)
  • Bem como leitura de notícias do ativo na íntegra

Como contribuir para o projeto

  • Faça um clone do repositório
  • Crie uma nova branch para a funcionalidade que você irá implementar
  • Caso queira contribuir com alguma sugestão, cálculo ou análise você pode abrir uma nova Issue com a label apropriada (documentation, enhancement ou question)
  • Discussões também devem ser concentradas em Issue
  • Realizar os pushs na branch que você criou, assim que finalizar a funcionalidade que você estiver desenvolvendo atualize sua branch dando rebase com a branch main, em seguida abra um pull request para development.

Padrão de projeto

  • Visamos a utilização das boas práticas
  • Clean Code
  • Clean Architecture
  • S.O.L.I.D
  • TDD
  • Commit Linter

O projeto está configurado com husky, lint-staged e eslint Antes de todos os commits será realizado uma varredura no projeto e padronizando a escrita de acordo com o eslint standard, antes de qualquer push será executado os hooks do husk executando todos os testes, e por fim o github ao receber seu push executará a github action validando os testes finais.

Artigos

Machine Learning Trading Algorithm

Machine Learning Applied for Trading

Trading Using Machine Learning In Python

Commit Linter

S.O.L.I.D

TDD

TDD

Clean Architecture

Clean Code

Média Móvel

Bandas de Bollinger

RSI

SAR Parabólico

SAR Parabólico Fórmula

MACD

HiLo Activator

HiLo Activator

HiLo Activator

Python Pandas

Python para Finanças