npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

santander-lsch

v0.1.10

Published

Esta librería contiene formulas usadas para el simulador de crédito hipotecario solicitado por el Banco Santander de México

Downloads

2

Readme

Librería de Simulador Hipotecario Santander

Librería que contiene las funciones necesarios para el simulador hipotecario requerido por Santander

Cómo instalar?

Basta con descargar el archivo index.js, agregarlo a tu proyecto con algún otro nombre de ser necesario, e importarlo dónde sea necesario, por ejemplo, en la raíz del proyecto lo guardas con el nombre:

santander-sch.js

Entonces para importarlo en un archivo js dónde se desea usar debe ser de la siguiente manera:

import { generaTablaNanios } from './santander-sch.js';

De esa manera podremo hacer uso de la función:

generaTablaNanios

Otra forma de instalar

Puede instalarse como un paquete de npm usando un servidor repositorio de paquetes de npm local como sinopia:

https://github.com/rlidwka/sinopia

Constantes globales

Las constantes globales se definen en el archivo constants.js:

PERIODICIDAD: Constante que define la periodicidad de los pagos hipotecarios.

TASA_DE_INTERES_BASE: Tasa de interés base, por default el valor es del 7.0%.

TABLA_DE_PORCENTAJES: Tabla de porcentajes de descuento por plan por cada año, a continuación se muestra la estrutura que debe de tener, dicha tablas de descuentos puede cambiarse de acuerdo a lo que se desea mientras se respete la estructura definida que a continuación se presenta:

{
  "10": {
    "1": 3,
    "2": 5,
    "3": 6,
    "4": 7,
    "5": 9,
    "6": 11,
    "7": 12,
    "8": 14,
    "9": 16,
    "10": 17
  },
  "15": {
    "1": 2,
    "2": 2,
    "3": 3,
    "4": 3,
    "5": 4,
    "6": 5,
    "7": 6,
    "8": 7,
    "9": 8,
    "10": 10,
    "11": 10,
    "12": 10,
    "13": 10,
    "14": 10,
    "15": 10
  },
  "20": {
    "1": 1.5,
    "2": 1.5,
    "3": 2,
    "4": 2,
    "5": 3,
    "6": 3,
    "7": 4,
    "8": 4,
    "9": 4.5,
    "10": 4.5,
    "11": 5,
    "12": 5,
    "13": 6,
    "14": 6,
    "15": 7,
    "16": 7,
    "17": 8,
    "18": 8,
    "19": 9,
    "20": 9
  }
}

Donde '10', '15', '20' corresponden al plan en años, y los números de 1 a N, corresponden a los años del plan, y por cada año se especifica el porcentaje de descuento que se le dará en cada periodo.

Funciones implementadas

calculaAbono

Está función retorna un renglon de los que se conforma la tabla, se explican los parámetros que puede recibir:

parámetros

plan(str) : Plan hipotecario(años) como cadena.

importe(float|int): Importe total del préstamo hipotecario.

anio(int): Año en el que se está efectuando el abono o pago.

saldoActual(float|int): Saldo actual cuando se ejecuta el cálculo del abono.

periodicidad(float|int): Periodicidad, por lo gral será el valor guardado en la variable de ambiente.

tasaDeInteres(float|int): Tasa de interés que se aplicará para el cálculo del abono, definida como variable de ambiente.

pagoAdelantado(float|int|null): Monto del pago que se dese adelantar en el periodo deseado.

Valor de retorno

Retorna el siguiente javascript object:

{
    'porcentaje_descuento': porcentajeDescuento, 'anio': anio, 'saldo': saldoActual,
    'abono': abono, 'interes': pagoAIntereses, 'capital': pagoACapital,
    'pago_adelantado': pagoAdelantado, 'nuevo_saldo': nuevoSaldo
}

generaTabla10anios

Esta función recibe los mismos parámentros que la función anterior, sólo en parámetro de plan no lo recibe, debido a que se calcula para 10 años.

Parámetros

importe(float|int): Monto total del préstamo.

valorInmueble(float|int): Valor real del inmueble.

pagosAdelantados(list[floats]): Lista de pagos adelantados aplicados al simulador, el tamaño de la lista debe ser del mismo tamaño que la cantidad de periodos o pagos.

periodicidad(float|int): Si este parámetro es pasado, sobreescribe el valor asignado a la periodicidad definida como variable de ambiente.

tasaDeInteres(float|int): Si este parámetro es pasado, sobreescribe el valor asignado a la tasa de interés definidad como variable de ambiente.

Valor de retorno

Retorna el mismo javascript object que la función generaTablaNanios.

generaTabla15anios

Esta función recibe los mismos parámentros que la función anterior, sólo en parámetro de plan no lo recibe, debido a que se calcula para 15 años.

Parámetros

importe(float|int): Monto total del préstamo.

valorInmueble(float|int): Valor real del inmueble.

pagosAdelantados(list[floats]): Lista de pagos adelantados aplicados al simulador, el tamaño de la lista debe ser del mismo tamaño que la cantidad de periodos o pagos.

periodicidad(float|int): Si este parámetro es pasado, sobreescribe el valor asignado a la periodicidad definida como variable de ambiente.

tasaDeInteres(float|int): Si este parámetro es pasado, sobreescribe el valor asignado a la tasa de interés definidad como variable de ambiente.

Valor de retorno

Retorna el mismo javascript object que la función generaTablaNanios.

generaTabla20anios

Esta función recibe los mismos parámentros que la función anterior, sólo en parámetro de plan no lo recibe, debido a que se calcula para 20 años.

Parámetros

importe(float|int): Monto total del préstamo.

valorInmueble(float|int): Valor real del inmueble.

pagosAdelantados(list[floats]): Lista de pagos adelantados aplicados al simulador, el tamaño de la lista debe ser del mismo tamaño que la cantidad de periodos o pagos.

periodicidad(float|int): Si este parámetro es pasado, sobreescribe el valor asignado a la periodicidad definida como variable de ambiente.

tasaDeInteres(float|int): Si este parámetro es pasado, sobreescribe el valor asignado a la tasa de interés definidad como variable de ambiente.

Valor de retorno

Retorna el mismo javascript object que la función generaTablaNanios.

generaTablaNanios

Genera una tabla con la simulación de abonos que se realizarán para cubrir el importe recibido con sus respectivos intereses.

Parámetros

importe(float|int): Monto total del préstamo.

valorInmueble(float|int): Valor real del inmueble.

plan(str): Plan hipotecario en años, puede ser 10, 15, o 20 años.

pagosAdelantados(list[floats]): Lista de pagos adelantados aplicados al simulador, el tamaño de la lista debe ser del mismo tamaño que la cantidad de periodos o pagos.

periodicidad(float|int): Si este parámetro es pasado, sobreescribe el valor asignado a la periodicidad definida como variable de ambiente.

tasaDeInteres(float|int): Si este parámetro es pasado, sobreescribe el valor asignado a la tasa de interés definidad como variable de ambiente.

Valor de retorno

Retorna un javascript object con la siguiente estructura:

stdClass Object
(
    [num_total_pagos] => 240
    [total_abonos] => 1901892.8571429
    [total_intereses] => 616178.57142857
    [total_capital] => 1285714.2857143
    [aforo] => 60
    [pago_quincenal] => 5357.1428571429
    [tabla] => Array
        (
            [0] => stdClass Object
                (
                    [porcentaje_descuento] => 3
                    [anio] => 1
                    [saldo] => 1500000
                    [abono] => 5357.1428571429
                    [interes] => 3750
                    [capital] => 1607.1428571429
                    [pago_adelantado] => 0
                    [nuevo_saldo] => 1498392.8571429
                )

            [1] => stdClass Object
                (
                    [porcentaje_descuento] => 3
                    [anio] => 1
                    [saldo] => 1498392.8571429
                    [abono] => 5353.125
                    [interes] => 3745.9821428571
                    [capital] => 1607.1428571429
                    [pago_adelantado] => 0
                    [nuevo_saldo] => 1496785.7142857
                )

            [2] => stdClass Object
                (
                    [porcentaje_descuento] => 3
                    [anio] => 1
                    [saldo] => 1496785.7142857
                    [abono] => 5349.1071428571
                    [interes] => 3741.9642857143
                    [capital] => 1607.1428571429
                    [pago_adelantado] => 0
                    [nuevo_saldo] => 1495178.5714286
                )

            [3] => stdClass Object
                (
                    [porcentaje_descuento] => 3
                    [anio] => 1
                    [saldo] => 1495178.5714286
                    [abono] => 5345.0892857143
                    [interes] => 3737.9464285714
                    [capital] => 1607.1428571429
                    [pago_adelantado] => 0
                    [nuevo_saldo] => 1493571.4285714
                )

            [4] => stdClass Object
                (
                    [porcentaje_descuento] => 3
                    [anio] => 1
                    [saldo] => 1493571.4285714
                    [abono] => 5341.0714285714
                    [interes] => 3733.9285714286
                    [capital] => 1607.1428571429
                    [pago_adelantado] => 0
                    [nuevo_saldo] => 1491964.2857143
                )

            [5] => stdClass Object
                (
                    [porcentaje_descuento] => 3
                    [anio] => 1
                    [saldo] => 1491964.2857143
                    [abono] => 5337.0535714286
                    [interes] => 3729.9107142857
                    [capital] => 1607.1428571429
                    [pago_adelantado] => 0
                    [nuevo_saldo] => 1490357.1428571
                )
            ...
        )
)