Calcoli scientifici con Julia/Mutui e prestiti

Trattazione matematica

modifica

Al 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

modifica

Calcolare 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