34.1 De una ecuación financiera a una raíz
Con importes desconocidos, la ecuación de valor suele ser lineal. Cuando la incógnita es una tasa o un plazo, aparece en bases, exponentes o varios factores simultáneamente.
La estrategia consiste en llevar todos los términos a un miembro y definir una función residual. Resolver el problema financiero equivale a encontrar dónde esa función vale cero.
Idea central: un método numérico no “adivina” la solución; genera aproximaciones controladas y verifica el residual de la ecuación original.
34.2 Las tres piezas del problema
Función residual
Expresa el desequilibrio financiero.
Dominio e intervalo
Delimitan soluciones económicamente admisibles.
Criterio de parada
Define precisión y máximo de iteraciones.
Sin estas piezas, un número devuelto por un algoritmo no constituye una solución confiable.
34.3 Función de valor para una tasa
Si dos carteras deben ser equivalentes y la tasa i es desconocida:
buscar i* tal que g(i*)=0
El punto y coma recuerda que la fecha focal y los flujos están fijos, mientras que la tasa varía.
34.4 Función de valor para un plazo
Cuando se desconoce una fecha o duración n:
buscar n* tal que h(n*)=0
La variable puede aparecer en la fecha focal, en la fecha de un flujo o en ambas. Debe definirse con precisión antes de programar.
34.5 Cuándo existe una fórmula cerrada
Un capital único C que alcanza M después de n períodos sí permite despejes directos:
n=ln(M/C)/ln(1+i)
No conviene usar iteración cuando una fórmula estable y válida resuelve el caso. Los métodos numéricos son necesarios cuando la estructura es más compleja.
34.6 Por qué varios flujos complican el despeje
En una ecuación como:
la misma tasa aparece con exponentes diferentes. No puede aislarse mediante una única raíz o logaritmo elemental, aunque la función sea fácil de evaluar.
34.7 Residual y significado del signo
Definimos:
Si g(i)<0, el valor acumulado queda por debajo del objetivo; si g(i)>0, lo supera. Un cambio de signo encierra al menos una raíz si la función es continua.
34.8 El dominio financiero
Con potencias compuestas y exponentes no enteros se requiere 1+i>0, es decir, i>−1. También pueden existir restricciones económicas más estrechas, como no admitir tasas negativas.
Para plazos se suele exigir n≥0, o una fecha posterior a cierto flujo. El algoritmo nunca debería explorar fuera del dominio declarado.
34.9 Buscar un intervalo inicial
Antes de iterar se evalúa la función en dos extremos a y b. Para bisección debe cumplirse:
Si no hay cambio de signo, puede no existir una raíz en el intervalo, haber una raíz tangencial o existir un número par de raíces. Ampliar el intervalo sin límites no es una solución segura.
34.10 Método de bisección
Bisección parte un intervalo con cambio de signo por la mitad y conserva el subintervalo que sigue encerrando una raíz.
Es lento comparado con métodos de orden superior, pero converge para una función continua cuando el intervalo inicial es válido.
34.11 Error acotado en bisección
Después de k divisiones, el ancho del intervalo es:
error de la raíz ≤ anchok/2
Esta cota permite estimar anticipadamente cuántas iteraciones hacen falta para una tolerancia en la variable.
34.12 Ejemplo de tasa por bisección
Para la ecuación del apartado 34.6, el intervalo [−50 %, 50 %] contiene un cambio de signo. La bisección obtiene:
i≈1,303273443 % mensual
Al sustituirla, el residual monetario es prácticamente cero dentro de la precisión numérica.
34.13 Método de Newton-Raphson
Newton utiliza la pendiente local para proyectar la siguiente aproximación:
Cerca de una raíz simple suele converger muy rápido, pero necesita una derivada y un punto inicial razonable.
34.14 Derivada de una ecuación financiera
Para g(i)=Σ Ck(1+i)nk:
Si la derivada es casi cero, el paso de Newton puede ser enorme. Debe rechazarse o limitarse para no salir del dominio.
34.15 Método de la secante
La secante aproxima la derivada con dos evaluaciones anteriores:
No requiere derivada analítica, pero tampoco garantiza conservar un intervalo con raíz.
34.16 Comparación de métodos
| Método | Ventaja | Riesgo |
|---|---|---|
| Bisección | Convergencia garantizada con intervalo válido. | Convergencia lineal relativamente lenta. |
| Newton | Muy rápido cerca de una raíz simple. | Puede divergir o salir del dominio. |
| Secante | No necesita derivada. | No conserva siempre el encierro. |
| Híbrido | Combina seguridad y velocidad. | Implementación más compleja. |
34.17 Estrategia híbrida
Un solucionador robusto mantiene un intervalo con cambio de signo. Intenta un paso de Newton o secante y, si cae fuera del intervalo o no es finito, utiliza bisección.
Resultado: la raíz permanece encerrada y se aprovecha la convergencia rápida cuando las condiciones locales son favorables.
34.18 Resolver un plazo
Supongamos $90.000 en el tiempo 0 y $50.000 en el período 5, ambos acumulados a una fecha desconocida n, con tasa del 2 %, para alcanzar $180.000:
Sobre el intervalo [5,30], bisección obtiene n≈14,420399646 períodos.
34.19 Plazos fraccionarios y contractuales
Una raíz como 14,4204 períodos es matemáticamente válida, pero el contrato puede aceptar solo fechas enteras o días determinados. Debe decidirse si se redondea hacia arriba, hacia abajo o se interpola por días.
Después de aplicar la regla contractual se recalcula el residual, porque la fecha factible ya no coincide exactamente con la raíz continua.
34.20 Criterios de parada
Conviene combinar dos tolerancias:
|b−a|/2≤εx
La primera controla el desequilibrio monetario; la segunda controla la incertidumbre de la tasa o plazo. También debe fijarse un máximo de iteraciones.
34.21 Escalas y tolerancia relativa
Un residual de $0,01 puede ser relevante o despreciable según el tamaño de la operación. Puede usarse:
La tolerancia de la variable debe expresarse en unidades claras: tanto por uno para tasas y períodos para plazos.
34.22 Ausencia de solución
Una meta puede ser inalcanzable dentro del dominio permitido. Si la función conserva el mismo signo en todo el intervalo y se conoce su monotonía, no existe una raíz allí.
El software debe informar “no se encontró una raíz en el intervalo”, no devolver un extremo ni la última aproximación como si fuera una solución.
34.23 Raíces múltiples
Cuando los flujos cambian de signo varias veces, una ecuación de tasa puede tener varias raíces reales. Cada una equilibra matemáticamente la ecuación, pero puede tener una interpretación económica distinta.
Un único intervalo amplio y un solo punto inicial no demuestran unicidad. Conviene explorar una grilla, detectar varios cambios de signo y resolver cada subintervalo.
34.24 Raíces tangenciales
Una raíz de multiplicidad par puede tocar el eje sin cambiar de signo. Bisección basada exclusivamente en signos no la detectará.
La inspección del mínimo de |g(x)|, el análisis de la derivada o métodos especializados ayudan a identificarla. Aun así debe verificarse el residual final.
34.25 Monotonía y unicidad
Si todos los capitales acumulados son positivos y sus exponentes también lo son, la función suele ser creciente respecto de i en i>−1. Un cambio de signo implica entonces una única raíz.
Con cobros y pagos mezclados, exponentes positivos y negativos o tasas por tramos, la monotonía debe demostrarse y no suponerse.
34.26 Estabilidad de la evaluación
Para tasas pequeñas y exponentes grandes es preferible calcular:
log1p conserva precisión cuando i está cerca de cero. Antes de sumar, se controlan valores no finitos y posibles desbordamientos.
34.27 Trazabilidad del solucionador
Una salida auditable debería incluir raíz, residual, iteraciones, intervalo inicial, intervalo final, método y motivo de parada.
Guardar una traza de iteraciones facilita detectar un intervalo incorrecto, una función discontinua o una convergencia demasiado lenta.
34.28 Procedimiento recomendado
- Construir la ecuación de valor original.
- Definir la función residual.
- Establecer dominio y restricciones económicas.
- Explorar valores y localizar cambios de signo.
- Elegir el método y las tolerancias.
- Iterar controlando valores finitos.
- Sustituir la raíz en la ecuación original.
- Informar residual, iteraciones y posibles raíces alternativas.
34.29 Laboratorio: resolver tasa y plazo
Los dos solucionadores aplican bisección. Los límites de tasa se ingresan como porcentajes y los de plazo como cantidad de períodos.
Solucionador numérico financiero
Cada cálculo exige que el residual cambie de signo entre sus límites.
Tasa desconocida
A(1+i)n+B(1+i)n−s=M
Plazo desconocido
A(1+i)n+B(1+i)n−s=M
Últimas iteraciones del solucionador de tasa
| Iteración | Límite inferior | Punto medio | Límite superior | Residual |
|---|
Ambas raíces fueron encontradas y verificadas.
34.30 Implementación de bisección
function biseccion(fn, inferior, superior, toleranciaF = 1e-8, maxIter = 200) {
let a = inferior;
let b = superior;
let fa = fn(a);
let fb = fn(b);
if (![a, b, fa, fb, toleranciaF].every(Number.isFinite)) {
throw new TypeError("Datos no finitos");
}
if (a >= b || toleranciaF < 0) throw new RangeError("Intervalo no válido");
if (Math.abs(fa) <= toleranciaF) return { raiz: a, residual: fa, iteraciones: 0 };
if (Math.abs(fb) <= toleranciaF) return { raiz: b, residual: fb, iteraciones: 0 };
if (Math.sign(fa) === Math.sign(fb)) throw new RangeError("No hay cambio de signo");
for (let k = 1; k <= maxIter; k++) {
const medio = a + (b - a) / 2;
const fm = fn(medio);
if (!Number.isFinite(fm)) throw new RangeError("Evaluación no finita");
if (Math.abs(fm) <= toleranciaF) {
return { raiz: medio, residual: fm, iteraciones: k };
}
if (Math.sign(fa) !== Math.sign(fm)) b = medio;
else { a = medio; fa = fm; }
}
throw new Error("No convergió dentro del máximo de iteraciones");
}
const g = i => 100000 * (1 + i) ** 12
+ 60000 * (1 + i) ** 4 - 180000;
console.log(biseccion(g, -0.5, 0.5, 0.01));Una versión general debería combinar tolerancia del residual y del intervalo, además de devolver la traza y el motivo de finalización.
34.31 Errores frecuentes
- Iterar sin definir el residual: impide verificar la solución.
- Ignorar el dominio: genera bases o evaluaciones inválidas.
- Usar bisección sin cambio de signo: elimina su garantía.
- Confiar en un único punto inicial: puede ocultar otras raíces.
- Detenerse solo por cantidad de iteraciones: no mide precisión.
- Confundir tasa decimal y porcentaje: multiplica el resultado por cien.
- Redondear durante la iteración: puede impedir convergencia.
- No sustituir la raíz: deja el resultado sin comprobación.
34.32 Ejercicio propuesto
$120.000 invertidos hoy y $80.000 incorporados en el mes 6 deben equivaler a $250.000 en el mes 15. Calculá por bisección la tasa efectiva mensual dentro del intervalo [0 %, 5 %] y verificá el residual.
Ver solución
const residual = i => 120000 * (1 + i) ** 15
+ 80000 * (1 + i) ** 9 - 250000;
const resultado = biseccion(residual, 0, 0.05, 0.000001);
console.log(resultado);La raíz es aproximadamente 1,776021045 % mensual. Al sustituirla, el residual monetario es menor que la tolerancia indicada.
34.33 Para recordar
- Resolver una tasa o plazo significa hallar una raíz del residual.
- Primero deben definirse dominio e intervalo económico.
- Bisección requiere continuidad y cambio de signo.
- Newton es rápido, pero necesita controles y una derivada estable.
- Una ecuación puede no tener raíz o tener varias.
- La convergencia debe considerar residual e incertidumbre de la variable.
- La raíz siempre se sustituye en la ecuación original.
- La salida debe informar método, iteraciones y precisión.