Frecuencia de las inversiones para maximizar los rendimientos (y minimizar las tarifas)

Si tengo una cierta cantidad de dinero para invertir regularmente, ¿cómo calculo la cantidad que debo dejar acumular en mi banco antes de hacer esa inversión, suponiendo que hay una tarifa asociada con cada inversión adicional?

Por ejemplo, podría reservar $100 cada semana para invertir en una acción con un crecimiento esperado del 9 % anual, pero las tarifas de corretaje son de $10 por operación. ¿Durante cuántas semanas debo acumular los $100 antes de invertir, si puedo depositarlos en mi cuenta bancaria de alto interés al 4% anual hasta entonces?

Claramente, si las cantidades que invierto son demasiado pequeñas, las tarifas se sumarán y lo harán costoso. Por otro lado, si permito que se acumule demasiado dinero en el banco primero, no estoy haciendo uso de los mayores rendimientos esperados de la inversión.

Para plantear el problema con precisión, definamos estas variables:

  • s= cantidad apartada cada periodo
  • d= duración del período en años ( por ejemplo , 1/52 o 1/26 )
  • r= interés anual en cuenta bancaria, indexado mensualmente
  • g= crecimiento anual esperado de las existencias
  • b= tarifa de corretaje por operación
  • n= número de períodos para acumular fondos en el banco antes de invertir (cero si sse debe invertir inmediatamente).

Mi pregunta exacta es:

Dados los valores de s , d, yr , ¿ qué valor de maximiza los rendimientos?g b n

O si esta pregunta es demasiado difícil de responder exactamente, ¿qué simplificaciones podemos hacer para obtener una solución práctica a este problema? ¿Lo he complicado demasiado?

Supongo que uno podría escribir un programa de computadora para comparar diferentes valores de n, pero espero una solución de forma cerrada. Parece que la solución a este problema debería ser conocida, pero no la he visto por ninguna parte.


Mi progreso hasta ahora:

editar: ahora he publicado lo que estaba aquí como parte de mi propia respuesta.

Existen start-ups sin comisión , lo que puede dejar obsoleta la pregunta. Uno espera. :-)
@PeterK. Suena celestial. Donde yo vivo, tienes suerte si puedes obtener una tarifa de corretaje de $20. El mercado de valores de EE. UU. es mucho más barato para negociar.
Hubiera preferido agregar esto como un comentario, pero ¿de dónde obtienes un rendimiento del 4 % en tus ahorros?
Los corredores en línea como e-trade y td-ameritrade tienen tarifas de alrededor de $ 7 - $ 12 por operación.
Es posible que pueda comprar las acciones que le interesan con un plan de reinversión de dividendos por un costo adicional mínimo o nulo.

Respuestas (3)

Bien, ¡creo que logré encontrar la respuesta precisa a este problema!

Implica resolver una ecuación exponencial no lineal, pero también encontré una buena solución aproximada utilizando la serie de Taylor truncada. Vea a continuación una hoja de cálculo que puede usar.

Encontrar el valor futuro:

Empecemos definiendo los factores de crecimiento por periodo, para dinero en el banco y dinero invertido:

R = (1+r/12)^(12d)

G = (1+g)^d

Ahora, sea S la cantidad lista para ser invertida después de n +1 periodos; por lo que la primera parte de ese dinero ha devengado intereses durante n periodos. Es decir,

S = s (1-R^(n+1)) / (1-R)

El paso clave para resolver el problema fue fijar el número total de períodos considerados. Así que vamos a introducir una nueva variable:

t = el número total de períodos de tiempo transcurridos

Entonces, si el dinero está listo para invertir cada n +1 períodos, habrá t / ( n +1) inversiones separadas, y el valor futuro de las inversiones será:

FV = (Sb) (1-G^t) / (1-G^(n+1))

Esta fórmula es exacta en el caso de números enteros t y n , y una buena aproximación cuando t y n no son números enteros. Sustituyendo S , obtenemos la versión de la fórmula que depende explícitamente de n :

FV = (s (1-R^(n+1)) / (1-R) ​​- b) (1-G^t) / (1-G^(n+1))

Derivada del valor futuro con respecto a n :

Afortunadamente, solo un par de términos en FV dependen de n , por lo que podemos encontrar la derivada después de un poco de esfuerzo:

dFV/dn = G^(n+1) (1-G^t) ln(G) (s (1-R^(n+1))/(1-R)-b) / (1-G^ (n+1))^2 - s (1-G^t) R^(n+1) log(R) / ((1-G^(n+1)) (1-R))

Maximizando el valor futuro:

Igualando la derivada a cero, podemos quitar el denominador, y suponiendo que t es mayor que cero, podemos dividir por la constante ( 1- G t ):

G^(n+1) ln(G) (s (1-R^(n+1)) - b (1-R)) - s R^(n+1) ln(R) (1-G^ (n+1)) = 0

Para simplificar la ecuación, podemos definir algunas constantes adicionales:

α = (s - b + b R) ln(G)

β = s ln(G/R)

γ = s ln(R)

Entonces, podemos definir una función f ( n ) y escribir la ecuación como:

f(n) = α (G/R)^(n+1) - β G^(n+1) - γ

Tenga en cuenta que α , β , γ , G y R son todos constantes.

Soluciones:

A partir de aquí hay dos opciones:

  1. Use el método de Newton u otro método numérico para encontrar la raíz positiva de f ( n ). Esto se puede hacer en varios paquetes de software como MATLAB, Octave, etc., o usando una calculadora gráfica.

  2. Resuelve aproximadamente usando un polinomio de serie de Taylor truncado. Usaré este método aquí.

Aproximando la solución con una serie de Taylor:

La serie de Taylor de f ( n ), centrada alrededor de n =0, es:

f(n) = ( α (G/R) - β G -γ ) + sum_(k=1)^inf ( α (G/R) ln(G/R)^k - β G ln(G)^ k) n^k/k!

Truncando la serie a los tres primeros términos, obtenemos un polinomio cuadrático (con coeficientes constantes):

f(n) ~ (α (G/R) - β G - γ) + (α (G/R) ln(G/R) - β G ln(G)) n + 0.5 (&alpha (G/R) ln(G/R)^2 - β G ln(G)^2) n^2

Solución aproximada de forma cerrada:

Usando R , G , α , β y γ definidos anteriormente, sean c 0 , c 1 y c 2 los coeficientes de la serie de Taylor truncada para f ( n ):

c_0 = 0.5 (&alfa (G/R) ln(G/R)^2 - β G ln(G)^2)

c_1 = α (G/R) ln(G/R) - β G ln(G)

c_2 = α (G/R) - β G - γ

Después,

n ~ √(c_1^2 - 4 c_0 c_2) ) / abs(2 c_0) - c_1 / (2 c_0)

n debe redondearse al número entero más cercano. Para estar seguro, verifique los valores por encima y por debajo de n usando la fórmula para FV .

Ejemplo:

Usando el ejemplo de la pregunta:

Por ejemplo, podría reservar $100 cada semana para invertir en una acción con un crecimiento esperado del 9 % anual, pero las tarifas de corretaje son de $10 por operación. ¿Durante cuántas semanas debo acumular los $100 antes de invertir, si puedo depositarlos en mi cuenta bancaria de alto interés al 4% anual hasta entonces?

Usando el método de Newton para encontrar las raíces de f ( n ) arriba, obtenemos n = 14.004.

Usando la solución aproximada de forma cerrada, obtenemos n = 14.082.

Verificando esto contra el FV con t = 1680 (divisible uniformemente por cada n + 1 probado):

  • Cuando n = 13, VF = $903.861,85
  • Cuando n = 14, VF = $903.891,13
  • Cuando n = 15, VF = $903.865,89

Por lo tanto, debe esperar n = 14 períodos, manteniendo ese dinero en el banco, invirtiéndolo junto con el dinero en el próximo período (por lo que hará una inversión cada 14 + 1 = 15 semanas).

Hoja de cálculo:

Aquí hay una forma de implementar la solución anterior con una hoja de cálculo. StackExchange no permite tablas en su sintaxis en este momento, así que mostraré una captura de pantalla de las fórmulas y columnas que puede copiar y pegar:

Fórmulas:

fórmulas de hoja de cálculo

Copie y pegue la columna A:

s
d
r
g
b
.
R
G
alpha
beta
gamma
.
c0
c1
c2
.
n (unrounded)
n
.
t (periods)
FV(n-1)
FV(n)
FV(n+1)

Copie y pegue la columna B:

=100
=1/52
=0.04
=0.09
=10
.
=(1+B3/12)^(12*B2)
=(1+B4)^B2
=(B1-B5+B5*B7)*LN(B8)
=B1*LN(B8/B7)
=B1*LN(B7)
.
=0.5*(B9*B8/B7*LN(B8/B7)^2-B10*B8*LN(B8)^2)
=B9*B8/B7*LN(B8/B7)-B10*B8*LN(B8)
=B9*B8/B7-B10*B8-B11
.
=SQRT(B14^2-4*B13*B15)/(2*ABS(B13))-B14/(2*B13)
=ROUND(B17,0)
.
=LCM(B18+1,B18+1-1,B18+1+1)
=(B1*(1-B7^(B18-1+1))-B5*(1-B7))*(1-B8^B20)/((1-B7)*(1-B8^(B18-1+1)))
=(B1*(1-B7^(B18+1))-B5*(1-B7))*(1-B8^B20)/((1-B7)*(1-B8^(B18+1)))
=(B1*(1-B7^(B18+1+1))-B5*(1-B7))*(1-B8^B20)/((1-B7)*(1-B8^(B18+1+1)))

Resultados:

resultados de la hoja de cálculo

Recuerda, n es el número de periodos para acumular dinero en el banco. Entonces querrás invertir cada n +1 semanas; en este caso, cada 15 semanas.

@ChrisDegnen Solo obtengo $903891, ¿puedes ver por qué tu resultado es tan diferente al mío? La principal diferencia que puedo ver es que el rendimiento de su inversión se capitaliza mensualmente, pero en mis soluciones no he asumido eso (mientras que los bancos tienden a darle intereses solo cada mes, se puede suponer que algo como las acciones crecen constantemente, por lo que m asumiendo que el 9% es el rendimiento anualizado).
como el tuyo r = (1 + 0.04/12)^(12/52) - 1yg = (1 + 0.09/12)^(12/52) - 1
@ChrisDegnen, no, eso no es como el mío. Como traté de explicar, usted está capitalizando los rendimientos de la inversión mensualmente.
@ChrisDegnen Estás usando g = (1 + 0.09/12)^(12/52) - 1. No soy. Intente comprender por qué nuestras soluciones son diferentes antes de intentar decirme que mi respuesta es incorrecta.
Oh, entonces, ¿su tasa bancaria es una tasa nominal anual del 4% compuesta mensualmente y su tasa de inversión es una tasa anual efectiva del 9%? ...
Ahora tengo un ciclo de 15 semanas. Sin embargo, mi total es $ 905490.

Wow, esto resulta ser un problema mucho más difícil de lo que pensé al verlo por primera vez.

Reformulemos algunas de las variables para simplificar un poco las ecuaciones. Sea rb la tasa de crecimiento del dinero en su banco durante un período. Por "tasa de crecimiento" me refiero a la cantidad que tendrá después de un período. Entonces, si la tasa de interés es del 3 % anual pagada mensualmente, entonces el interés de un mes es 3/12 del 1 % = 0,25 %, por lo que después de un mes tienes 1,0025 veces más dinero del que tenías al principio. De manera similar, sea si la tasa de crecimiento de la inversión.

Luego, después de hacer un depósito, la cantidad que tienes en el banco es pb = s. Después de otro depósito, ha cobrado intereses sobre el primero, por lo que tiene pb = s * rb + s. Es decir, el primer depósito con el crecimiento de un periodo más el segundo depósito. Un depósito más y tienes pb = ((s * rb) + s) * rb + s = s + s * rb + s * rb^2. Etc. Así que después de n depósitos tienes pb = s + s * rb + s * rb^2 + s * rb^3 + ... + s * rb^(n-1). Esto se simplifica a pb = s * (rb^n - 1)/(rb - 1).

De manera similar, para la cantidad que obtendría al depositar en la inversión, llamemos pi, excepto que también debe restar la cantidad de la tarifa del corredor, b.

Así que quiere hacer depósitos cuando

pb>pi, o s*(ri^n-1)/(ri-1) - b > s*(rb^n-1)/(rb-1)

¡Luego solo resuelve para n y listo! Excepto... tal vez alguien que sea mejor en álgebra que yo podría resolver eso para n, pero no veo cómo hacerlo.

Para complicar aún más esto, los bancos normalmente pagan intereses mensualmente, mientras que las acciones suben o bajan todos los días. Si un cálculo decía retirarse después de 3,9 meses, realmente sería mejor esperar 4,0 meses para cobrar el interés de un mes adicional.

Pero veamos si podemos aproximarnos. Si las tasas de crecimiento y el número de períodos son relativamente pequeños, la composición del crecimiento también debería ser relativamente pequeña. Entonces, una solución aproximada sería cuando la diferencia entre las tasas de interés, multiplicada por el monto de cada depósito, sumadas sobre el número de depósitos, es mayor que la tarifa. Es decir, supongamos que la inversión paga un 10% mensual más que su cuenta bancaria (muy optimista pero solo por ejemplo), la tarifa del corredor es de $10 y el monto de cada depósito es de $200. Entonces, si retrasa la inversión un mes, perderá el 10 % de $200 = $20. Esto es más que la tarifa del corredor, por lo que debe invertir de inmediato. Bien, supongamos de manera más realista que la inversión paga un 1% más por mes que la cuenta bancaria. Entonces el primer mes estás perdiendo 1% de $200 = $2. El segundo mes tienes $400 en el banco, entonces estás perdiendo $4, pérdida total por dos meses = $6. El tercer mes tiene $ 600 en el banco, por lo que pierde $ 6 adicionales, pérdida total = $ 12. Etc. Así que deberías transferir el dinero a la inversión sobre el tercer mes.

La capitalización significaría que las pérdidas en la transferencia a la inversión son un poco más altas que esto, por lo que le conviene inclinarse hacia la transferencia un poco antes.

O bien, puede configurar una hoja de cálculo para hacer los cálculos de capitalización mes a mes, y luego simplemente mirar hacia abajo en la columna para ver cuándo el total de la inversión menos el total del banco es mayor que la tarifa del corredor.

Lo siento, no te estoy dando una respuesta definitiva, pero tal vez esto ayude.

¿Qué hay riaquí?
Tienes razón en que no es posible resolver naquí algebraicamente. Usando métodos numéricos, probé un par de soluciones y descubrí que su ecuación tendía a sobrestimar n. Aunque agradezco las ideas :)
Sí, esto sobreestima n. Eso es lo que quise decir con "La capitalización significaría que las pérdidas en la transferencia a la inversión son un poco más altas que esto", etc. - Calculo por mi método: tasa delta = 5% por año = 0.42% por mes. .42%*$100=$0.42. 1 mes->$0,42, 2 meses->$1,26, 3->$2,46, 4->$4,20, 5->$6,30, 6->$8,82, 7->$11,76, y superamos los $10. Valor real usando una hoja de cálculo, n=7 meses, donde la diferencia es $11.92. Así que mi estimación tiene un error de 16 centavos, o menos del 2%. ...
... Parece lo suficientemente cerca para ejemplos del mundo real.
Me refiero a tu primera ecuación, s*(ri^n-1)/(ri-1) - b > s*(rb^n-1)/(rb-1)parece sobreestimar n. No estaba seguro de si eso es a lo que te referías en la segunda mitad.
Oh, mmm. Eso no debería ser una estimación, debería ser exacto. Lo acabo de probar y de hecho da los resultados que esperaba. ¿Tal vez tenemos alguna confusión sobre las definiciones? Estoy usando ri es el crecimiento de la inversión por período, rb es el crecimiento de la cuenta bancaria por período, s es el monto de cada depósito, b es la comisión de corretaje y n es el número de períodos. Entonces, si la tasa de rendimiento es del 6% anual, el crecimiento mensual es 1+.06/12=1.005. Creo que el resto son sencillos. Tenga en cuenta que ri^n-1 es elevar ri a la potencia de n, luego restar 1 del resultado, no restar 1 de n y luego hacer la potencia.
Usando s=150, d=1/52, r=4%, g=9%, b=10, tu ecuación da aproximadamente 12.6945. Mis cálculos indican que debería ser 11, no 12 o 13.
Hmm, usando una hoja de cálculo o la fórmula, veo que la diferencia pasa de $10 a poco más de 12. Tal vez la diferencia sea una cuestión de definiciones: mi período 1 es después de haber realizado el primer depósito pero antes de que haya cobrado cualquier devolución. es decir, estoy diciendo que la cantidad que tiene es s+s r+s r^2+... Tal vez esté llamando al período 1 después de haber realizado un depósito y cobrado un rendimiento, es decir, s r+s r ^2+s*r^3+... ?
Traté de definir claramente mis variables en la pregunta. Lo que no entiendo acerca de su respuesta es que en s*(ri^n-1)/(ri-1) - b, parece suponer que puede realizar n inversiones separadas pero solo paga el corretaje una vez al final. ¿Puedes aclarar eso en tu respuesta? Publicaré una solución alternativa en breve, pero todavía estoy trabajando en ello.
Mi intención era calcular los ingresos que está perdiendo al no hacer las inversiones de una en una, y luego restar de esto la tarifa del corredor. Si obtuviste 0% de interés en la cuenta bancaria, entonces el n que hace esta diferencia >0 sería el número de periodos que deberías acumular antes de invertir. A medida que obtiene algo en la cuenta bancaria, debe demorar más tiempo, ya que el interés bancario compensa parte del retorno de la inversión perdido y, por lo tanto, es mejor obtener menos tarifas de intermediario.

El problema no es difícil de calcular, pero es difícil producir una fórmula para él. Por ejemplo, si está ahorrando $ 100 por mes e invirtiendo cada nmonto ahorrado.

amount put aside every month                s = 100
effective bank rate of 5% to monthly rate   r = (1 + 0.05)^(1/12) - 1
effective stock rate of 10% to monthly      g = (1 + 0.10)^(1/12) - 1
brokerage fee per trade                     b = 65

saved value after n months      a = x[n] = (s ((1 + r)^(n + 1) - 1))/r
invested value after n months       z[n] = (a - b) (1 + g)^n

Con cantidades de longitud de ciclo n = 5antes de invertir, un esquema se ve así:

ingrese la descripción de la imagen aquí

Cada monto de inversión en intervalos de cinco meses es de $ 439.09, que se muestra mediante cálculos de ejemplo.

100 (1 + r)^4 + 100 (1 + r)^3 + 100 (1 + r)^2 + 100 (1 + r) + 100 - 65 = 439.09

n = 5
a = x[n - 1] = 504.09

z[0] = 439.09

El esquema muestra las inversiones que se extienden solo durante 19 meses.

El total de inversiones a 60 meses, incluyendo los $100 apartados en el mes 60, es de $6769.86, es decir

For j = 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, 0

If[j < n, x[j], z[j - n + 1]]

final values = 685.05, 658.37, 632.74, 608.11, 584.43, 561.68,
               539.81, 518.79, 498.59, 479.18, 460.52, 442.59, 100

Total = 6769.86

Mirando un rango de ciclos de duración, todos hasta 60 meses, los totales son erráticos.

ingrese la descripción de la imagen aquí

Tenga en cuenta jque se toma del máximo, por lo que para inversiones de más de, digamos, 62 meses

j = 62, 57, 52, 47, 42, 37, 32, 27, 22, 17, 12, 7, 2

La extensión por 600 meses suaviza la curva dando un claro óptimo de n = 18. Lo mismo npor 6000 meses; la curva ahora es estática (aunque los totales cambian). El recálculo se puede realizar para diferentes tasas de interés, monto periódico y comisión de corretaje.

ingrese la descripción de la imagen aquí

Sin embargo, como se mencionó, producir una fórmula para lo óptimo nno es tan fácil.

Se puede obtener una expresión para el total en cada uno n, por ejemplo, con

max = 60
n   = 5
d   = Quotient[max, n] = 12   (the integer quotient of max and n)
e   = Mod[max, n] = 0

ingrese la descripción de la imagen aquí

(s ((1 + r)^(e + 1) - 1) -
   ((1 + g)^(e + 1) ((1 + g)^(d n) - 1) (b r + s - (1 + r)^n s))/
    ((1 + g)^n - 1))/r = 6769.86

Aplicando esto a la pregunta de demostración del OP

Por ejemplo, podría reservar $100 cada semana para invertir en una acción con un crecimiento esperado del 9 % anual, pero las tarifas de corretaje son de $10 por operación. ¿Durante cuántas semanas debo acumular los $100 antes de invertir, si puedo depositarlos en mi cuenta bancaria de alto interés al 4% anual hasta entonces?

Tomando la tasa bancaria como nominal capitalizable mensualmente y la tasa bursátil como efectiva.

ingrese la descripción de la imagen aquí

El monto invertido al acumular cada 15 montos es

((1 + r)^14 + (1 + r)^13 + (1 + r)^12 +
 (1 + r)^11 + (1 + r)^10 + (1 + r)^9 +
 (1 + r)^8  + (1 + r)^7  + (1 + r)^6 +
 (1 + r)^5  + (1 + r)^4  + (1 + r)^3 +
 (1 + r)^2  + (1 + r) + 1) s - b = 1498.09