Calcoli scientifici con Julia/Mutui e prestiti
Trattazione matematica
modificaAl tempo t=0 viene erogato un mutuo d'importo . Tale somma viene restituita con rate costanti di importo R pagate a partire dal tempo t=1 pertanto se si considera l'anno come unità di misura allora R è la rata annuale (conoscendo la rata mensile basta moltiplicarla per 12).
Indicando con r il tasso di interesse costante con il quale viene calcolato l'interesse su debito residuo si ha che:
Calcolando cioè il mutuo dopo 1 anno si ha:
Calcolando cioè il mutuo dopo 2 anni si ha:
Calcolando cioè il mutuo dopo 3 anni si ha:
Pertanto il mutuo al tempo t sarà:
Posto:
Riscriviamo come:
Moltiplicando ambo i membri dell'equazione per si ha:
Sommando membro a membro le 2 equazioni si ottiene:
Da cui si ricava:
Allora il mutuo al tempo t risulta uguale a:
Considerando la successione continua se ne può calcolare la derivata per vedere quando è crescente o decrescente. Pertanto risulta:
per cui la derivata è positiva e la funzione è crescente per e quindi in tal caso il mutuo non si estinguerebbe mai, mentre per la derivata è negativa, la funzione è decrescente per cui dopo un certo tempo il mutuo si estingue.
Volendo calcolare dopo quanto tempo il mutuo si estingue bisogna imporre la condizione:
da cui si ottiene l'equazione esponenziale:
pertanto passando ai logaritmi si ottiene che il tempo in corrispondenza del quale il mutuo si estingue è:
mentre la rata annuale per estinguere il mutuo in un tempo annuale al tasso di interesse r è:
Esempio di calcolo con Julia
modificaCalcolare la rata mensile di un mutuo di 100.000€ al tasso del 2% in 20 anni. Si ottiene una rata mensile di 505,88€ :
function rata_di_un_mutuo_o_prestito()
M=100000;
t=20*12;
r=0.02/12;
print("La rata mensile di un mutuo o prestito di $M € in 20 anni con un tasso di interesse del 2% è:")
println((M*r*(1+r)^t) /((1+r)^t-1))
end
rata_di_un_mutuo_o_prestito()
La rata mensile di un mutuo o prestito di 100000 € in 20 anni con un tasso di interesse del 2% è:505.8833350451077
Calcolare gli anni necessari affinché un mutuo di 136.000€ al tasso del 3,5% con una rata mensile di 616€ si estingua. Si ottiene un tempo di 30 anni:
function tempo_di_estinzione_mutuo_o_prestito()
M=136000;
R=616*12;
r=0.035;
print("Un mutuo o prestito di $M € con un tasso di interesse del 3,5% e una rata mensile di 616€ si estingue in anni:")
println(log(R/(R-M*r))/log(1+r))
end
tempo_di_estinzione_mutuo_o_prestito()
Un mutuo o prestito di 136000 € con un tasso di interesse del 3,5% e una rata mensile di 616€ si estingue in anni:30.017775988227683
Volendo infine calcolare il tasso di interesse annuo di un mutuo di 136.000€ con una rata mensile di 616€ per 30 anni, utilizzando la libreria Roots si ottiene un tasso pari a r=0,035 = 3,5%:
using Roots
M=136000;
R=616*12;
t=30;
y(r)=-R +(M*r*(1+r)^t) /((1+r)^t-1);
find_zero(y,0.1)
0.034973001159437175