Quick Search:
 
 PHP Code: Financial management functions Jump to:  
Category: >> PHP Code >> Financial management functions  

<< lastnext >>

Snippet Name: Financial management functions

Description: A suite of financial management functions, including present and future value of an annuity and a loan payment calculation function.

Comment: (none)

Language: PHP
Highlight Mode: PHP
Last Modified: March 01st, 2009

<?PHP 
 
/* 
 
VARIABLES: 
 
$m  =  number  of  periods  per  year.    For  instance,  if  you  are  For   
instance,  if  you  are  making  payments  monthly  then  this  number  is  12. 
$n  =  total  number  of  periods.    For  instance,  if  you  are   
compounding  monthly  for  5  years,  this  number  would  be  60  (12  months   
x  5  years). 
$R  =  annual  interest  rate  (represented  as  a  decimal,  8%  =  .08) 
$pmt  =  first  or  re-occuring  payment  or  receipt  (this  number  cannot   
vary  for  differing  cash  flows) 
$principal  =  present  value  of  an  annuity,  or  current  principal  of  a   
loan  used  in  the  PaymentCalc  function 
 
*/ 
 
//  present  value  of  an  Annuity   
//  uses  include  defining  Remaining  Principal  of  a  loan/mortgage 
 
FUNCTION  PVannuity  ($m,$n,$R,$pmt)  { 
 
        $Z  =  1  /  (1  +  ($R/$m)); 
        RETURN  ($pmt  *  $Z  *  (1  -  POW($Z,$n)))/(1  -  $Z); 
 
} 
 
//  Given  the  compounding,  principal,  interest  rate,  you  can  calculate   
the  monthly  payment 
 
FUNCTION  PaymentCalc  ($m,$n,$R,$principal)  { 
 
        $Z  =  1  /  (1  +  ($R/$m)); 
        RETURN  ((1  -  $Z)  *  $principal)  /  ($Z  *  (1  -  POW($Z,$n))); 
 
} 
 
//  future  value  of  an  Annuity 
 
FUNCTION  FVannuity  ($m,$n,$R,$pmt)  { 
 
        RETURN  $pmt  *  ((POW((1  +  $R/$n),$m)  -  1)/($R/$n)); 
 
} 
 
//  present  value  of  a  single  payment 
 
FUNCTION  PVsingle  ($m,$n,$R,$pmt)  { 
 
        RETURN  $pmt  *  POW((1  +  $R/$m),-$n); 
 
} 
 
//  future  value  of  a  single  payment 
 
FUNCTION  FVsingle  ($m,$n,$R,$pmt)  { 
 
        RETURN  $pmt  *  POW((1  +  $R/$m),$n); 
 
} 
 
//  future  value  of  a  single  payment  with  continuous  compounding 
 
FUNCTION  FVperp  ($m,$n,$R,$pmt)  { 
 
        RETURN  $pmt  *  EXP($R  *  ($n/$m)); 
 
} 
 
?> 
 


 
   Home |    Search |    Code Library |    Sponsors |    Privacy |    Terms of Use |    Contact Us © 2003 - 2024 psoug.org