Sensibilidade de juros — quanto da Selic chega à ponta PJ?
Pass-through ADL, VAR com IRF Cholesky e previsão SARIMA do custo de crédito PJ a partir da Selic, com bandas bootstrap e diagnósticos HAC.
Pipelinecont_lab_06_sensibilidade_jurosrodado em2026-05-26. Universo: série mensaljuros_pj(BCB SGS 20722) contraselic_meta(SGS 432),credito_pj_saldo(SGS 20542) einad_pj(SGS 21088). Janela efetiva após limpeza e diferenciação: 2011-03 a 2019-08 (102 observações mensais). Os números abaixo refletem essa amostra — pontos posteriores foram excluídos pelodropna()de alinhamento entre as séries publicadas.
Sumário executivo
- Pass-through de longo prazo: cada 1 pp permanente na Selic eleva o custo de crédito PJ em ≈ 16,9 pp no equilíbrio do ADL — a persistência autoregressiva (γ̂ = 0,939) amplifica a soma simples dos β (Σβ = 1,03 pp/pp).
- Pass-through imediato é fraco e ruidoso: β₀ = 0,36 pp/pp não-significativo (p = 0,36). O repasse só ganha tração no lag 2 mensal, com β₂ = 0,94 pp/pp (p = 0,0006).
- VAR Cholesky confirma: choque de +1 σ na Selic produz resposta contemporânea de +0,21 pp no juros PJ (IC 95% [0,06; 0,32]); depois disso, as bandas atravessam o zero — efeito direto não persiste além de 1 trimestre.
- Crédito e inadimplência reagem pouco à Selic no horizonte 12m: IRFs cruzando zero com ICs largos. O canal direto Selic → saldo de carteira PJ é estatisticamente indistinguível de ruído nesta amostra.
- Spread bancário PJ atual (12,52 pp) está no percentil 95 da distribuição histórica 2011–2019 — sinal de prêmio de risco elevado que o ADL não consegue explicar só por Selic.
- Previsão SARIMA(1,1,1)(1,1,1)₁₂ do juros PJ aponta média de 17,47% a.a. para os próximos 12 meses (IC 95% [12,5; 22,7] na ponta longa).
1. Spread bancário PJ — onde estamos na distribuição
O spread juros_pj − selic_meta mede o quanto o sistema bancário cobra acima do custo de oportunidade da política monetária. O teste ADF rejeita raiz unitária (estatística −4,04; p = 0,0012; valor crítico 5% = −2,89): o spread é estacionário em torno de uma média de longo prazo, o que justifica analisá-lo em nível.
| Estatística | Valor (pp) |
|---|---|
| Média histórica | 10,84 |
| Mediana | 10,78 |
| p5 | 9,49 |
| p95 | 12,43 |
| Último observado | 12,52 |
| Percentil do último | 95,1% |
O ponto atual está acima do p95 — situação tipicamente associada a ciclos de elevação recente da Selic ainda em repasse, ou a deterioração da percepção de risco PJ.

2. ADL pass-through — quanto da Selic chega aos juros PJ
Modelo principal estimado via OLS com erros HAC (Newey-West, 4 lags):
$$ \text{juros\_pj}_t = \alpha + \sum_{j=0}^{4} \beta_j \cdot \Delta \text{selic}_{t-j} + \gamma \cdot \text{juros\_pj}_{t-1} + \varepsilon_t $$
Diagnósticos: R² = 0,927, R²ajust = 0,922, DW = 2,43, Jarque-Bera p = 0,23 (resíduos não rejeitam normalidade), Breusch-Pagan p = 0,88 (homocedásticos). γ̂ = 0,939 — alta persistência inercial no nível dos juros PJ.
| lag | β (pp/pp) | EP (HAC) | p-valor | PT acumulado |
|---|---|---|---|---|
| 0 | 0,358 | 0,391 | 0,360 | 0,358 |
| 1 | −0,420 | 0,251 | 0,094 | −0,063 |
| 2 | 0,935 | 0,272 | 0,0006 | 0,873 |
| 3 | 0,045 | 0,285 | 0,875 | 0,918 |
| 4 | 0,111 | 0,262 | 0,670 | 1,029 |
O padrão é informativo: o repasse contemporâneo é fraco e ruidoso (β₀ não-significativo, sinal positivo mas com EP maior que o coeficiente). O grosso da transmissão acontece no lag 2 mensal, o que é compatível com o ciclo bancário típico — repactuação de capital de giro e atualização de tabelas de risco demoram cerca de 8 semanas para incorporar a decisão do Copom.
A soma simples dos β é praticamente 1 pp por pp de Selic, mas o PT_LR = Σβ / (1 − γ̂) ≈ 16,9 captura a amplificação inercial: como γ̂ está próximo de 1, qualquer aumento permanente da Selic se propaga e se acumula no nível de juros PJ por muitos meses.
Atenção interpretativa: PT_LR dessa magnitude indica que o modelo ADL é dinamicamente quase explosivo — γ̂ próximo de 1 dentro da amostra é exatamente a fronteira em que o estimador de longo prazo perde robustez. A previsão pontual de 16,9 pp por pp de Selic deve ser lida como ordem de grandeza, não como elasticidade rígida.

3. VAR Cholesky — propagação além do canal de preço
Sistema em primeiras diferenças com ordenação causal Selic → Juros PJ → ln(Crédito PJ) → Inad PJ, lag selecionado por AIC = 3, n = 101 observações úteis, 200 réplicas bootstrap para os ICs.
IRF: choque de +1 σ em Δ Selic →
| Horizonte | Δ Juros PJ (pp) | IC 95% | Δ ln Crédito (×10⁻³) | IC 95% | Δ Inad PJ (pp) | IC 95% |
|---|---|---|---|---|---|---|
| h=0 | +0,210 | [+0,062; +0,318] | +0,04 | [−1,32; +1,56] | +0,017 | [−0,015; +0,055] |
| h=3 | +0,069 | [−0,123; +0,168] | −0,36 | [−1,66; +1,02] | +0,009 | [−0,024; +0,048] |
| h=6 | +0,076 | [−0,047; +0,170] | −0,50 | [−1,50; +0,67] | +0,011 | [−0,014; +0,041] |
| h=12 | +0,028 | [−0,029; +0,077] | −0,38 | [−1,03; +0,37] | +0,008 | [−0,011; +0,021] |
A única resposta cuja banda não cruza zero é a contemporânea Selic → Juros PJ (h=0). Tudo o mais — propagação para crédito e inadimplência — tem IC 95% atravessando zero. Em palavras: o VAR não consegue afirmar, com a amostra disponível e ordenação Cholesky padrão, que choques na Selic produzem efeitos detectáveis em saldo de carteira ou inadimplência PJ no horizonte 12m. Isso pode refletir: (i) janela pequena (102 obs), (ii) endogeneidade não capturada (Selic responde a crédito/inad), ou (iii) que o canal dominante é via condições gerais de financiamento (ETTJ, spread externo), não diretamente da Selic-meta.

4. Previsão SARIMA do juros PJ (h = 12)
Modelo: SARIMAX(1,1,1)(1,1,1)[12], AIC = 213,8, BIC = 225,4.
| Mês | Previsão (% a.a.) | IC 95% inf | IC 95% sup |
|---|---|---|---|
| 2019-09 | 17,56 | 15,82 | 19,29 |
| 2019-12 | 16,98 | 13,94 | 20,02 |
| 2020-03 | 17,89 | 13,95 | 21,83 |
| 2020-06 | 17,17 | 12,50 | 21,84 |
| 2020-08 | 17,58 | 12,48 | 22,67 |
| Média h1–h12 | 17,47 | — | — |
O ARIMA captura sazonalidade anual e tendência local; a banda se abre rapidamente no horizonte longo (≈ ±5 pp), o que é honesto dada a volatilidade observada nos cortes de 2017–2019. O ponto a reter: mesmo a previsão central fica acima dos 17% a.a., consistente com o ciclo de juros PJ teimosamente alto da amostra.

5. Implicações para PMEs
- Repasse não é instantâneo, mas é grande. Empresário que vê o Copom cortar 1 pp não deve esperar alívio no boleto do mês seguinte — o pass-through significativo aparece com 2 meses de defasagem, e a inércia (γ̂ ≈ 0,94) faz o repasse pleno demorar muito mais.
- Selic explica preço, não volume. As IRFs sobre
ln(crédito)einadnão diferem de zero — o canal de quantidade é dominado por outros fatores (apetite de risco bancário, política de garantias, ETTJ longa). Para tese de produto PME, isso reforça a importância de monitorar spread e ETTJ, não só Selic isolada. - Spread no p95 sinaliza que há um prêmio adicional não atribuível a política monetária. Em ambiente de spread comprimido (p50), modelos de score baseados em Selic dão precificação plausível; com spread no topo histórico, é preciso recalibrar.
- A janela 2011–2019 não cobre o ciclo recente. Estender a amostra (pendência operacional do pipeline) deve mudar magnitudes — em particular o PT_LR é sensível a γ̂, e γ̂ caiu globalmente em economias com Selic mais reativa. Próxima iteração do lab vai re-rodar com a janela cheia até 2026.
Fontes primárias
- BCB SGS — séries
432(Selic meta),20722(juros PJ),20542(saldo crédito PJ),21088(inadimplência PJ >90d),433(IPCA). Endpoint:https://api.bcb.gov.br/dados/serie/bcdata.sgs.{cod}/dados. - BCB Focus — Olinda OData, expectativas anuais Selic/IPCA para 2026–2027.
- ANBIMA ETTJ — curva PREF zero-cupom diária (vértices 21, 63, 126, 252, 504, 756, 1260 du).
- IBGE — IPCA mensal para deflacionamento e cross-check de inflação esperada.
- RFB — base CNPJ pública (universo de referência das PMEs analisadas no eixo macro-PME).
Reprodutibilidade
Código completo em lab/labs/cont_lab_06_sensibilidade_juros/. Pipeline:
`` uv run python code/collect.py # baixa SGS + Focus + ETTJ uv run python code/clean.py # alinha mensal, deriva spread/ln_credito uv run python code/model.py # ADL + VAR + ARIMA uv run python code/figures.py # fig1..fig4 ``
Artefatos persistidos: outputs/resultado.parquet (208 linhas: 4 var × 4 var × 13 horizontes IRF) e outputs/metrics.json (descritivas, coefs ADL, IRFs-chave, forecast ARIMA). Diagnósticos brutos em notes/collect_log.md e plano original em notes/plano_execucao.md.