#!/usr/bin/perl -W use strict; my $imposicion = 500; # euros my $periodo = 4; # trimestral my $interes_anual = 0.02187; # orientativo inicial, puede ser 0 my $interes_p = $interes_anual / $periodo; my $N = 5*$periodo+1+0; # datos actuales: años completos + pago Nov. 2008 + 3 en 2013 # $objetivo = 8882.02; # saldo real actual # $objetivo = 9968; # 3/6/13 my $objetivo = 11016.46; # 10/01/14 my $fin = 2008+6; # horizonte temporal my $ok=0; my $saldo=0; my ($mes, $anno, $i, $nominal); print "Interés del período:\n"; while ($ok==0){ if ($saldo>$objetivo) { $interes_p -= rand()/10000000; }elsif ($saldo<$objetivo) { $interes_p += rand()/10000000; }else{ print "(exact)\n"; } print "\r$interes_p"; inicio: $mes = 11; # inicio $anno = 2008; $saldo= $i = $nominal = 0; print "\nN\t Tiempo \t Nominal -> SALDO\n" if $ok==1; while (1){ $i++; $nominal += $imposicion; $saldo += $imposicion + $interes_p * $saldo; print "$i\t 1/$mes/$anno\t $nominal\t -> $saldo\n" if $ok>=1; if ($i == $N) { last if ($saldo<$objetivo-.0000001 || $saldo>$objetivo+.0000001); if ($ok==1){ print "Nominales depositados: $nominal\n"; print "-" x 52, "\n" ; } $ok++; goto inicio if $ok==1; } $mes += 3; # trimestral if ($mes > 12) { $mes -=12; $anno++; } last if ($anno > $fin); } } print "Interés nominal anual = "; printf "%.9f\n" , $interes_p*$periodo; print "TAE correspondiente = "; printf "%.9f\n\n" , ((1+$interes_p)**$periodo)-1; __END__ Este es un ejemplo de cómo calcular el interés nominal implícito de un fondo de ahorro. Los datos están tomados de un caso real