{"id":51303683,"url":"https://github.com/isaacdavii/fiis_graphs","last_synced_at":"2026-06-30T22:30:33.762Z","repository":{"id":367625990,"uuid":"1252605325","full_name":"isaacdavii/fiis_graphs","owner":"isaacdavii","description":"Pesquisa acadêmica com framework e metodologia CRISP-NET aplicado à Econofísica para otimização de portfólios e hedge no mercado de FIIs (B3).","archived":false,"fork":false,"pushed_at":"2026-06-26T19:33:25.000Z","size":32358,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-26T21:05:11.978Z","etag":null,"topics":["b3","data-science","econophysics","finance","graph-theory","ifix","machine-learning","networkx","python","risk-management","streamlit"],"latest_commit_sha":null,"homepage":"https://fiis-graphs-moira-analytics-terminal.streamlit.app","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/isaacdavii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-28T17:29:31.000Z","updated_at":"2026-06-26T19:33:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/isaacdavii/fiis_graphs","commit_stats":null,"previous_names":["isaacdavii/fiis_graphs"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/isaacdavii/fiis_graphs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacdavii%2Ffiis_graphs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacdavii%2Ffiis_graphs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacdavii%2Ffiis_graphs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacdavii%2Ffiis_graphs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/isaacdavii","download_url":"https://codeload.github.com/isaacdavii/fiis_graphs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaacdavii%2Ffiis_graphs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34986247,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["b3","data-science","econophysics","finance","graph-theory","ifix","machine-learning","networkx","python","risk-management","streamlit"],"created_at":"2026-06-30T22:30:32.481Z","updated_at":"2026-06-30T22:30:33.744Z","avatar_url":"https://github.com/isaacdavii.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\n\n# 🌐 Análise de Risco Sistêmico e Contágio em FIIs (IFIX) via Teoria dos Grafos\n\n![Python](https://img.shields.io/badge/Python-3.8%2B-blue)\n![Econophysics](https://img.shields.io/badge/Econophysics-Graph_Theory-success)\n![Machine Learning](https://img.shields.io/badge/AI-Unsupervised-orange)\n[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://fiis-graphs-moira-analytics-terminal.streamlit.app)\n\n\u003e **🔴 Demo Online:** Clique no selo \"Streamlit\" acima ou acesse o dashboard para interagir com a topologia do mercado em tempo real.\n\n\u003e **\"Investir é um jogo de ligar os pontos. A parte boa é que, quanto mais tempo você passa no mercado e mais curioso intelectualmente você é, maior fica a sua coleção de dados e pontos para conectar.\" — Ted Weschler, gestor de investimentos da Berkshire Hathaway**\n\n## 📖 Sobre o Projeto e a Pesquisa Científica\n\nCriamos um terminal de Data Science e Inteligência Artificial desenvolvido como a infraestrutura computacional para sustentar nossa pesquisa acadêmica sobre o comportamento sistêmico do IFIX. Mais do que um software, ele é a materialização de um rigoroso estudo sobre **Teoria das Redes Complexas e Econofísica** aplicado ao mercado de capitais brasileiro.\n\nBatizamos de Moira Analytics porque acreditamos que a modelagem financeira precisa ser tratada como um sistema vivo e interconectado. O nome reflete a nossa metodologia: enquanto as Moiras tecem o destino, o nosso framework tece a topologia do mercado, permitindo enxergar as correlações ocultas que a análise fundamentalista tradicional não consegue captar. Além disso, criamos uma identidade de marca para facilitar a replicabilidade e o reconhecimento do nosso software como uma solução técnica autônoma.\n\n### [A Pesquisa (O Artigo Acadêmico)](paper/)\nO núcleo deste trabalho é o nosso artigo de pesquisa, que investiga a transição de fase topológica do mercado de Fundos Imobiliários em diferentes ciclos macroeconômicos. Nosso estudo desafia a análise fundamentalista tradicional — que trata os ativos de forma isolada — ao demonstrar matematicamente que o IFIX funciona como um organismo interconectado, onde a \"saúde\" de um setor é, na verdade, uma função da estabilidade de toda a rede.\n\nNossa pesquisa aborda:\n\n* **Benchmarking Algorítmico:** Desenvolvemos um estudo comparativo entre quatro motores de Inteligência Artificial (Louvain, Greedy, Label Propagation e Girvan-Newman) para identificar qual modelo melhor descreve a propagação de risco.\n\n* **Topologia e Transição de Fase:** O artigo demonstra como o mercado passa de estados de \"fluxo ordenado\" para \"colapso de ilhas\" conforme a política monetária é alterada.\n\n---\n\n## 📉 A Dinâmica de Correlações no IFIX: Uma Abordagem via Teoria das Redes Complexas\n\nA literatura de finanças quantitativas frequentemente aborda o risco sistêmico sob a ótica de correlações lineares estáticas, que falham em capturar as mudanças estruturais e as dependências ocultas entre ativos financeiros. Este trabalho propõe uma investigação sobre a topologia do mercado de Fundos de Investimento Imobiliário (IFIX) através de uma lente sistêmica e multidimensional.\n\nO nosso estudo utiliza o **framework web** como motor computacional para validar as seguintes hipóteses acadêmicas:\n* **Filtração Topológica:** A aplicação do algoritmo Planar Maximally Filtered Graph (PMFG) para isolar a estrutura fundamental de dependência do mercado, reduzindo o ruído estatístico inerente às correlações de Pearson e permitindo a visualização da espinha dorsal do sistema.\n* **Inteligência Artificial de Aprendizado Não Supervisionado:** A utilização de algoritmos de detecção de comunidades para validar se a classificação setorial oficial (B3) reflete o comportamento real de risco dos ativos ou se existem \"clusters de contágio\" trans-setoriais latentes.\n* **Dinâmica Temporal e Transições de Fase:** A análise da robustez estrutural do IFIX frente a ciclos macroeconômicos (períodos de aperto versus afrouxamento monetário), provando matematicamente que o mercado altera sua topologia em resposta direta à política monetária.\n* **Métricas de Risco Sistêmico:** A aplicação de quatro centralidades distintas (Eigenvector, Betweenness, PageRank e Closeness) para identificar os nós críticos responsáveis pela propagação de choques e pela preservação da liquidez sistêmica.\n\n---\n\n## 🛠️ Tecnologias e Arquitetura Matemática\n\nEste projeto orquestra algoritmos de ponta em ciência da computação e física estatística:\n\n* **PMFG (*Planar Maximally Filtered Graph*):** Algoritmo de filtragem que preserva a integridade geométrica do mercado (planaridade), superior à tradicional Árvore Geradora Mínima (MST) por permitir ciclos de retroalimentação.\n* **Centralidades (Risco):** Avaliação de *Eigenvector* (Efeito Dominó), *Betweenness* (Pontes de Liquidez), *PageRank* e *Closeness*.\n* **Machine Learning (Clustering):** Algoritmos não-supervisionados de detecção de comunidades (*Greedy Modularity*, *Louvain*, *Label Propagation* e *Girvan-Newman*).\n* **Metodologia Raj Jain:** *Cross-benchmarking* determinístico para validação do modelo, cruzando Modularidade, Cobertura (*Coverage*), NMI e Contraste de Risco.\n\n---\n\n## 📂 Estrutura do Repositório\n\n```text\nfiis_graphs/\n├── docs/                            # Documentação técnica e científica do projeto\n├── html/                            # Artefatos visuais e renderizações dinâmicas (PyVis)\n│   ├── centralidades/               # Grafos interativos mapeando as 4 dimensões de risco\n│   │   ├── pmfg_risco_betweenness.html\n│   │   ├── pmfg_risco_closeness.html\n│   │   ├── pmfg_risco_eigenvector.html\n│   │   └── pmfg_risco_pagerank.html\n│   ├── comunidades/                 # Grafos interativos mapeando as 4 metodologias de clustering\n│   │   ├── pmfg_comunidade_girvan_newman.html\n│   │   ├── pmfg_comunidade_greedy_modularity.html\n│   │   ├── pmfg_comunidade_label_propagation.html\n│   │   └── pmfg_comunidade_louvain.html\n│   └── estresse/                    # Resultados do simulador de colapso (Targeted Attack)\n│       └── pmfg_pos_colapso.html\n├── img/                             # Imagens estáticas do artigo\n├── paper/                           # Contém o nosso artigo completo em PDF\n├── src/\n|   ├── data_processor.py            # Módulo de ingestão e ETL de dados históricos do IFIX  \n|   └── network_model.py             # Módulo de construção e análise da rede topológica do mercado  \n├── .gitignore                       # Arquivos ocultos (ignora o .venv311 e caches do VS Code)\n├── app.py                           # Código-fonte principal do Terminal Web (Streamlit)\n├── graphs.ipynb                     # Jupyter Notebook detalhado com a pesquisa matemática\n├── LICENSE                          # Licença Creative Commons Atribuição-NãoComercial 4.0 Internacional (CC BY-NC 4.0)\n├── README.md                        # Documentação oficial do projeto (este arquivo)\n└── requirements.txt                 # Lista de dependências e motores (yfinance, networkx, etc.)\n```\n\nO ecossistema do projeto está dividido em duas frentes de operação:\n\n### 1. [O Motor Científico (Jupyter Notebook)](graphs.ipynb)\nO coração da pesquisa. Onde os dados brutos se transformam em geometria.\n* **Ingestão e ETL:** Extração de séries temporais históricas com `yfinance` e conversão da correlação de Pearson em Distância Euclidiana.\n* **Análise de Percolação:** Prova matemática do colapso topológico do método de Limiar (*Threshold*).\n* **Benchmarking Determinístico:** O laboratório de testes da IA, elegendo a combinação **Greedy Modularity + Betweenness** como motor principal.\n* **Teste de Estresse (*Targeted Attack*):** Simulação computacional deletando os 5 maiores Hubs do mercado para mapear a quebra do componente gigante e isolamento de órfãos.\n\n### 2. [O Terminal Web Interativo (Streamlit App)](app.py)\nA interface pronta para produção. Permite que investidores e pesquisadores interajam com o modelo de IA.\n* Renderização 2D dinâmica da rede com `Plotly`.\n* Ajuste em tempo real de sobrevivência de mercado e recorte temporal.\n* Módulo de alocação de carteira (identificação de \"Folhas\" topológicas para *Hedge*).\n* Documentação metodológica e científica embutida.\n\n---\n\n## 📊 Resultados Visuais e Descobertas\n\n\u003e **Nota:** As imagens estáticas abaixo são recortes do artigo. O terminal interativo possui renderização fluida no navegador.\n\n### 1. Transição de Fase (Percolação vs PMFG)\nA prova de que cortar correlações fracas arbitrariamente destrói a coesão do mercado. O PMFG preserva as 225 arestas vitais.\n![Curva de Percolação](img/percolacao_threshold.png) \n![PMFG](img/pmfg_1.png)\n\n### 2. Benchmarking Algorítmico (Raj Jain)\nA matriz de decisão matemática provando o \"Sweet Spot\" de inteligência do algoritmo *Greedy* ao encontrar o equilíbrio perfeito entre descoberta de novas correlações (NMI) e coesão interna.\n![Benchmarking Raj Jain](img/benchmarking_raj_jain.png)\n\n### 3. O Colapso dos Super-Hubs (Stress Test)\nO mercado financeiro após o *Targeted Attack*. O Grupo Ciano conseguiu manter rotas secundárias de liquidez, enquanto os pontos vermelhos sofreram congelamento isolado.\n![Anatomia do Colapso](img/pmfg_pos_colapso.png) \n\n---\n\n## 🚀 Como Executar o App (Ambiente Local)\n\nSiga o passo a passo abaixo para iniciar o framework na sua máquina local.\n\n**1. Clone o repositório:**\n```bash\ngit clone https://github.com/seu-usuario/moira-analytics-ifix.git\ncd moira-analytics-ifix\n```\n\n**2. Crie e ative um Ambiente Virtual (Recomendado)**\n\n*Para usuários de Windows:*\n```bash\npython -m venv .venv\n.\\.venv\\Scripts\\activate\n```\n*Para usuários de Linux/Mac:*\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\n**3. Instale as Dependências do Projeto**\n```bash\npip install -r requirements.txt\n```\n\n**4. Execute o Dashboard no Terminal**\n```bash\nstreamlit run app.py\n```\n\n**5. Encerre a Sessão**\n\nApós fechar o navegador e parar o servidor no terminal (`Ctrl + C`), desative o ambiente virtual para retornar ao Python global do seu sistema:\n```bash\ndeactivate\n```\n\n---\n\n### 🎓 Equipe de Pesquisa\n\n| Pesquisador(a) | Matrícula | Instituição |\n| :--- | :---: | :---: |\n| **Ana Paula Gomes Jacó** | 2025015393 | UNIFEI |\n| **Bianca Salvador** | 2022012137 | UNIFEI |\n| **Isaac Davi Mendonça Viana** | 2023000650 | UNIFEI |\n| **Laura Raimundi Dias Jesus** | 2022002097 | UNIFEI |\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisaacdavii%2Ffiis_graphs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisaacdavii%2Ffiis_graphs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisaacdavii%2Ffiis_graphs/lists"}