Esta ferramenta varre uma lista de FIIs procurando por combinações raras de sinais que historicamente precedem oportunidades de compra. Cada FII recebe um score de 0 a 4 baseado em quantos dos quatro critérios abaixo são atendidos. Quando o score atinge o threshold configurado, um alerta é enviado por Telegram. Tudo é determinístico, sem modelo preditivo — só regras explícitas.
Compara o preço atual com a média e desvio-padrão dos últimos 180 pregões. Z-score negativo = abaixo da média; mais negativo = mais barato em termos estatísticos. Dispara quando o preço está pelo menos -1.5 desvios abaixo da média móvel.
Identifica quedas materiais (mais de 7.0% em 20 dias) que não são acompanhadas de notícias relevantes na janela de 14 dias. A ideia: se caiu mas ninguém escreveu sobre, pode ser ruído de mercado.
Preço sobre Valor Patrimonial. Abaixo de 0.97 indica que a cota está sendo negociada com desconto em relação ao valor contábil dos ativos do fundo. Sinal best-effort: se a fonte estiver indisponível, este critério é pulado e o score continua sendo calculado pelos outros 3.
Compara o dividend yield dos últimos 12 meses com a média anualizada dos últimos 3 anos do próprio fundo. Dispara quando o DY atual está pelo menos 15% acima da média histórica — sinal de que o fundo está pagando mais que o típico.
O score final é a soma dos sinais que dispararam (0 a 4). O Telegram só
é disparado quando o score atinge o threshold configurado em
config.MIN_SCORE_FOR_ALERT.
Mesmo sem alerta, todas as rodadas são gravadas em
data/history.csv
(incluindo sinais não disparados) — você pode ver isso na aba Histórico.
| MIN_SCORE_FOR_ALERT | 2 |
| ZSCORE_WINDOW_DAYS | 180 |
| ZSCORE_THRESHOLD | -1.5 |
| RECENT_DROP_WINDOW_DAYS | 20 |
| RECENT_DROP_PCT_THRESHOLD | -7.0% |
| PVP_MAX | 0.97 |
| DY_PREMIUM_OVER_AVG | 1.15× (~15% acima) |
| NEWS_LOOKBACK_DAYS | 14 |
Tudo grátis, sem autenticação paga. As fontes são consultadas a cada rodada (cron ou botão "Rodar agora"); resultados ficam em CSV no host.
| Histórico de preços + dividendos | yfinance (Yahoo Finance) |
| P/VP atual | Status Invest (scrape HTML) |
| Notícias (validação de queda) | Google News RSS pt-BR |
| Persistência de tickers e histórico | CSV em data/ com flock |
| Notificação | Telegram Bot API |
Nenhum sinal sozinho é suficiente — a tese é que a combinação deles tem mais valor que cada um isoladamente. Mesmo assim, score alto não é recomendação de compra: pode haver razões fundamentalistas para a queda que o scanner não captura (problemas com inquilino-âncora, mudança regulatória do setor, restrição de liquidez do fundo, etc.). Use como filtro inicial, não como decisão final.
Os 13 FIIs abaixo são a lista default do
config.DEFAULT_TICKERS. Você pode adicionar, ativar ou
desativar tickers via Tickers.
Para adicionar uma descrição customizada, edite
fund_info.py.
| Ticker | Nome | Tipo | Segmento | Gestora |
|---|---|---|---|---|
| MXRF11 | Maxi Renda | Papel | CRIs híbridos (CDI + IPCA) | BTG Pactual |
| KNRI11 | Kinea Renda Imobiliária | Híbrido | Lajes corporativas + galpões logísticos | Kinea Investimentos |
| HGLG11 | CSHG Logística | Tijolo | Galpões logísticos | Credit Suisse Hedging-Griffo (CSHG) |
| XPLG11 | XP Log | Tijolo | Galpões logísticos | XP Asset Management |
| VISC11 | Vinci Shopping Centers | Tijolo | Shopping centers | Vinci Partners |
| HGRE11 | CSHG Real Estate | Tijolo | Lajes corporativas premium | CSHG |
| BCFF11 | BTG Pactual Fundo de Fundos | Fundo de Fundos | Cotas de outros FIIs | BTG Pactual |
| BTLG11 | BTG Pactual Logística | Tijolo | Galpões logísticos | BTG Pactual |
| VILG11 | Vinci Logística | Tijolo | Galpões logísticos | Vinci Partners |
| RECT11 | UBS BB Recebíveis Imobiliários | Papel | CRIs | UBS BB |
| KNCR11 | Kinea Rendimentos Imobiliários | Papel | CRIs CDI | Kinea Investimentos |
| HGCR11 | CSHG Recebíveis Imobiliários | Papel | CRIs (CDI + IPCA) | CSHG |
| ALZR11 | Alianza Trust Renda Imobiliária | Tijolo | Híbrido (logístico + corporativo) | Alianza Capital |