Anualidad creciente donde el flujo de efectivo crece por segundo año

Me gustaría ayuda con una fórmula para calcular el valor futuro dado lo siguiente:

Se invierte una cantidad al FINAL de cada año, comenzando con la cantidad de PMT al final de este año, a una tasa de interés del i% anual , compuesta anualmente, la cantidad de inversión se duplica cada dos años (acumulativamente) .

Me resulta difícil entender el último punto, " el monto de la inversión se duplica cada dos años ", ya que el valor futuro de la fórmula de anualidad creciente hace provisiones para la inversión que crece por año y no por segundo año, ¿cómo puedo proceder?

Esto sería más fácil de responder si incluyeras más de tu trabajo. Por ejemplo, ¿ha calculado la fórmula que usaría si se duplicara cada año? ¿Ha averiguado cómo cambiaría si la tasa de interés fuera del 1% por medio año compuesto cada medio año? Tal como está, primero tendría que buscar o calcular la fórmula y luego descubrir cómo modificarla. Soy perezoso. Sería mucho más probable que tratara de ayudar si pudiera ampliar o criticar su trabajo.
La inversión crece cada año, eso es lo que significa "compuesto anual". La otra información te dice que en dos años la cotización debe duplicarse (muy poco realista, eso requiere un crecimiento del 41% anual).
¿El “monto de inversión” se refiere al capital invertido? Si están invirtiendo al final de "cada año", el principal se duplica en el segundo año, pero suponer que se duplica cada dos años a perpetuidad sería poco realista.

Respuestas (3)

Aquí hay una fórmula para el saldo al comienzo del año.n

balance = ((1 + i)^n (3 + i) pmt + (1 + i) (-2^Floor[(1 + n)/2] - 
            2^Floor[n/2] (1 + i)) pmt)/(-1 + i + 3 i^2 + i^3)

La función Piso está disponible en Excel. Esta es una implementación de Excel.

ingrese la descripción de la imagen aquí

Una versión sin uso de Floor es

balance = ((1 + i)^n (3 + i) pmt + 2^(1/4 (-1)^n (-1 + (-1)^n (-1 + 2 n))) (1 + i) 
        (-2^(1/2 (-1)^(2 n)) - 2^((-1)^n/2) (1 + i)) pmt)/(-1 + i + 3 i^2 + i^3)

Derivación de fórmulas

Aquí está la derivación. Con intereses ial 10% e inicial pmt.

i   = 0.1
pmt = 100

El saldo al comienzo del año 1 es 0. Al final del año 1 se realiza un pago por lo que el saldo al comienzo del año 2 es pmt. El próximo pago (el segundo) es el doble, etc.

p1 = 0
p2 = p1 (1 + i) + pmt
p3 = p2 (1 + i) + 2*pmt
p4 = p3 (1 + i) + 2*pmt
p5 = p4 (1 + i) + 2^2*pmt
p6 = p5 (1 + i) + 2^2*pmt
p7 = p6 (1 + i) + 2^3*pmt
p8 = p7 (1 + i) + 2^3*pmt
p9 = p8 (1 + i) + 2^4*pmt = 5437.33
p10 = p9 (1 + i) + 2^4*pmt = 7581.06

Otra forma de expresar p10es

p[9 + 1] = p[9](1 + i) + 2^Floor[9/2]*pmt

Entonces esto se puede resolver usando Mathematica

RSolve[{p[n + 1] == p[n] (1 + i) + 2^Floor[n/2]*pmt, p[1] == 0}, p[n], n]

ingrese la descripción de la imagen aquí

La fórmula calcula correctamente el saldo al comienzo del año especificado.

p[n] = ((1 + i)^n (3 + i) pmt + (1 + i) (-2^Floor[(1 + n)/2] - 
         2^Floor[n/2] (1 + i)) pmt)/(-1 + i + 3 i^2 + i^3)

p[9]  = 5437.33
p[10] = 7581.06

Las funciones de piso pueden ser reemplazadas

Floor[(1 + n)/2] = 1/4 (-1)^n (-1 + (-1)^n + 2 (-1)^n n)

and Floor[n/2] = 1/4 (-1)^n (1 + (-1)^(1 + n) + 2 (-1)^n n)

donación

p[n] = ((1 + i)^n (3 + i) pmt + 2^(1/4 (-1)^n (-1 + (-1)^n (-1 + 2 n))) (1 + i) 
        (-2^(1/2 (-1)^(2 n)) - 2^((-1)^n/2) (1 + i)) pmt)/(-1 + i + 3 i^2 + i^3)

Por ejemplo, el saldo al comienzo del año 9

i   = 0.1
pmt = 100
n   = 9

balance = ((1 + i)^n (3 + i) pmt + 2^(1/4 (-1)^n (-1 + (-1)^n (-1 + 2 n))) (1 + i) 
        (-2^(1/2 (-1)^(2 n)) - 2^((-1)^n/2) (1 + i)) pmt)/(-1 + i + 3 i^2 + i^3)
= 5437.33

Método alternativo

La misma solución también se puede encontrar como la forma cerrada de una sumatoria.

ingrese la descripción de la imagen aquí

La suma para el ejemplo se vería así

i   = 0.1
pmt = 100
n   = 9

balance = 2^0 pmt (1 + i)^(n - 1 - 1) +
          2^1 pmt (1 + i)^(n - 2 - 1) + 2^1 pmt (1 + i)^(n - 3 - 1) +
          2^2 pmt (1 + i)^(n - 4 - 1) + 2^2 pmt (1 + i)^(n - 5 - 1) +
          2^3 pmt (1 + i)^(n - 6 - 1) + 2^3 pmt (1 + i)^(n - 7 - 1) +
          2^4 pmt (1 + i)^(n - 8 - 1)
= 5437.33

Cálculo básico del valor futuro

Lo anterior contrasta con el cálculo básico sin ninguna duplicación como tal.

i   = 0.1
pmt = 100
n   = 9

Cálculo iterativo

p1 = 0
p2 = p1 (1 + i) + pmt
p3 = p2 (1 + i) + pmt
p4 = p3 (1 + i) + pmt
p5 = p4 (1 + i) + pmt
p6 = p5 (1 + i) + pmt
p7 = p6 (1 + i) + pmt
p8 = p7 (1 + i) + pmt
p9 = p8 (1 + i) + pmt = 1143.59

Cálculo de suma

balance = pmt (1 + i)^0 +
          pmt (1 + i)^1 + pmt (1 + i)^2 +
          pmt (1 + i)^3 + pmt (1 + i)^4 +
          pmt (1 + i)^5 + pmt (1 + i)^6 +
          pmt (1 + i)^7
= 1143.59

Derivación de fórmulas

ingrese la descripción de la imagen aquí

balance = ((-1 + (1 + i)^(-1 + n)) pmt)/i = 1143.59
¡Brillante! ¡Eres un freakonomista! Gracias, esto ayudó mucho.

Si el objetivo es obtener una solución analítica, puede calcular el valor futuro de las inversiones realizadas en años pares e impares por separado y luego sumarlos. Cada uno puede aplicar la fórmula de valoración estándar en términos de intervalos de 2 años en lugar de intervalos de 1 año, ya que la unidad de tiempo es arbitraria. El monto de la inversión aumenta en un 100 % en cada intervalo y la tasa de interés efectiva es (1 + 0.01i)^2 - 1. Asimismo, el tiempo se mediría en intervalos de 2 años.

Se me ocurrió una versión de esto que me da la respuesta incorrecta, ¿alguien puede indicarme dónde me estoy equivocando?

def investment(PMT, n, i):
    for x in range(1,n):
        if x==2:
            invest_even=PMT*2**(x/2)
            FV_even= invest_even*((1+i)-1)/i
        else: 
            invest_odd=PMT*2**((x-1)/2)     
            FV_odd=invest_odd*((1+i)-1)/i
        x+=1
        investment_balance=(FV_even+FV_odd)
        return round(investment_balance, 2)

Respuesta en código de Mathematica

i = 0.1;
pmt = 100;
n = 9;

fvOdd = fvEven = 0;

For[x = 1, x < n, x += 1,
  If[Mod[x, 2] == 0,
   investEven = pmt*2^(x/2);
   fvEven += investEven*(1 + i)^(n - x - 1)
   ,
   investOdd = pmt*2^((x - 1)/2);
   fvOdd += investOdd*(1 + i)^(n - x - 1)
   ]
  ]

balance = fvOdd + fvEven

5437.33

Hola, no está componiendo correctamente sus valores futuros. Necesitas algo como FV_even= invest_even*(1 + i)^(n - x - 1). Por ejemplo, el primer pago x = 1debe capitalizarse durante siete años para obtener el valor futuro al comienzo del año 9. Además, las pruebas x==2para verificar un año par solo funcionarán una vez. Puede usar un módulo 2 para verificar si xes par o impar. He agregado una versión de su programa en Mathematica para mostrarle cómo se puede hacer.