diff --git a/docs/quickstart/instalacao.md b/docs/quickstart/instalacao.md index 8430bda..1020637 100644 --- a/docs/quickstart/instalacao.md +++ b/docs/quickstart/instalacao.md @@ -4,8 +4,7 @@
pynvest-logo -
-
+
PyPi shield diff --git a/docs/tools/arquitetura.md b/docs/tools/arquitetura.md new file mode 100644 index 0000000..8deb3dc --- /dev/null +++ b/docs/tools/arquitetura.md @@ -0,0 +1,19 @@ +# Arquitetura de Solução + +Agora que temos uma noção sobre o que é o módulo `pynvest-tools` e os principais benefícios atrelados ao seu uso, vamos iniciar um aprofundamento técnico sobre o que está por trás da solução. + +Iniciando pela arquitetura, a imagem abaixo traz uma visão detalhada da solução contendo toda a dinâmica de serviços e integrações disponibilizadas para o usuário. + + + :octicons-light-bulb-16: + **Dica:** clique na imagem para uma melhor visualização dos elementos. + + +![Arquitetura de Solução](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/docs/drawio/pynvest-tool-diagram-print.png?raw=true) + +Em essência, o diagrama acima contempla todos os serviços AWS entregues pelo módulo Terraform e, além disso, traz a visão de todas as integrações entre os recursos. + +Toda a dinâmica de implantação do módulo é baseada em **6 macro etapas** que, em linhas gerais, contemplam toda a lógica de extração, preparação e atualização agendada dos dados financeiros disponibilizados ao usuário em seu próprio ambiente AWS. + +Ao longo desta seção de detalhamento, será possível observar todas as nuances e particularidades dos [recursos provisionados](./recursos.md) e das [etapas de processamento da solução](./processo.md). + diff --git a/docs/tools/processo.md b/docs/tools/processo.md new file mode 100644 index 0000000..0d400aa --- /dev/null +++ b/docs/tools/processo.md @@ -0,0 +1,42 @@ +# Etapas do Processamento + +A solução `pynvest-tools` abrange a implantação de uma série de recursos AWS que, juntos, comportam uma série de atividades previamente definidas e designadas para um propósito único: disponibilizar dados confiáveis e recorrentemente atualizados contendo indicadores financeiros de ações e fundos imobiliários. + +Para que isso seja possível, um total de **6 macro etapas** foram desenhadas de modo pontual. Nesta seção, o usuário poderá encontrar detalhes sobre cada uma das etapas de processamento dos recursos do módulo. + +??? tip "Lembrete: arquitetura da solução" + Expanda esse bloco sempre que precisar relembrar o desenho de arquitetura de solução. + + + :octicons-light-bulb-16: + **Dica:** clique na imagem para uma melhor visualização dos elementos. + + + ![Arquitetura de Solução](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/docs/drawio/pynvest-tool-diagram-print.png?raw=true) + + + :octicons-light-bulb-16: + **Dica:** visando facilitar o detalhamento das etapas, cada ação a ser exemplificada está identificada, nas imagens de arquitetura disponibilizadas, com índices que se referem à macro etapa. Por exemplo, a etapa 1 definida como "eliminação de partições do dia" contemplam os passos 1.1, 1.2 e 1.3. Cada um desses passos será detalhado para o usuário. + + +## Etapa 1: Eliminação das Partições do Dia + +![Desenho de arquitetura contendo apenas a primeira etapa do processamento](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/docs/imgs/arquitetura-etapas/etapa-01.png?raw=true) + +O primeiro passo + +## Etapa 2: Envio de Códigos de Ativos para Fila SQS + +![Desenho de arquitetura contendo apenas a segunda etapa do processamento](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/docs/imgs/arquitetura-etapas/etapa-02.png?raw=true) + + +## Etapa 3: Processamento de Tabelas SoR + + +## Etapa 4: Processamento de Tabelas SoT + + +## Etapa 5: Processamento de Tabela Spec + + +## Etapa 6: Deduplicação de Registros \ No newline at end of file diff --git a/docs/tools/quickstart.md b/docs/tools/quickstart.md new file mode 100644 index 0000000..133f8d5 --- /dev/null +++ b/docs/tools/quickstart.md @@ -0,0 +1,42 @@ +# Primeiros Passos + +Agora que sabemos exatamente o que é o módulo pynvest-tools, vamos detalhar como utilizar e extrair o melhor de suas funcionalidades. + +## Pré Requisitos + +- ☁️ [Conta AWS](https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/) disponível para uso +- 🔑 [Acesso programático](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html) à conta com chaves de acesso +- ⛏ [Terraform](https://www.terraform.io/) instalado +- 🪣 [Buckets S3](https://aws.amazon.com/s3/) existentes na conta AWS para armazenamento de dados brutos (SoR), preparados (SoT) e especializados (Spec) + +## Chamando o Módulo Terraform + +Uma vez cumprido os pré requisitos, o usuário poderá obter todos os insumos já detalhados através de uma [chamada de módulo Terraform](https://developer.hashicorp.com/terraform/language/modules/syntax) no seguinte formato: + +```python +# Chamada de módulo pynvest-tools em arquivo main.tf +module "pynvest-tools" { + source = "git::https://github.com/ThiagoPanini/pynvest-tools?ref=main" + + bucket_names_map = { + "sor" = "some-bucket-name-to-store-sor-data", + "sot" = "some-bucket-name-to-store-sot-data", + "spec" = "some-bucket-name-to-store-spec-data" + } +} +``` + +???+ question "Quais variáveis o usuário necessita passar para o módulo?" + Como esperado, um módulo Terraform pode ser configurado através de variáveis que guiam regras específicas dentro da lógica embutida no módulo. + + No `pynvest-tools`, muitas das variáveis já tão fornecidas com um valor padrão, não exigindo qualquer tipo de ação por parte do usuário, exceto se o mesmo deseja configurar comportamentos específicos dos recursos provisionados. + + A exceção fica por conta da variável `bucket_names_map` que, essencialmente, tem a função de configurar toda a lógica de armazenamento dos dados obtidos nas aplicações criadas pelo módulo. Esta é a **única variável obrigatória** exigida pelo módulo e seu preenchimento deve ser feito através de um dicionário (map type, no Terraform) contendo as chaves "sor", "sot" e "spec", cujos valores devem representar nomes válidos para buckets S3 responsáveis por armazenar dados nessas três camadas. + +Após configurar a chamada ao módulo, basta executar os seguintes comandos Terraform para implantar a infraestrutura relacionada: + +- `terraform init` para inicialização do módulo +- `terraform plan` para validar o plano de implantação +- `terraform apply` para aplicar a implantação na conta AWS alvo + +Pronto! Você agora terá em sua conta AWS todo um conjunto de serviços para extrair, preparar e armazenar diariamente indicadores de Ações e Fundos Imobiliários da B3! Para saber mais sobre os recursos disponibilizados, não deixe de chegar a página contendo os [detalhes da solução]() \ No newline at end of file diff --git a/docs/tools/recursos.md b/docs/tools/recursos.md new file mode 100644 index 0000000..1603c05 --- /dev/null +++ b/docs/tools/recursos.md @@ -0,0 +1,157 @@ +# Recursos Provisionados pelo Módulo + +Sendo um módulo Terraform, o `pynvest-tools` possui toda uma lógica de código baseada em IaC (*Infrastructure as Code*) para provisionar uma série de serviços AWS previamente configurados capazes de realizar todas as tarefas necessárias para proporcionar, ao usuário, uma experiência completa de análise de indicadores financeiros. + +Conhecer os detalhes de cada um dos recursos provisionados é um passo importante para que os usuários compreendam, de fato, toda a mágia por trás da solução. + +??? tip "Lembrete: arquitetura da solução" + Expanda esse bloco sempre que precisar relembrar o desenho de arquitetura de solução. + + + :octicons-light-bulb-16: + **Dica:** clique na imagem para uma melhor visualização dos elementos. + + + ![Arquitetura de Solução](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/docs/drawio/pynvest-tool-diagram-print.png?raw=true) + +## Serviços AWS + +Em linhas gerais, a última versão do módulo `pynvest-tools` considera o provisionamento dos seguintes recursos: + +- :octicons-lock-16: :octicons-chevron-right-12: 9 *policies* e 7 *roles* no IAM para configuração das permissões das aplicações +- :octicons-database-16: :octicons-chevron-right-12: 3 databases e 5 tabelas no Glue Data Catalog para consultas analíticas nos indicadores financeiros processados +- :octicons-terminal-16: :octicons-chevron-right-12: 7 funções Lambda contendo todas as lógicas de processamento embarcadas +- :octicons-mail-16: :octicons-chevron-right-12: 2 filas SQS para armazenamento de *tickers* (códigos) de Ações e Fundos Imobiliários a terem seus respectivos indicadores processados +- :octicons-workflow-16: :octicons-chevron-right-12: 1 workflow no Step Functions para otimização do armazenamento dos dados +- :octicons-calendar-16: :octicons-chevron-right-12: 2 regras de agendamento no Eventbridge para execução dos processos + +Cada serviço AWS contemplado no módulo `pynvest-tools` possui uma função representativa sobre como a solução, em geral, funciona. As subseções a seguir visam trazer um pouco mais de clareza sobre como cada um dos recursos acima listados atuam para gerar o valor esperado aos usuários. + +### :octicons-lock-16: Policies e Roles IAM + +As *policies* e *roles* IAM criadas pelo módulo `pynvest-tools` foram pensadas como elementos capazes de fornecer apenas as permissões necessárias para as aplicações e serviços de orquestração da solução. + +Cada *policy* possui um contexto específico capaz de ser visualizado através da tabela abaixo: + +??? info "Listagem de policies IAM presentes no módulo" + | :octicons-lock-16: **Policy** | :octicons-pencil-16: **Descrição** | :octicons-link-16: **JSON** | + | :-- | :-- | :-- | + | pynvest-store-cloudwatch-logs | Concede permissões de escrita de logs no CloudWatch através de funções Lambda relacionadas ao módulo | [Link](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/infra/modules/iam/policy-templates/pynvest-store-cloudwatch-logs.json) | + | pynvest-check-and-delete-partitions | Concede permissões de listagem e eliminação de objetos no S3 e de partições de tabelas no Glue Data Catalog | [Link](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/infra/modules/iam/policy-templates/pynvest-check-and-delete-partitions.json) | + | pynvest-invoke-lambda-functions | Concede permissões de invocação de outras funções Lambda relacionadas ao módulo | [Link](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/infra/modules/iam/policy-templates/pynvest-invoke-lambda-functions.json) | + | pynvest-invoke-state-machines | Concede permissões de inicialização de workflows do Step Function relacionados ao módulo | [Link](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/infra/modules/iam/policy-templates/pynvest-invoke-state-machines.json) | + | pynvest-send-msgs-to-tickers-queues | Concede permissões para envio de mensagens para filas no SQS relacionadas ao módulo | [Link](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/infra/modules/iam/policy-templates/pynvest-send-msgs-to-tickers-queues.json) | + | pynvest-share-sor-financial-data | Concede permissões de coleta de mensagens de filas SQS relacionadas ao módulo, além da escrita de objetos no S3 e atualização de partições em tabelas no Glue Data Catalog na camada SoR (dados brutos) | [Link](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/infra/modules/iam/policy-templates/pynvest-share-sor-financial-data.json) | + | pynvest-share-sot-financial-data | Concede permissões de leitura de dados na camada SoR (dados brutos), além da escrita de objetos no S3 e atualização de partições em tabelas no Glue Data Catalog na camada SoT (dados preparados) | [Link](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/infra/modules/iam/policy-templates/pynvest-share-sot-financial-data.json) | + | pynvest-share-spec-financial-data | Concede permissões de leitura de dados na camada SoT (dados preparados), além da escrita de objetos no S3 e atualização de partições em tabelas no Glue Data Catalog na camada Spec (dados especializados) | [Link](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/infra/modules/iam/policy-templates/pynvest-share-spec-financial-data.json) | + | pynvest-dedup-financial-data | Concede permissões de leitura e escrita de dados nas camadas SoT e Spec, tanto no S3 quanto no Glue Data Catalog | [Link](https://github.com/ThiagoPanini/pynvest-tools/blob/v0.2.x/infra/modules/iam/policy-templates/pynvest-dedup-financial-data.json) | + +Já as *roles* são basicamente construções assumidas por aplicações/serviços e formadas por uma ou mais *policies* presentes no módulo. + +??? info "Listagem de roles IAM presentes no módulo" + | :octicons-lock-16: **Role** | :octicons-pencil-16: **Descrição** | + | :-- | :-- | + | pynvest-lambda-check-and-delete-partitions | Role assumida pela função Lambda responsável por verificar e eliminar dados relacionados à partição da data do processamento agendado | + | pynvest-lambda-send-msgs-to-tickers-queues | Role assumida pela função Lambda responsável por coletar tickers de ativos e enviar mensagens para filas no SQS | + | pynvest-lambda-share-sor-financial-data | Role assumida pela função Lambda responsável por extrair e armazenar dados brutos de indicadores financeiros na camada SoR | + | pynvest-lambda-share-sot-financial-data | Role assumida pela função Lambda responsável por preparar e armazenar dados tratados de indicadores financeiros na camada SoT | + | pynvest-lambda-share-spec-financial-data | Role assumida pela função Lambda responsável por especializar e armazenar dados consolidados de indicadores financeiros na camada Spec | + | pynvest-lambda-dedup-financial-data | Role assumida por funções Lambda responsáveis por ler, remover registros duplicados e armazenar dados nas camadas SoT e Spec | + | pynvest-sfn-invoke-lambda-functions | Role assumida pela máquina de estados no Step Functions para realização do processo de remoção de registros duplicados | + + + :octicons-eye-16: + **Observação:** todas as *policies* IAM presentes no módulo são criadas com base na prática de [least privileges](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_permissions_least_privileges.html), ou seja, contemplam apenas as permissões estritamente necessárias para as aplicações. Isto é alcançado através de *templates* do Terraform onde variáveis específicas são definidas nos arquivos JSON das *policies* e substituídas em tempo de execução do módulo. + + + +### :octicons-database-16: Databases e Tabelas no Data Catalog + +O módulo `pynvest-tools` também contempla a criação de *databases* e tabelas previamente configuradas no Glue Data Catalog para que o usuário possa armazenar e analisar os dados financeiros obtidos em tempo de execução da solução. + +??? info "Tabelas criadas pelo módulo" + | :octicons-database-16: **Tabela** | :octicons-database-16: **Database** | :octicons-pencil-16: **Descrição** | + | :-- | :-- | :-- | + | tbsor_fundamentus_indicadores_acoes_raw | SoR | Tabela para armazenamento de indicadores financeiros de **Ações** extraídos diretamente do portal Fundamentus e sem qualquer tipo de preparação (dados brutos) | + | tbsor_fundamentus_indicadores_fiis_raw | SoR | Tabela para armazenamento de indicadores financeiros de **Fundos Imobiliários** extraídos diretamente do portal Fundamentus e sem qualquer tipo de preparação (dados brutos) | + | tbsot_fundamentus_indicadores_acoes_prep | SoT | Tabela preparada de indicadores financeiros de **Ações** (considerando tipagem e transformações específicas em strings) | + | tbsot_fundamentus_indicadores_acoes_prep | SoT | Tabela preparada de indicadores financeiros de **Fundos Imobiliários** (considerando tipagem e transformações específicas em strings) | + | tbspec_fundamentus_cotacao_ativos | Spec | Tabela especializada contendo apenas informações relacionadas à cotações de ativos financeiros, considerando tanto **Ações** quanto **Fundos Imobiliários** | + +As tabelas são, provavelmente, os ativos mais valiosos entregues pelo módulo `pynvest-tools`. Através delas, os usuários poderão realizar uma série de consultas e análises de indicadores financeiros de ações e fundos imobiliários. + + + :octicons-eye-16: + **Observação:** todas as tabelas criadas pelo módulo possuem atributos e indicadores bem definidos. Para consultar quais indicadores financeiros estão sendo contemplados em cada uma das tabelas, não deixe de navegar pela seção de [indicadores](). + + +### :octicons-terminal-16: Funções Lambda + +Apesar de já proporcionar toda a lógica de criação e documentação das tabelas, sem **dados** não há análise. Dito isso, é preciso conhecer em detalhes as aplicações capazes de extrair, preparar e especializar os dados em todas as camadas da solução. + +??? info "Funções Lambda responsáveis pela obtenção dos dados" + | :octicons-terminal-16: **Função** | :octicons-database-16: **Descrição** | + | :-- | :-- | + | pynvest-lambda-check-and-delete-partitions | Função responsável por verificar se existem partições físicas e lógicas relacionadas ao dia de processamento dos dados e, em caso positivo, eliminá-las para evitar dados duplicados | + | pynvest-lambda-get-tickers | Função responsável por coletar *tickers* (códigos) de ações e fundos imobiliários utilizando funcionalidades da biblioteca `pynvest` e armazenar os resultados como mensagens de filas SQS | + | pynvest-lambda-get-financial-data-for-acoes | Função responsável por ler mensagens de fila SQS contendo *tickers* de ações, extrair os indicadores financeiros utilizando funcionalidades da biblioteca `pynvest` e, por fim, armazenar os resultados em tabela na camada SoR (S3 e Glue Data Catalog) | + | pynvest-lambda-get-financial-data-for-fiis | Função responsável por ler mensagens de fila SQS contendo *tickers* de fundos imobiliários, extrair os indicadores financeiros utilizando funcionalidades da biblioteca `pynvest` e, por fim, armazenar os resultados em tabela na camada SoR (S3 e Glue Data Catalog) | + | pynvest-lambda-prep-financial-data-for-acoes | Função responsável por ler dados brutos de indicadores de ações na camada SoR, preparar os tipos primitivos dos atributos e, por fim, armazenar os resultados em tabela na camada SoT (S3 e Glue Data Catalog) | + | pynvest-lambda-prep-financial-data-for-fiis | Função responsável por ler dados brutos de indicadores de fundos imobiliários na camada SoR, preparar os tipos primitivos dos atributos e, por fim, armazenar os resultados em tabela na camada SoT (S3 e Glue Data Catalog) | + | pynvest-lambda-specialize-financial-data | Função responsável por ler dados preparados da camada SoT contendo indicadores de ações e fundos imobiliários, extrair apenas atributos específicos e, por fim, armazenar os resultados em tabela na camada Spec (S3 e Glue Data Catalog) | + | pynvest-lambda-dedup-financial-data-for-acoes | Função responsável por ler dados da tabela SoT de ações, remover registros duplicados e armazenar os resultados na mesma tabela/camada (overwrite partition) | + | pynvest-lambda-dedup-financial-data-for-fiis | Função responsável por ler dados da tabela SoT de fundos imobiliários, remover registros duplicados e armazenar os resultados na mesma tabela/camada (overwrite partition) | + | pynvest-lambda-dedup-financial-data-for-spec-ativos | Função responsável por ler dados da tabela Spec de ativos, remover registros duplicados e armazenar os resultados na mesma tabela/camada (overwrite partition) | + + + :octicons-eye-16: + **Observação:** as funções Lambda de deduplicação de registros (três últimas referências da tabela acima) são engatilhadas através de um *workflow* no Step Functions a ser detalhado nas próximas seções. + + + + :octicons-light-bulb-16: + **Dica:** os códigos de todas as funções Lambda podem ser visualizados diretamente no [repositório do módulo no GitHub](https://github.com/ThiagoPanini/pynvest-tools/tree/v0.2.x/app/lambda/functions). + + +### :octicons-mail-16: Filas no SQS + +Como mencionado na seção anterior onde todas as funções Lambda foram exemplificadas, em determinada etapa do processo, mensagens são escritas em filas SQS para um posterior processamento desacoplado. Detalhes sobre essas filas podem ser vistos logo abaixo: + +??? info "Filas SQS presentes no processo" + | :octicons-mail-16: **Nome da Fila** | :octicons-database-16: **Descrição** | + | :-- | :-- | + | pynvest-tickers-acoes-queue | Fila SQS responsável por armazenar mensagens contendo *tickers* (códigos) de Ações extraídos pela função `pynvest-lambda-get-tickers` | + | pynvest-tickers-fiis-queue | Fila SQS responsável por armazenar mensagens contendo *tickers* (códigos) de Fundos Imobiliários extraídos pela função `pynvest-lambda-get-tickers` | + +### :octicons-workflow-16: Workflow no Step Functions + +Assim como mencionado na seção de detalhamento das funções Lambda, um *workflow* do Step Functions foi criado para orquestrar o processo de remoção de registros duplicados nas tabelas disponibilizadas nas camadas SoT e Spec. + +??? info "Workflow do Step Functions provisionado" + | :octicons-workflow-16: **Workflow** | :octicons-database-16: **Descrição** | + | :-- | :-- | + | pynvest-sfn-dedup-sot-spec-tables | Workflow criado com o intuito de coordenar a execução de funções Lambdas específicas para a remoção de registros duplicados em tabelas do módulo `pynvest-tools` presentes nas camadas SoT e Spec. Este workflow é engatilhado através de um agendamento no Eventbridge. | + + + :octicons-eye-16: + **Observação:** como a lógica implementada para processar e escrever dados nas camadas SoT e Spec contempla o engatilhamento automático e desacoplado de funções Lambda, o workflow de remoção de registros duplicados foi designado a ser executado 15 minutos após o gatilho inicial do processo diário de atualização dos dados. + + +### :octicons-calendar-16: Gatilhos no Eventbridge + +Por fim, a arquitetura de solução contempla a existência de gatilhos no Eventbridge que coordenam a execução dos processos de atualização dos dados e remoção de registros duplicados. + +??? info "Regras e gatilhos no Eventbridge para execução diária do processo" + | :octicons-calendar-16: **Regra no Eventbridge** | :octicons-database-16: **Descrição** | :octicons-clock-16: **Horário** + | :-- | :-- | + | trigger-pynvest-lambda-check-and-delete-partitions | Gatilho responsável por executar a primeira função Lambda do processo (verificação e eliminação de partições do dia já existentes) | Todos os dias às 18:45 | + | trigger-pynvest-sfn-dedup-sot-spec-tables | Gatilho responsável por executar *workflow* do Step Functions para remoção de registros duplicados em tabelas das camadas SoT e Spec | Todos os dias às 19:00 | + + + :octicons-eye-16: + **Observação:** pela característica da solução, o primeiro gatilho do Eventbridge necessita apenas executar a função de validação e eliminação de partições. Todos os demais componentes e funções da arquitetura são executados automaticamente de forma altamente desacoplada. + + +## Infraestrutura + +Como um reforço importante, toda a lógica dos componentes de infraestrutura provisionados (e também dos códigos das aplicações) estão disponíveis no [repositório do módulo no GitHub](https://github.com/ThiagoPanini/pynvest-tools) e podem ser analisados para um entendimento mais aprofundado sobre os recursos. \ No newline at end of file diff --git a/docs/tools/tmp.md b/docs/tools/tmp.md new file mode 100644 index 0000000..1bc12e4 --- /dev/null +++ b/docs/tools/tmp.md @@ -0,0 +1,35 @@ +# Pynvest Tools: + +## Arquitetura da Solução + +## Recursos Implantados + +### Policies e Roles IAM + +### Tabelas no Data Catalog + +### Funções Lambda + +### Gatilhos no Eventbridge + +### Workflow no Step Functions + +___ + +## Etapas do Processamento + +### Etapa 1: Eliminação das Partições do Dia + +### Etapa 2: Envio de Códigos de Ativos para Fila SQS + +### Etapa 3: Processamento de Tabelas SoR + +### Etapa 4: Processamento de Tabelas SoT + +### Etapa 5: Processamento de Tabela Spec + +### Etapa 6: Deduplicação de Registros + +## Consultando Indicadores Financeiros + +## Queries no Athena \ No newline at end of file diff --git a/docs/tools/tools.md b/docs/tools/tools.md new file mode 100644 index 0000000..411e3cf --- /dev/null +++ b/docs/tools/tools.md @@ -0,0 +1,48 @@ +# Obtenha Indicadores Financeiros em seu Próprio Ambiente AWS + +Você já imaginou ter todo um conjunto de serviços AWS implantados em seu ambiente pessoal para extrair, armazenar e atualizar recorrentemente **indicadores financeiros** de ativos da B3? + +Se sim, você precisa conhecer o [pynvest-tools](https://github.com/ThiagoPanini/pynvest-tools) como um módulo Terraform capaz de proporcionar a implantação de recursos AWS estrategicamente desenvolvidos para habilitar todo um *pool* de análise de dados financeiros. + +
+
pynvest-logo +
+ +
+ + + + + + + + + + + + + + + + + +
+ + +## Visão Geral + +Sendo um módulo Terraform disponibilizado de forma totalmente gratuita, os usuários que decidirem utilizar o `pynvest-tools` em seus respectivos ambientes AWS, poderão obter, entre outros benefícios: + +- 🎯 Um processo agendado via [Eventbridge](https://aws.amazon.com/pt/eventbridge/) para obtenção e atualização diária de indicadores financeiros +- 📖 Tabelas previamente definidas no [Glue Data Catalog](https://docs.aws.amazon.com/pt_br/glue/latest/dg/start-data-catalog.html) para consultas em ferramentas analíticas +- 🧲 Arquitetura *serverless* e altamente desacoplada utilizando funções [Lambda](https://aws.amazon.com/pt/lambda/) e filas no [SQS](https://aws.amazon.com/sqs/) +- 📊 Possibilidade de utilizar serviços como [Glue](https://aws.amazon.com/pt/glue/), [Athena](https://aws.amazon.com/pt/athena/) e [QuickSight](https://aws.amazon.com/quicksight/) para as mais variadas análises em dados financeiros + +## Saiba Mais + +Navegue pelos tópicos desta seção para descobrir, de uma vez por todas, como o módulo Terraform `pynvest-tools` pode te ajudar a unir elementos do mundo financeiro em um ambiente totalmente *cloud native*. + + + :octicons-history-16: + **Não perca tempo** e comece agora mesmo a criar **seu próprio Data Lake** com dados financeiros atualizados diariamente. + diff --git a/mkdocs.yml b/mkdocs.yml index 7eca479..a0220f3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -13,7 +13,22 @@ repo_url: https://github.com/ThiagoPanini/pynvest # Copyright copyright: | - Copyright © 2023-2024 ThiagoPanini + Copyright © 2023-2024 Thiago Panini + +# Configurando social media no footer +extra: + social: + - icon: fontawesome/brands/github + link: https://github.com/ThiagoPanini + name: Thiago Panini no Github + - icon: fontawesome/brands/linkedin + link: https://www.linkedin.com/in/thiago-panini/ + name: Thiago Panini no LinkedIn + - icon: fontawesome/brands/hashnode + link: https://panini.hashnode.dev/ + name: Blog panini-tech-lab no Hashnode + + # Configuração do tema theme: @@ -80,10 +95,13 @@ nav: - FIIs: scrappers/fundamentus/indicadores/fiis.md - Tools: - - O pynvest-tools: tools/pynvest-tools.md - - Variáveis do Módulo: tools/variaveis.md - - Demo: tools/demo.md - + - O Módulo Pynvest Tools: tools/tools.md + - Detalhes da Solução: + - Arquitetura: tools/arquitetura.md + - Recursos Provisionados: tools/recursos.md + - Etapas do Processo: tools/processo.md + - Quickstart: tools/quickstart.md + - Contribuindo: contribuindo/contribuindo.md # Configurando extensões