Um script de simulação de parte da dívida do RS usando Software R

 

 

 

 

 

 

Com a entrada em vigor do Regime de Recuperação Fiscal (RRF) houve a reestruturação da dívida do Estado do Rio Grande do Sul. O RS não tinha condições financeiras para honrar o pagamento das parcelas da dívida pública e se beneficiava de sua suspensão por decisões liminares junto ao Supremo Tribunal Federal entre o período de julho de 2017 e fevereiro de 2022.

## O núcleo do contrato

Seguindo os termos do novo regime fiscal, de acordo com o Art. 23 da LC 178, de 13/01/2021, a União celebrará um novo contrato com prazo de 360 meses para refinanciar os valores inadimplidos em decorrência de decisões judiciais proferidas em ações ajuizadas pelo ente subnacional. O saldo acumulado alcançou a R$ 17 bilhões, dependendo da data de sua atualização. No que concerne ao principal do contrato da Lei n.º 9.496/97, no valor de R$ 57 bilhões, haverá a redução extraordinária de prestação, com pagamentos escalonados a cada ano em 11,11% em 2023; 22,22% em 2024; e assim sucessivamente até 88,89% em dezembro de 2030; passando a ser integrais a partir de janeiro de 2031. A base legal para o escalonamento das prestações é o Art.9-A da LC 159, de 19/05/2017, que instituiu o RRF. Os valores não pagos das parcelas mensais serão agregados aos saldos existentes do Art. 23 da LC 178. Além do citado contrato, o governo estadual jogou o fluxo de pagamento do serviço de outros passivos contratuais (externos e internos) junto ao Banco Mundial, Banco Interamericano e BNDES para dentro desse regime até 2030. Novamente, volta-se a utilizar o expediente de uma conta acumuladora de parcelas não pagas, como ficou conhecida a antiga “Conta Resíduo”.

## O artigo “Como gerar uma dívida impagável: caso gaúcho”

Todo esse regramento envolve uma série de questões mais complexas, as quais podem ser modeladas com a utilização do bom e velho Excell. No artigo, “Como gerar uma dívida impagável: o caso gaúcho”, efetuei cálculos mais precisos, seguindo as regras apreendidas na área da dívida pública, bem como usando um pouco dos ensinamentos obtidos junto ao Banco Mundial.

Clique em [https://financasrs.com.br/2022/07/01/como-gerar-uma-divida-impagavel-o-caso-gaucho/]

## O exercício téorico usando o Software R

Como exercício teórico e aproveitando as linguagens do Software R e do RMarkdown, pode-se aprimorar o trabalho desenvolvido em planilhas Excell para os sistemas de amortização Price e SAC. Em diversos sítios eletrônicos podem ser encontradas diversas rotinas escritas em linguagem do R. Nesta exposição, apresenta-se um script para a estimação do Art. 23 da LC 178 e do Art.9-A da LC 159. Obviamente, trata-se de uma simulação teórica que segue as diretrizes básicas do RRF em um modelo a preços constantes. Serve como referência para aqueles se interessam pela aplicação de algoritmos em projeções de dívida.

Segue abaixo a rotina elaborada por este autor.

## A projeção do Principal da Lei n.º 9496/97

PV<-NULL
Juros<-NULL
Amort<-NULL
Prest<-NULL
Saldo<-NULL
PV<-58747.9817316
i<-4/1200
n<-310
Prest<-c(rep(0,n))
Juros<-c(rep(0,n))
Amort<-c(rep(0,n))
Saldo<-c(rep(0,n))
Prest[1]<-0
Juros[1]<- PV*i
Amort[1]<-0
Saldo[1]<-PV+Juros[1]
for(j in 2:6){
  Prest[j]<- 0
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-0
  Saldo[j]<-Saldo[j-1] + Juros[j]}
for(j in 7:18){
  Prest[j]<- 0.1111*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 19:29){
  Prest[j]<- 0.2222*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 30:42){
  Prest[j]<- 0.3333*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 43:54){
  Prest[j]<- 0.4444*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 55:66){
  Prest[j]<- 0.5555*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 67:78){
  Prest[j]<- 0.6666*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 79:90){
  Prest[j]<- 0.7777*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 91:102){
  Prest[j]<- 0.8888*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 103:310){
  Prest[j]<- Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
Principal.9496<-tail(cbind(Juros, Amort, Prest, Saldo), n=15L)
round(Principal.9496, digits = 2)
##        Juros  Amort Prest   Saldo
## [296,] 20.04 391.47 411.5 5619.54
## [297,] 18.73 392.77 411.5 5226.77
## [298,] 17.42 394.08 411.5 4832.69
## [299,] 16.11 395.39 411.5 4437.29
## [300,] 14.79 396.71 411.5 4040.58
## [301,] 13.47 398.03 411.5 3642.55
## [302,] 12.14 399.36 411.5 3243.19
## [303,] 10.81 400.69 411.5 2842.49
## [304,]  9.47 402.03 411.5 2440.47
## [305,]  8.13 403.37 411.5 2037.10
## [306,]  6.79 404.71 411.5 1632.39
## [307,]  5.44 406.06 411.5 1226.32
## [308,]  4.09 407.42 411.5  818.91
## [309,]  2.73 408.77 411.5  410.14
## [310,]  1.37 410.14 411.5    0.00

## Gráficos de projeção do Principal

plot.ts(Principal.9496, col= "red")

plot.ts(cbind(Juros, Amort, Prest, Saldo), nc=2)

plot.ts(cbind(Juros, Amort, Prest, Saldo), col= "red")

## A projeção da dívida segundo o Art.23 da LC 178, exclusive outras dívidas incorporadas

PV<-NULL
Juros<-NULL
Amort<-NULL
Prest<-NULL
Saldo<-NULL
PV<-18330.30121448
i<-4/1200
n<-360
Prest<-c(rep(0,n))
Juros<-c(rep(0,n))
Amort<-c(rep(0,n))
Saldo<-c(rep(0,n))
Prest[1]<-0
Juros[1]<- PV*i
Amort[1]<-0
Saldo[1]<-PV+Juros[1]
for(j in 2:6){
  Prest[j]<- 0
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-0
  Saldo[j]<-Saldo[j-1] + Juros[j]}
for(j in 7:18){
  Prest[j]<- 0.1111*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 19:29){
  Prest[j]<- 0.2222*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 30:42){
  Prest[j]<- 0.3333*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 43:54){
  Prest[j]<- 0.4444*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 55:66){
  Prest[j]<- 0.5555*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 67:78){
  Prest[j]<- 0.6666*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 79:90){
  Prest[j]<- 0.7777*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 91:102){
  Prest[j]<- 0.8888*Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
for(j in 103:360){
  Prest[j]<- Saldo[j-1]*((1+i)^(n-j+1)*i/((1+i)^(n-j+1)-1))
  Juros[j]<-i*Saldo[j-1]
  Amort[j]<-Prest[j]-Juros[j]
  Saldo[j]<-Saldo[j-1] - Amort[j]}
Art23.9496<-tail(cbind(Juros, Amort, Prest, Saldo), n=15L)
round(Art23.9496, digits = 2)
##        Juros  Amort  Prest   Saldo
## [346,]  5.60 109.39 114.99 1570.36
## [347,]  5.23 109.76 114.99 1460.60
## [348,]  4.87 110.12 114.99 1350.48
## [349,]  4.50 110.49 114.99 1239.99
## [350,]  4.13 110.86 114.99 1129.13
## [351,]  3.76 111.23 114.99 1017.90
## [352,]  3.39 111.60 114.99  906.30
## [353,]  3.02 111.97 114.99  794.33
## [354,]  2.65 112.35 114.99  681.98
## [355,]  2.27 112.72 114.99  569.26
## [356,]  1.90 113.10 114.99  456.16
## [357,]  1.52 113.47 114.99  342.69
## [358,]  1.14 113.85 114.99  228.84
## [359,]  0.76 114.23 114.99  114.61
## [360,]  0.38 114.61 114.99    0.00

## Os Gráficos do Art.23 da LC 178

plot.ts(Art23.9496, col= "red")

plot.ts(cbind(Juros, Amort, Prest, Saldo), nc=2)

plot.ts(cbind(Juros, Amort, Prest, Saldo), col= "red")

Por fim, as sugestões quanto ao script proposto podem ser encaminhadas ao site.

Autor

Facebook
LinkedIn
Telegram
WhatsApp
Email
plugins premium WordPress