Está en la página 1de 14

AO DE LA INVERSION PARA EL DESARROLLO RURAL Y LA SEGURIDAD ALIMENTARIA

FACULTAD : INGENIERIA DE MINAS, GEOLOGIA Y CIVIL

ESCUELA : INGENIERIA DE SISTEMAS

NOMBRE : AGUILAR CHAVARRIA, DEYBIS ALARCON BELLIDO, FRAY HERNAN FERNANDEZ HUAYTALLA, OMAR PROFESOR :

CURSO : INGENIERIA ECONOMICA

SEMESTRE : 2013-I

AYACUCHO PERU 2013

5.1.- Definicin de Amortizacin o Prstamos de Capitales Llamamos as a toda operacin financiera compuesta de prestacin nica y contraprestacin mltiple con vencimiento posterior (aunque existen otras variantes que enumeraremos ms tarde). La operacin de amortizacin de capital tiene por objeto a amortizacin de una deuda mediante la entrega de una sucesin de pagos escalonados en el tiempo. Generalmente se conciertan entre personas fsicas o jurdicas y las Entidades de Crdito. Es la operacin contraria a la constitucin.

En esta operacin intervienen los siguientes elementos:


C0: Capital prestado o a amortizar. as: Trminos amortizativos que entrega el prestatario para amortizar la deuda. i: Tipo de inters de la operacin. Cn: Capital prestado valorado al final de la operacin. n: Duracin de la operacin.

5.1.1.- Clculo de los trminos amortizativos Si suponemos que los tipos de inters son constantes y que los trminos amortizativos son constantes, el calculo de los trminos se podr hallar por medio de la igualdad entre prestacin y contraprestacin: C0= a (1+i)-1+a(1+i)-2+...+a(1+i)-n De tal forma que si despejamos "a": a=C0/[(1+i)-1+a(1+i)-2+...+a(1+i)-n] = C0 [(1+i)1+a(1+i)2+...+a(1+i)n] Si ahora supones que el prstamo se devuelve en con una sola contraprestacin al final de la operacin obtendremos (a esta operacin tambin se le llama descuento compuesto racional): C0= a(1+i)-n = Cn (1+i)-n En este caso el trmino amortizativo sera igual a la totalidad a devolver, es decir al capital final: a = Cn = C0 (1+i)n Ejemplo: Si quisiramos calcular el valor de la cancelacin de un prstamo a 15 aos de 500.000 Euros que tenemos concedido a un tipo de inters compuesto del 5 por ciento anual (

teniendo en cuenta que la cancelacin de la operacin que vence dentro de cinco aos ser por el nominal ms los intereses acumulados hasta el momento ) deberamos hacer lo siguiente. Cn = 500.000 (1 + 5%)10 = 814.447.3134 5.1.2.- Clculo de los intereses Los siguientes clculos los realizaremos en el caso de que la contraprestacin sea nica, es decir se devolver el capital prestado mediante una entrega al final de la operacin. Cn = C0 +I ; I = Cn- C0= Cn - Cn (1+i)-n = Cn (1- (1+i)-n) o bien I= Cn- C0= C0 (1+i)n- C0= C0 ((1+i)n-1) 5.1.3.- Clculo del tipo de inters Seguiremos el mismo procedimiento que en los apartados anteriores, es decir despejando de la igualdad principal:

5.2.- Descuento compuesto comercial Para sustituir un capital futuro por otro con vencimiento presente utilizaremos la ley financiera del descuento compuesto que no es sino la operacin inversa a la capitalizacin compuesta. Los elementos que debemos considerar para estas operaciones son los siguientes:

Cn = Flujo Nominal o cantidad al vencimiento. Co = Efectivo o cantidad presente. D = Descuento total, la diferencia entre el nominal y el efectivo. Los intereses I. n = El periodo de tiempo transcurrido entre el momento de efectivo y el vencimiento. d = Tipo de descuento, es el tipo de inters anual que se aplica sobre el valor nominal, en funcin del plazo de la operacin, para obtener el efectivo de la compra. i = Tipo de inters anual.

Si quisiramos por ejemplo cobrar anticipadamente un capital cuyo vencimiento se fuera a producir dentro de un nmero determinado de aos, la cantidad que recibiramos sera el valor actual o valor presente del mismo, ya se obtenga ste por aplicacin del tipo de inters i o ya por el descuento d. En el caso de que aplicramos el tipo de inters i el descuento total obtenido lo llamaremos Descuento Matemtico Real o Racional y si aplicramos el tanto de descuento del descuento total obtenido lo llamaremos Descuento Comercial. Llamamos descuento comercial a los intereses que genera el capital nominal desde el momento deliquidacin de efectivo hasta su propio vencimiento. Por tanto, el clculo de los intereses se hace sobre el nominal.

5.2.1.- Clculo del valor actual Tenemos un capital nominal Cn al que se le aplica un tipo de descuento d. El valor actual Co ser por lo tanto:

El valor del capital disponible al final del ao n: Cn El valor del capital disponible al final del ao n- 1: Cn-1 = Cn - Cn d = Cn (1 d) El valor del capital disponible al final del ao n-2: Cn-2 = Cn-1- Cn-1 d = Cn-1 (1 d); Cn-2 = Cn (1 -d) (1 -d) = Cn-1 ( 1 - d )2 El valor del capital disponible al final del ao n-3: Cn-3 = Cn-2 - Cn-2 d = Cn-2 (1 d); Cn-3 = Cn ( 1 d )2 ( 1 d )= Cn ( 1 - d )3 Y as, el valor del capital en el origen Co ser: Co = Cn ( 1 - d )n

5.2.2.- Clculo del descuento Se trata de los intereses calculados sobre el nominal en funcin del tiempo que falta hasta su vencimiento. El descuento total es la diferencia entre el nominal y el efectivo D = CnCo. Como ya conocemos el valor de Co: Co = Cn ( 1 d )n sustituyendo: D = Cn - Cn ( 1 d )n = Cn [ 1 - ( 1 d )n ] 5.2.3.- Clculo del valor nominal Tambin en este caso partimos de la frmula Co = Cn (1 - d)n y despejando el nominal Cn tenemos que: Cn = Co / ( 1 - d )n 5.2.4.- Clculo del tipo de descuento Una vez ms partiremos de la frmula Co = Cn (1 - d)n y despejamos d:

5.2.5.- Clculo del tiempo

En esta ocasin partiremos de la frmula Co = Cn (1 - d)n y despejamos n: n= [log Co - log Cn]/ log (1-d)z 5.3.- Enumeracin de los distintos Mtodos de Amortizar Capitales

Mtodo de Amortizacin del Sistema Americano: En este tipo de amortizacin el prestatario entrega al prestamista en cada ejercicio tan solo los intereses generados por el Capital prestado, y en el ltimo periodo entrega los intereses generados en ese periodo y el Capital prestado.

Mtodo de Amortizacin Francs: En este tipo de amortizacin el prestatario entrega al prestamista en cada ejercicio una cantidad constante con la que se cubren los intereses generados y parte del principal a amortizar.

Mtodo de Amortizacin de cuota de amortizacin constante: En este tipo de amortizacin el prestatario amortiza todos los periodos la misma cantidad de principal y los intereses generados.

Mtodo de Amortizacin con Fondos de Amortizacin: En este tipo de amortizacin el prestatario paga al prestamista los intereses generados por el principal y constituye al mismo tiempo un fondo con el que devolver el principal prestado al final de la operacin.

Mtodo de Amortizacin de Trminos variables en Progresin Geomtrica: En este tipo de amortizacin el prestatario paga el principal por medio de trminos en progresin geomtrica creciente o decreciente, de tal forma que la suma financiera de todos los trminos en el momento inicial de la operacin es igual al capital prestado.

Mtodo de Amortizacin de Trminos variables en Progresin Aritmtica: Este tipo de amortizacin es igual al anterior con la nica variedad de que los trminos varan en progresin aritmtica creciente o decreciente.

http://www.abanfin.com/?tit=guia-de-matematica-financiera-operaciones-financierasequivalentes&name=Manuales&fid=eg0bcah

package Amortizacion;

import java.util.ArrayList; import javax.swing.table.DefaultTableModel;

public class AmortizacionFrancesaAnticipada extends javax.swing.JInternalFrame {

Metodos metodo=new Metodos(); ArrayList<Amortizacion> listadatos = new ArrayList<>(); Amortizacion oAmortizacion = new Amortizacion();

String FechaPrestamo; double cap, a, i, c, d; int periodo, tiempo, r; String Fecha = ""; double Renta;

DefaultTableModel miModelo; String []Cabecera={"Periodo","Fecha","Cuota","Interes","Amortizacion","Saldo Insoluto","Deuda Extinguida"}; String data[][]={};

public AmortizacionFrancesaAnticipada() { initComponents(); miModelo=new DefaultTableModel(data,Cabecera); jTable1.setModel(miModelo); }

@SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() {

jPanel2 = new javax.swing.JPanel(); btnLimpiar = new javax.swing.JButton(); btnCalcular = new javax.swing.JButton(); jLabel3 = new javax.swing.JLabel(); txtInteres = new javax.swing.JTextField(); txtPeriodo = new javax.swing.JTextField(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); txtCapital = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel();

txtfecha = new javax.swing.JTextField(); jButton2 = new javax.swing.JButton(); jScrollPane2 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jButton1 = new javax.swing.JButton();

getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)), "Ingrese Datos"));

btnLimpiar.setText("Limpiar"); btnLimpiar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnLimpiarActionPerformed(evt); } });

btnCalcular.setText("Calcular"); btnCalcular.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnCalcularActionPerformed(evt); } });

jLabel3.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N jLabel3.setText("Periodo");

txtInteres.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { txtInteresActionPerformed(evt); } });

jLabel1.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N jLabel1.setText("Tasa Efec");

jLabel2.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel2.setText("Capital");

jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N jLabel4.setText("Fecha");

jButton2.setText("Graficar");

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addGap(21, 21, 21) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(jPanel2Layout.createSequentialGroup() .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(23, 23, 23) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(txtCapital, javax.swing.GroupLayout.DEFAULT_SIZE, 135, Short.MAX_VALUE) .addComponent(txtfecha)))) .addGap(18, 330, Short.MAX_VALUE) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addGroup(jPanel2Layout.createSequentialGroup() .addComponent(jLabel1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(txtInteres, javax.swing.GroupLayout.PREFERRED_SIZE, 132, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel2Layout.createSequentialGroup() .addComponent(jLabel3) .addGap(37, 37, 37) .addComponent(txtPeriodo, javax.swing.GroupLayout.PREFERRED_SIZE, 132, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(33, 33, 33)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() .addContainerGap(514, Short.MAX_VALUE) .addComponent(btnCalcular, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(34, 34, 34)

.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(btnLimpiar, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(txtfecha, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3) .addComponent(txtPeriodo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(txtCapital, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel1) .addComponent(txtInteres, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(btnLimpiar) .addComponent(btnCalcular) .addComponent(jButton2)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) );

getContentPane().add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 820, -1));

jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {null, null, null, null, null, null}, {null, null, null, null, null, null}, {null, null, null, null, null, null},

{null, null, null, null, null, null} }, new String [] { "Title 1", "Title 2", "Title 3", "Title 4", "Title 5", "Title 6" } ){ boolean[] canEdit = new boolean [] { true, true, true, false, true, true };

public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); jScrollPane2.setViewportView(jTable1);

getContentPane().add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 141, 820, 260));

jButton1.setText("Salir"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); getContentPane().add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(600, 440, 66, -1));

pack(); }// </editor-fold>

private void btnLimpiarActionPerformed(java.awt.event.ActionEvent evt) { txtfecha.setText(""); txtCapital.setText(""); txtInteres.setText(""); txtPeriodo.setText(""); miModelo=new DefaultTableModel(data,Cabecera); jTable1.setModel(miModelo); }

private void btnCalcularActionPerformed(java.awt.event.ActionEvent evt) { periodo= Integer.parseInt(txtPeriodo.getText()); i= Double.parseDouble(txtInteres.getText()); cap=Double.parseDouble(txtCapital.getText()); FechaPrestamo=txtfecha.getText(); Fecha=FechaPrestamo; Renta=RentaAnticipada(cap); AmortizacionFrancesaAnticipada(periodo);

public void AmortizacionFrancesaAnticipada(int periodo) { oAmortizacion = new Amortizacion(); for (int j = 0; j <= periodo; j++) { if (j == 0) { oAmortizacion.setSaldoInsoluto(cap); oAmortizacion.setPeriod(j); oAmortizacion.setFecha(FechaPrestamo);

Object[]Fila={oAmortizacion.getPeriod(),oAmortizacion.getFecha(),oAmortizacion.getCuota(),oAmortizacion.getInteres(),oAmortiz acion.getAmortizacion(),oAmortizacion.getSaldoInsoluto(),oAmortizacion.getDeudaExtinga()}; miModelo.addRow(Fila); } else { if(j==1){ oAmortizacion.setCuota(Metodos.redondear(Renta,2)); oAmortizacion.setInteres(0.0);

oAmortizacion.setAmortizacion(Metodos.redondear((oAmortizacion.getCuota() - oAmortizacion.getInteres()),2)); oAmortizacion.setSaldoInsoluto(Metodos.redondear((oAmortizacion.getSaldoInsoluto() oAmortizacion.getAmortizacion()),2)); oAmortizacion.setDeudaExtinga(Metodos.redondear((oAmortizacion.getDeudaExtinga() + oAmortizacion.getAmortizacion()),2)); oAmortizacion.setPeriod(j); oAmortizacion.setFecha(Fecha);

Object[]Fila={oAmortizacion.getPeriod(),oAmortizacion.getFecha(),oAmortizacion.getCuota(),oAmortizacion.getInteres(),oAmortiz acion.getAmortizacion(),oAmortizacion.getSaldoInsoluto(),oAmortizacion.getDeudaExtinga()}; miModelo.addRow(Fila); } else{

oAmortizacion.setCuota(Metodos.redondear(Renta,2));

oAmortizacion.setInteres(Metodos.redondear((oAmortizacion.getSaldoInsoluto() * i),2)); oAmortizacion.setAmortizacion(Metodos.redondear((oAmortizacion.getCuota() - oAmortizacion.getInteres()),2)); oAmortizacion.setSaldoInsoluto(Metodos.redondear((oAmortizacion.getSaldoInsoluto() oAmortizacion.getAmortizacion()),2)); oAmortizacion.setDeudaExtinga(Metodos.redondear((oAmortizacion.getDeudaExtinga() + oAmortizacion.getAmortizacion()),2)); oAmortizacion.setPeriod(j); oAmortizacion.setFecha(metodo.fecha(Fecha));

Object[]Fila={oAmortizacion.getPeriod(),oAmortizacion.getFecha(),oAmortizacion.getCuota(),oAmortizacion.getInteres(),oAmortiz acion.getAmortizacion(),oAmortizacion.getSaldoInsoluto(),oAmortizacion.getDeudaExtinga()}; miModelo.addRow(Fila); Fecha=metodo.fecha(Fecha); }}

} }

public double RentaAnticipada(double cap) { double result; a = (i + 1); c = cap / (1 + i); result = c * ((i * (Math.pow(a, periodo))) / ((Math.pow(a, periodo)) - 1));

return result; } private void txtInteresActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: }

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { dispose(); }

// Variables declaration - do not modify

private javax.swing.JButton btnCalcular; private javax.swing.JButton btnLimpiar; private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JPanel jPanel2; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JTable jTable1; private javax.swing.JTextField txtCapital; private javax.swing.JTextField txtInteres; private javax.swing.JTextField txtPeriodo; private javax.swing.JTextField txtfecha; // End of variables declaration