2. Período de la tasa y unidad de tiempo de la operación

El porcentaje no describe una tasa completa: también debemos indicar a qué intervalo de tiempo corresponde.

2.1 Una tasa necesita tiempo

En el tema anterior calculamos la tasa como la variación relativa de un capital. Si $100.000 se transforman en $112.000, obtenemos una tasa del 12 %. Pero ese número queda incompleto mientras no indiquemos cuánto tiempo separa ambos capitales.

Un aumento del 12 % en un mes no describe la misma operación que un aumento del 12 % en un año. El porcentaje coincide, pero la velocidad con la que cambia el capital es diferente.

Idea central: el período es parte de la tasa. Para interpretar un valor como “2 %” debemos saber si significa 2 % diario, mensual, trimestral, anual o correspondiente a otro intervalo.

2.2 Tres datos que no deben confundirse

Δt

Duración de la operación

Tiempo total transcurrido entre la fecha inicial y la fecha final.

p

Período de la tasa

Intervalo al que corresponde el valor declarado de la tasa.

n

Cantidad de períodos

Número de períodos de tasa contenidos en la duración de la operación.

Por ejemplo, una operación puede durar 180 días y utilizar una tasa correspondiente a períodos de 30 días. En ese caso, la duración es 180 días, el período de la tasa es 30 días y la cantidad de períodos es 6.

2.3 Fechas, intervalo y línea de tiempo

La fecha inicial y la fecha final ubican los capitales. La diferencia entre ambas determina el intervalo de la operación:

t0
un período
t1
un período
t2

En la línea de tiempo, desde t0 hasta t2 transcurren dos períodos. Las etiquetas t0, t1 y t2 representan posiciones temporales; no son necesariamente días concretos ni indican por sí mismas cuánto dura cada período.

2.4 La ecuación de unidades

Cuando la duración total y el período de la tasa están expresados en la misma unidad, la cantidad de períodos se obtiene mediante una división:

n = duración de la operación / duración de un período

Si la operación dura 75 días y la tasa corresponde a períodos de 30 días:

n = 75 días / 30 días por período = 2,5 períodos

Las unidades “día” se simplifican y el resultado expresa una cantidad de períodos. Que n sea fraccionario no indica un error, pero el modo de usar esa fracción dependerá del régimen financiero adoptado. No debemos elegir una fórmula antes de conocerlo.

2.5 Primero hay que unificar las unidades

No se puede dividir directamente una duración en meses por un período expresado en días. Primero deben llevarse ambos datos a una unidad común definida por el problema.

Ejemplos de identificación de la cantidad de períodos.
DuraciónPeríodo de la tasaCantidad de períodos
90 días30 días90 / 30 = 3
24 meses6 meses24 / 6 = 4
3 años1 año3 / 1 = 3
10 semanas2 semanas10 / 2 = 5

Una igualdad como “1 mes = 30 días” no es universal. Puede ser una convención válida para cierto cálculo, pero debe declararse. Un mes calendario puede tener 28, 29, 30 o 31 días.

2.6 Períodos calendario y períodos de duración fija

La palabra “mes” puede referirse a un cambio de fecha calendario, como del 15 de enero al 15 de febrero, o a una duración convencional, como 30 días. Ambas interpretaciones pueden producir resultados diferentes.

  • Período calendario: avanza por días, meses o años del calendario y conserva reglas como la distinta longitud de los meses.
  • Período de duración fija: se define mediante una cantidad exacta de días, por ejemplo 30, 90 o 365.
  • Período contractual: utiliza la definición acordada para la operación, que debe formar parte de los datos.

No existe una conversión correcta sin una convención explícita. El programa debe recibir esa decisión o recuperarla de una regla conocida; no debería inventarla silenciosamente.

2.7 Tasas con el mismo número y distinto período

Las frases siguientes no son equivalentes:

  • 2 % por día.
  • 2 % cada 30 días.
  • 2 % mensual calendario.
  • 2 % anual.

El valor numérico es 2 % en todos los casos, pero cada tasa se vincula con un intervalo diferente. Tampoco podemos multiplicar o potenciar automáticamente una tasa para cambiar su período: antes debemos identificar si el régimen es simple, compuesto u otro. Esa distinción se desarrollará más adelante.

2.8 Fechas en JavaScript

JavaScript permite representar fechas con Date, pero una fecha también contiene decisiones sobre zona horaria. Para contar días civiles entre valores ingresados como AAAA-MM-DD, podemos construir ambas fechas en UTC y evitar que un cambio horario altere la diferencia.

const MILISEGUNDOS_POR_DIA = 24 * 60 * 60 * 1000;

function fechaUtc(texto) {
  const [anio, mes, dia] = texto.split("-").map(Number);
  return Date.UTC(anio, mes - 1, dia);
}

const inicio = fechaUtc("2026-01-01");
const fin = fechaUtc("2026-03-17");
const dias = (fin - inicio) / MILISEGUNDOS_POR_DIA;

console.log("Días transcurridos:", dias); // 75

Este cálculo cuenta días transcurridos entre dos fechas civiles. No define por sí solo cómo una entidad computa intereses ni reemplaza las convenciones establecidas para una operación.

2.9 Laboratorio: contar períodos

Elegí las fechas de la operación, la duración convencional de cada período y el valor de la tasa. El laboratorio identifica el plazo, pero deliberadamente no calcula intereses.

Ubicar una tasa dentro de la operación

Modelo de períodos con una cantidad fija de días.

Duración total75 días
Cantidad de períodos2,5000
Tasa declarada2,00 % cada 30 días

La operación contiene 2,5 períodos de 30 días.

Límite del modelo: el laboratorio usa períodos de duración fija. No interpreta “mes” ni “año” como unidades calendario y no convierte la tasa a otro período.

2.10 Una función para calcular la cantidad de períodos

La lógica puede separarse de la interfaz mediante una función que valide las fechas y la duración elegida:

function convertirFechaUtc(texto) {
  if (!/^\d{4}-\d{2}-\d{2}$/.test(texto)) {
    throw new TypeError("La fecha debe tener el formato AAAA-MM-DD");
  }

  const [anio, mes, dia] = texto.split("-").map(Number);
  const instante = Date.UTC(anio, mes - 1, dia);
  const fecha = new Date(instante);

  const coincide = fecha.getUTCFullYear() === anio
    && fecha.getUTCMonth() === mes - 1
    && fecha.getUTCDate() === dia;

  if (!coincide) {
    throw new TypeError("La fecha no existe en el calendario");
  }

  return instante;
}

function calcularPeriodos(fechaInicio, fechaFin, diasPorPeriodo) {
  const milisegundosPorDia = 24 * 60 * 60 * 1000;
  const inicio = convertirFechaUtc(fechaInicio);
  const fin = convertirFechaUtc(fechaFin);

  if (fin < inicio) {
    throw new RangeError("La fecha final no puede ser anterior");
  }

  if (!Number.isFinite(diasPorPeriodo) || diasPorPeriodo <= 0) {
    throw new RangeError("Los días por período deben ser positivos");
  }

  const diasTranscurridos = (fin - inicio) / milisegundosPorDia;

  return {
    diasTranscurridos,
    cantidadPeriodos: diasTranscurridos / diasPorPeriodo
  };
}

console.log(calcularPeriodos("2026-01-01", "2026-03-17", 30));

El resultado es { diasTranscurridos: 75, cantidadPeriodos: 2.5 }. La función no recibe una tasa porque su única responsabilidad es medir el tiempo bajo la convención indicada.

2.11 Representar una tasa con contexto

Guardar solamente el número 0.02 no alcanza. Un objeto puede conservar el valor, la forma de expresión y el período al que corresponde:

const tasa = {
  valor: 0.02,
  expresion: "tantoPorUno",
  periodo: {
    tipo: "duracionFija",
    cantidad: 30,
    unidad: "dia"
  }
};

console.log(
  `${tasa.valor * 100}% cada ${tasa.periodo.cantidad} días`
);

Más adelante agregaremos propiedades como el régimen y la frecuencia de capitalización. Modelar el contexto desde el comienzo reduce el riesgo de combinar tasas incompatibles.

2.12 Errores frecuentes

  • Omitir el período: “5 %” no describe una tasa completa.
  • Confundir plazo y cantidad de períodos: 180 días es una duración; 6 es la cantidad de períodos de 30 días.
  • Mezclar unidades: dividir meses por días sin una regla de conversión produce un resultado ambiguo.
  • Suponer que todo mes tiene 30 días: puede ser una convención, pero no una propiedad del calendario.
  • Ignorar la zona horaria: puede generar diferencias inesperadas al trabajar con fechas y horas.
  • Convertir tasas antes de conocer el régimen: la regla correcta depende de cómo evoluciona el capital.

2.13 Ejercicio propuesto

Una operación comienza el 1 de abril de 2026 y termina el 30 de junio de 2026. Se declara una tasa de 1,2 % por cada período de 15 días.

  1. Calculá los días transcurridos entre ambas fechas.
  2. Identificá la duración de un período de tasa.
  3. Calculá cuántos períodos contiene la operación.
  4. Escribí una descripción completa de la tasa.
  5. Representá los datos con un objeto JavaScript.
Ver solución

Entre ambas fechas transcurren 90 días. Como cada período dura 15 días, la operación contiene 6 períodos. La tasa se describe como “1,2 % por cada período de 15 días”.

n = 90 días / 15 días por período = 6 períodos
const operacion = {
  fechaInicio: "2026-04-01",
  fechaFin: "2026-06-30",
  tasa: {
    valor: 0.012,
    diasPorPeriodo: 15
  }
};

const milisegundosPorDia = 24 * 60 * 60 * 1000;
const inicio = Date.UTC(2026, 3, 1);
const fin = Date.UTC(2026, 5, 30);
const dias = (fin - inicio) / milisegundosPorDia;
const periodos = dias / operacion.tasa.diasPorPeriodo;

console.log({ dias, periodos }); // { dias: 90, periodos: 6 }

El ejercicio identifica el tiempo, pero no calcula un monto. Para hacerlo todavía sería necesario indicar el capital y el régimen financiero aplicable.

2.14 Ideas para recordar

  • El período forma parte de la definición de una tasa.
  • La duración total, el período de la tasa y la cantidad de períodos son datos diferentes.
  • Con unidades compatibles, n = duración total / duración del período.
  • Un período calendario no siempre equivale a una cantidad fija de días.
  • Las convenciones temporales deben declararse y conservarse junto con la tasa.
  • No se debe convertir ni aplicar una tasa sin conocer también su régimen.

En el próximo tema estudiaremos porcentaje, tanto por uno y puntos básicos, distintas formas de expresar numéricamente una tasa.