Fornecer dados de ações
Progresso | Pronto para desenvolvimento |
---|---|
Prioridade | Alto |
Funcionalidade
Fornecer dados para outras APIs de uma determinada ação:
Cotação
- Preço do dia
- Variação do dia
Indicadores
- Mínima do ano e mês
- Máxima do ano e mês
- Dividend yield
- Valorização do ano e mês
- Indicadores de valuation
- Indicadores de endividademento
- Indicadores de eficiência
- Payout
Informações gerais
- PL
- Ativos e Ativos circulantes
- Divida bruta e líquida
- Disponibilidade de caixa
- Valor de mercado e de firma
- Número de papéis
- Free Float
- Segmento de listagem
- Setor, subsetor e segmento de atuação
- Distribuição de capital
- Data base
- Nº de investidores (apenas valores absolutos)
- Total
- Institucional
- Pessoa jurídica
- Pessoa física
Eventos corporativos
- Dividendos
- Último dividendo pago:
- Tipo (JCP, dividendo, etc)
- Data com
- Data de pagamento
- Valor
- Ano passado
- Ano atual
- Comparação entre ano passado e atual
- Último dividendo pago:
- Bonificação
- Data do anúncio
- Data com
- Data de incorporação
- Valor base
- Proporção
- Ativo emitido (ex: bbdc4)
- Subscrição
- Data do anúncio
- Data com
- Data de negociação
- Valor base
- Percentual
- Ativo emitido
- Dividendos
Notícias
Notificar apenas as notícias que não existem no banco de dados (verificar a partir da URL da notícia.
- Título
- Data e hora de publicação
- URL
Comunicados
Obter o último comunicado publicado no site Status Invest
- Título (ex: “Fato relevante”)
- Data de publicação
- URL de download do comunicado
Entidades
Cotação
classDiagram class Cotacao { precoDoDia: double variacaoDoDia: double }
Indicadores
classDiagram Indicadores <--* IndicadoresDeValuation Indicadores <--* IndicadoresDeEndividamento Indicadores <--* IndicadoresDeEficiencia Indicadores <--* IndicadoresDeRentabilidade Indicadores <--* IndicadoresDeCrescimento Indicadores <--* Payout class Indicadores { - precoMinimoDoMes: double - precoMinimoDoAno: double - precoMaximoDoMes: double - precoMaximoDoAno: double - valorizacaoDoMes: double - valorizacaoDoAno: double - indicadorDeValuation: IndicadoresDeValuation - indicadorDeValuation: IndicadoresDeEndividamento - indicadorDeValuation: IndicadoresDeEficiencia - indicadorDeValuation: IndicadoresDeRentabilidade - indicadorDeValuation: IndicadoresDeCrescimento - payout: Payout } class IndicadoresDeValuation { - dividendYield: double - p/l: double - pegRatio: double - p/vp: double - ev/ebitda: double - ev/ebit: double - p/ebitda: double - p/ebit: double - vpa: double - p/ativo: double - lpa: double - p/sr: double - p/capitalDeGiro: double - p/ativoCirculantesLiquidos: double } class IndicadoresDeEndividamento { - dividaLiquida/pl: double - dividaLiquida/ebitda: double - dividaLiquida/ebit: double - pl/ativos: double - passivos/ativos: double - liquidezCorrente: double } class IndicadoresDeEficiencia { - margemBruta: double - margemEbitda: double - margemEbit: double - margemLiquida: double } class IndicadoresDeRentabilidade { - roe: double - roa: double - roic: double - giroAtivos: double } class IndicadoresDeCrescimento { - cagrDeReceitasUltimos5anos: double - cagrDeLucrosUltimos5anos: double } class Payout { - media: double - atual: double - menorValor: double - maiorValor: double }
Informações gerais
classDiagram class InformacoesGerais { pl: long ativos: long ativosCirculantes: long dividaBruta: long dividaLiquida: long disponibolidadeDeCaixa: long valorDeMercado: long valorDeFirma: long numeroDePapeis: long freeFloat: long segmentoDeListagem: string setorDeAtuacao: string subsetorDeAtuacao: string segmentoDeAtuacao: string totalDeInvestidores: long }
Eventos corporativos
classDiagram Dividendo <-- TipoDoDividendo class Dividendo { tipo: TipoDoDividendo dataCom: Date dataDePagamento: Date valor: double } class TipoDoDividendo { <<enumeration>> JCP DIVIDENDO RENDIMENTO_TRIBUTADO } class Bonificacao { dataDoAnuncio: Date dataCom: Date dataDeIncorporacao: Date valorBase: double proporcao: double ativoEmitido: string } class Subscricao { dataDoAnuncio: Date dataCom: Date dataDeNegociacao: Date valorBase: double percentual: double ativoEmitido: string }
Comunicado
classDiagram class Anuncio { titulo: string dataDePublicacao: Date url: string }
Casos de uso
Obter a cotação do dia
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/stocks/quotation/BBAS3
- Execução do processo de extração de dados
- Envio de um resposta para o cliente no seguinte formato:
{ "código do ativo": ..., "preço atual": ..., "variação atual em porcentagem": ..., }
- Envio da requisição para a API do Finaces Data Provider:
Obter os indicadores fundamentalistas
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/stocks/indicators/BBAS3
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": ..., "indicadores de valuation": { // ... }, "indicadores de endividamento": { // ... }, "indicadores de eficiência": { // ... }, "indicadores de rentabilidade": { // ... }, "indicadores de rentabilidade": { // ... } }
Atualização futura
{ "código do ativo": ..., "indicadores de valuation": { "atual": { // ... }, "histórico": [ { "ano": "2021", // ... } ], }, "indicadores de endividamento": { "atual": { // ... }, "histórico": [ { "ano": "2021", // ... } ], }, "indicadores de eficiência": { "atual": { // ... }, "histórico": [ { "ano": "2021", // ... } ], }, "indicadores de rentabilidade": { "atual": { // ... }, "histórico": [ { "ano": "2021", // ... } ], }, "indicadores de rentabilidade": { "atual": { // ... }, "histórico": [ { "ano": "2021", // ... } ], } }
- Envio da requisição para a API do Finaces Data Provider:
Obter as informações gerais
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/stocks/general-informations/BBAS3
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", // ... }
- Envio da requisição para a API do Finaces Data Provider:
Montar resumo dos eventos corporativos
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/stocks/corporative-events/BBAS3
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "dividendos": { // .. }, "bonificações": { // ... }, "subscrições": { // ... } }
- Envio da requisição para a API do Finaces Data Provider:
Obter informações do último dividendo
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/stocks/corporative-events/last-dividend/BBAS3
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "dividendo": { "tipo": "...", "data com": "yyyy-MM-dd", "data de pagamento": "yyyy-MM-dd", "valor": ..., } }
- Envio da requisição para a API do Finaces Data Provider:
Calcular valor distribuído no ano anterior
Somar o valor de todos os dividendos com a propriedade
dataCom == 2021
(ano anterior)
Calcular valor distribuído no ano atual
Somar o valor de todos os dividendos com a propriedade
dataCom == 2022
(ano atual).
Montar resumo de dividendos
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/stocks/corporative-events/last-dividend-resume/BBAS3
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "último dividendo": { "tipo": "...", "data com": "yyyy-MM-dd", "data de pagamento": "yyyy-MM-dd", "valor": ..., }, "valor ano passado": ..., "valor ano atual": ..., "variação": ..., }
- Envio da requisição para a API do Finaces Data Provider:
Obter informações da última bonificação
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/stocks/corporative-events/last-bonus/BBAS3
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "bonificação": { "data do anúncio": "yyyy-MM-dd", "data com": "yyyy-MM-dd", "data de incorporação": "yyyy-MM-dd", "valor base": ..., "proporção em porcentagem": ..., "ativo emitido": "...", } }
- Envio da requisição para a API do Finaces Data Provider:
Obter informações da última subscrição
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/stocks/corporative-events/last-subscription/BBAS3
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "subscrição": { "data do anúncio": "yyyy-MM-dd", "data com": "yyyy-MM-dd", "data de negociação": "yyyy-MM-dd", "valor base": ..., "percentual": ..., "ativo emitido": "...", } }
- Envio da requisição para a API do Finaces Data Provider:
Obter as 3 últimas notícias
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/stocks/news/BBAS3
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "notícias": [ { "título": "...", "data e hora de publicação": "dd/MM/yyyy HH:mm:ss", "url": "...", }, { "título": "...", "data e hora de publicação": "dd/MM/yyyy HH:mm:ss", "url": "...", }, { "título": "...", "data e hora de publicação": "dd/MM/yyyy HH:mm:ss", "url": "...", }, ] }
- Envio da requisição para a API do Finaces Data Provider:
Obter notícia(s) a partir de palavras-chave no título ou o título completo
- Envio da requisição para a API do Finaces Data Provider:
POST http://localhost:3000/stocks/news/BBAS3 { "título": "...", }
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "notícias": [ { "título": "...", "data e hora de publicação": "dd/MM/yyyy HH:mm:ss", "url": "...", }, // ... ] }
- Envio da requisição para a API do Finaces Data Provider:
Obter todas as notícias em um intervalo de tempo
- Envio da requisição para a API do Finaces Data Provider:
POST http://localhost:3000/stocks/news/BBAS3 { "data inicio do intervalo": "yyyy-MM-dd", "data fim do intervalo": "yyyy-MM-dd", }
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "notícias": [ { "título": "...", "data e hora de publicação": "dd/MM/yyyy HH:mm:ss", "url": "...", }, { "título": "...", "data e hora de publicação": "dd/MM/yyyy HH:mm:ss", "url": "...", }, { "título": "...", "data e hora de publicação": "dd/MM/yyyy HH:mm:ss", "url": "...", }, ] }
- Envio da requisição para a API do Finaces Data Provider:
Obter o último comunicado
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/stocks/announcements/BBAS3
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "título": "...", "data de publicação": "yyyy-MM-dd", "url de download": "..." }
- Envio da requisição para a API do Finaces Data Provider:
Obter anúncio(s) a partir de palavras-chave no título ou o título completo
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/stocks/announcements/BBAS3
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "código do ativo": "...", "comunicados": [ { "título": "...", "data de publicação": "yyyy-MM-dd", "url de download": "..." }, // ... ] }
- Envio da requisição para a API do Finaces Data Provider:
Montar resumo do ativo
- Envio da requisição para a API do Finaces Data Provider:
GET http://localhost:3000/stocks/BBAS3
- Execução do processo de extração de dados
- Envio de uma resposta para o cliente no seguinte formato:
{ "assetCode": "BBAS3", "cotação": { // ... }, "indicadores": { // ... }, "informações gerais": { // ... }, "eventos corporativos": { // ... }, "notícias": { // ... }, "comunicados": { // ... } }
- Envio da requisição para a API do Finaces Data Provider: