Geoestatística e Scripts em R

Script – Como Calcular a Redução de Prazo de Financiamento na Tabela Price Após Amortização Extra

A explicação do script a seguir está no artigo Como Calcular a Redução de Prazo de Financiamento na Tabela Price Após Amortização Extra

options(digits=10)
PV=120000.00          #valor do emprestimo
i=(1.07)^(1/12)-1     #convertendo taxa anual para mensal
n=120                 #tempo em meses
npa=6                 #amortizacao extra a partir da 6a parcela
Vamort=20000.00       #Valor da amortizacao extra
Juros=c(rep(0,n))     #inicializacao do vetor de juros
Amort=c(rep(0,n))     #inicializacao do vetor de amortizacao
Saldo=c(rep(0,n))     #inicializacao do vetor do saldo devedor
#calculo do PMT
PMT=round(PV*(1+i)^n*i/((1+i)^n-1),2)
PMT
Juros[1]=PV*i
Amort[1]=PMT-Juros[1]
Saldo[1]=PV-Amort[1]
for (j in 2:n){
  Juros[j]=i*Saldo[j-1]
  Amort[j]=PMT-Juros[j]
  Saldo[j]=Saldo[j-1]-Amort[j]
}
Price=cbind(Juros,Amort,Saldo)
round(Price,2)
#amortizacao extra apos o pagamento da npa parcela
PV=Saldo[npa-1]-Vamort  #saldo devedor referente a (npa-1)a parcela
R=PMT/PV
n1=ceiling(log(R/(R-i))/log(1+i))
n1
#proxima prestacao apos amortizacao
PMT=round(PV*(1+i)^n1*i/((1+i)^n1-1),2)
print(c(PV,PMT))
j1=n-n1+1
j1
#zera os vetores entre npa e (j1-1)
for (j in npa:(j1-1)){
  Juros[j]=0
  Amort[j]=0
  Saldo[j]=0
}
Juros[j1]=PV*i
Amort[j1]=PMT-Juros[j1]
Saldo[j1]=PV-Amort[j1]
for (j in (j1+1):n){
  Juros[j]=i*Saldo[j-1]
  Amort[j]=PMT-Juros[j]
  Saldo[j]=Saldo[j-1]-Amort[j]
}
Price=cbind(Juros,Amort,Saldo)
round((Price),2)

Comments

Deixe um comentário