Riesgo soberano y bancos domésticos
puremacro.sovereign.banking resuelve una economía contractual de tres fechas.
El default del gobierno reduce el patrimonio bancario antes de la oferta de
crédito privado. Inversionistas externos valoran las decisiones de pago, y el
gobierno elige deuda sobre una malla finita declarada. Se conservan todos los
equilibrios puros de precio/default; el usuario selecciona explícitamente
el precio mayor o menor en cada nivel de deuda.
Es un modelo experimental separado. No incorpora bancos al solver recursivo de Arellano. La exposición doméstica es obligatoria, el capital bancario del hogar está inmovilizado y el hogar no ahorra ni se endeuda directamente. Estas restricciones son supuestos del modelo, no comportamientos estimados. Los bancos obtienen financiamiento externo seguro después de la decisión soberana, sujeto a un límite de apalancamiento. No hay recapitalización, default selectivo, corridas bancarias, emisiones recurrentes ni solución de equilibrios mixtos.
Resolver e inspeccionar
import numpy as np
from puremacro.sovereign import (
SovereignBankingParameters, solve_sovereign_banking,
audit_sovereign_banking,
)
result = solve_sovereign_banking(
income=[0.7, 1.0, 1.3],
productivity=[0.6, 0.9, 1.2],
probabilities=[0.25, 0.50, 0.25],
debt_grid=np.linspace(0.0, 0.6, 51),
parameters=SovereignBankingParameters(domestic_share=0.4),
price_selection="highest",
)
assert audit_sovereign_banking(result)["accepted"]
print(result.equilibria_frame().query("selected"))
print(result.to_frame()[["bank_equity", "credit", "consumption1", "consumption2"]])
print(result.debt_frame().query("multiple"))
assert len(result.candidates_frame()) == 51 * 2**3
equilibria_frame() conserva cada precio consistente, probabilidad de default,
utilidad del hogar y crédito esperado. debt_frame() registra multiplicidad,
ausencia de equilibrios puros y el índice seleccionado (-1 si no existe).
candidates_frame() conserva todas las máscaras rechazadas y sus motivos.
to_frame() presenta las cuentas realizadas con la deuda/precio elegidos, una
fila por estado conjunto de ingreso/productividad. Las tablas son copias nuevas;
los arreglos almacenados tienen memoria propia y son de solo lectura. Se admiten
informes Markdown, LaTeX y Typst.
counterfactual_frame() fuerza pago y default con la misma deuda y precio
contratados. Son comparaciones contables condicionales, no nuevos equilibrios
con precios recalculados. El pago inviable conserva su consumo no positivo,
feasible=False y utilidad logarítmica ausente. Las asignaciones seleccionadas
tienen consumo positivo y utilidad finita. sovereign_bank_accounts() ofrece
el mismo cálculo condicional para un contrato especificado por el usuario.
Fechas, propiedad y financiamiento
Todos los stocks y flujos usan un bien. (R>0) es el retorno seguro bruto por fecha; (0<\beta\leq1) descuenta la utilidad. Los hogares son propietarios de bancos y empresas. Los estados conjuntos ((Y,a)) tienen probabilidades positivas y se observan en la fecha 1. La productividad (a) determina el producto de los proyectos en la fecha 2 y se conoce antes de prestar.
En la fecha 0, el ingreso es (Y_0) y el capital bancario fijo es (E_0<Y_0). El gobierno emite valor facial (B\geq0) a precio (q), transfiere los recursos al hogar y exige que los bancos domésticos mantengan la fracción (0\leq s<1) de la deuda. Los bancos pagan (qsB) y ahorran el resto en un activo externo seguro:
Los acreedores soberanos externos compran el resto. La restricción (s<1) mantiene un acreedor externo marginal que determina el precio común. Los bancos no pueden endeudarse en la fecha 0 ni recibir capital adicional del hogar en la 1.
En la fecha 1, el gobierno elige default completo (d=1) o pago (d=0). El pago impone al hogar un impuesto ((1-d)B). Una penalización exógena separada destruye la fracción \(\phi\) del ingreso corriente en default:
El patrimonio bancario se mide después de liquidar la deuda. Dado el mismo contrato inicial, el default lo reduce exactamente en (sB). Esta pérdida no se resta otra vez del ingreso: sus consecuencias reales surgen por el crédito y los rendimientos futuros. La penalización exógena \(\phi dY\) se registra por separado y puede fijarse en cero.
Los bancos financian proyectos competitivos con producción (F(L)=a\log(1+L/k)), donde (k>0) es una escala de crédito. Obtienen financiamiento externo (D) a retorno (R), pero los préstamos no pueden exceder \(\lambda E_1\), con \(\lambda\geq1\). La asignación del mercado de crédito es
La tasa bruta del préstamo es \(r_L=\max\{R,a/(k+L)\}\). Sin demanda de crédito, la tasa cotizada es (R). Si el patrimonio es cero y hay proyectos rentables, el crédito es cero y se cotiza (a/k). El financiamiento (D) es un pasivo bancario externo, no un depósito del hogar ni una garantía gubernamental. Los rendimientos de los proyectos se conocen al prestar y cubren ese pasivo. (S) es el activo seguro del banco. Su balance es (L+S=E_1+D).
En la fecha 2 se liquidan los bancos. Las utilidades de la empresa son (F-r_LL), los dividendos bancarios (r_LL+RS-RD), y el ingreso terminal del hogar es (Y_2>0):
El soberano elige en la fecha 1 para maximizar \(\log C_1+\beta\log C_2\). En la fecha 0 maximiza \(\log C_0+\beta\mathbb E[\log C_1+\beta\log C_2]\). Estos valores de utilidad comparan las asignaciones de consumo especificadas en este modelo; no son estimaciones empíricas de bienestar.
Precios, multiplicidad y alcance numérico
Para cada punto de deuda y cada una de las (2^n) máscaras de default por estado, se fija \(q=\sum_j p_j(1-d_j)/R\). Se recalculan ambas acciones del gobierno a ese precio y se conserva la máscara si las decisiones coinciden y (A_0\geq0). El precio afecta las reservas bancarias; puede haber más de un precio consistente. Se conservan los equilibrios de default total con (q=0): esa deuda no obtiene recursos. La ausencia de equilibrios puros no se reemplaza por interpolación ni por una solución mixta.
price_selection="highest" o "lowest" selecciona un precio por nivel de
deuda disponible. Después el gobierno elige el mejor punto de la malla. La
selección es un supuesto explícito, no un resultado de unicidad económica.
Se elige pago cuando la ganancia de default no supera decision_tolerance
(por defecto 1e-12, intervalo permitido [0,1e-8] en utilidad logarítmica).
Los empates exactos de utilidad en fecha 0 eligen la deuda menor. La auditoría
registra la mayor ganancia por desviarse de la decisión y los casi empates.
Se informa contacto con el límite superior de deuda. Una malla finita no
establece el óptimo continuo ni un equilibrio de horizonte infinito.
Los insumos son vectores reales finitos. La deuda comienza en cero exacto y
crece estrictamente. Las probabilidades son positivas y suman uno con tolerancia
1e-12; se normalizan las sumas dentro de ese margen de redondeo. Se admiten
hasta 12 estados y 200,000 pares deuda/máscara. Se rechazan carteras inviables;
el desbordamiento numérico genera un error, sin truncar resultados.
Cuentas y límites de referencia
La auditoría escalar independiente reconstruye cada máscara de precio y decisión por estado, asignaciones, selección declarada y optimalidad discreta de deuda. Comprueba presupuestos de bancos, gobierno y hogares, restricciones y complementariedad del crédito y las tres identidades de recursos:
La tolerancia de auditoría predeterminada es 1e-9; las comparaciones numéricas
dividen el error entre 1 + abs(reference). Comprueba ecuaciones y malla finita,
sin acotar el error de aproximación económica. Pruebas independientes optimizan
numéricamente el excedente de crédito y recuperan todos los equilibrios de
ejemplos pequeños.
Con exposición doméstica cero, el patrimonio bancario es (RE_0) bajo ambas acciones y hay default si y solo si (B>\phi Y), salvo la tolerancia de empate declarada. Se recupera la base correspondiente de tres fechas, no el modelo recursivo de Arellano. Si ambas restricciones de crédito son vinculantes, el default condicional reduce el crédito en \(\lambda sB\). Si ambas asignaciones son irrestrictas, el crédito puede no cambiar. Estas referencias distinguen pérdidas soberanas de pérdidas de crédito.
Reproducir la ilustración
python -m puremacro.examples.sovereign_banking --output banking-en --lang en
python -m puremacro.examples.sovereign_banking --output banking-es --lang es
El ejemplo sintético fijo de tres estados compara exposiciones (s=0,.2,.4,.6),
ambas selecciones de precio y mallas de 51/101/201 nodos de deuda en [0,.6].
Guarda candidatos, equilibrios, cuentas, arreglos exactos, huellas, auditorías y
comparaciones entre mallas. Un panel de estrés contractual separado fija
B=.25, q=.8; explícitamente no recalcula precios de equilibrio. Se conservan
los incumplimientos de los criterios de refinamiento. La distribución de estados
es fija: las comprobaciones refinan solamente la malla de deuda.
El mecanismo de balances está motivado por Gennaioli, Martin y Rossi, Sovereign Default, Domestic Banks, and Financial Institutions. Las fechas, tecnología, carteras obligatorias y reglas de selección anteriores definen esta implementación; no replica las carteras óptimas de ese artículo.