Mi pregunta es: dada una cantidad de inversiones de diferentes cantidades, mantenidas por diferentes períodos de tiempo, ¿cómo calcularía un crecimiento anual promedio aproximado para toda la cartera durante su vida útil? (Supongo que una respuesta exacta no será posible a partir de estos datos).
En mi cartera, he rastreado los siguientes datos:
A partir de eso puedo calcular:
Aquí hay algunos valores del mundo real, si eso ayuda:
En el siguiente método se calculan todos los valores de la cartera en cada intervalo de tiempo. Luego se agregan en cada período de tiempo y se calcula el rendimiento del período. Finalmente, los rendimientos del período se capitalizan y anualizan.
Por ejemplo, el rendimiento de la cartera entre periodos x5
y x6
es
(a11 + a23 + a34)/(a1 + a22 + a33) - 1 = 0.903 %
donde a1
es el valor inicial del activo 1 y a11
es el valor del activo 1 después de un período de tiempo. Si se conocieran los valores reales, esto daría un mejor resultado, pero dada la información limitada, se calculan.
La capitalización de los rendimientos del período es lo mismo que tomar el rendimiento ponderado en el tiempo.
s1 = {2017, 6, 7};
e1 = {2017, 12, 4};
s2 = {2015, 9, 2};
e2 = {2017, 11, 1};
s3 = {2015, 2, 25};
e3 = {2017, 7, 3};
s4 = {2015, 2, 20};
e4 = {2017, 6, 2};
d1 = QuantityMagnitude@DateDifference[s1, e1, "Day"];
d2 = QuantityMagnitude@DateDifference[s2, e2, "Day"];
d3 = QuantityMagnitude@DateDifference[s3, e3, "Day"];
d4 = QuantityMagnitude@DateDifference[s4, e4, "Day"];
a1 = 4606.75;
v1 = 4529 + 27.48;
a2 = 3500;
v2 = 5827 + 56;
a3 = 2900;
v3 = 3998 + 72;
a4 = 2900;
v4 = 3566;
r1 = (v1/a1)^(1/d1) - 1.0
r2 = (v2/a2)^(1/d2) - 1.0
r3 = (v3/a3)^(1/d3) - 1.0
r4 = (v4/a4)^(1/d4) - 1.0
-0.0000609549 0.000656731 0.000394644 0.000248211
Las anteriores son las tasas diarias de rendimiento de los cuatro activos.
x1 = {2015, 2, 20};
x2 = {2015, 2, 25};
x3 = {2015, 9, 2};
x4 = {2017, 6, 2};
x5 = {2017, 6, 7};
x6 = {2017, 7, 3};
x7 = {2017, 11, 1};
x8 = {2017, 12, 4};
k1 = QuantityMagnitude@DateDifference[x1, x2, "Day"];
k2 = QuantityMagnitude@DateDifference[x2, x3, "Day"];
k3 = QuantityMagnitude@DateDifference[x3, x4, "Day"];
k4 = QuantityMagnitude@DateDifference[x4, x5, "Day"];
k5 = QuantityMagnitude@DateDifference[x5, x6, "Day"];
k6 = QuantityMagnitude@DateDifference[x6, x7, "Day"];
k7 = QuantityMagnitude@DateDifference[x7, x8, "Day"];
a41 = a4 (1 + r4)^k1;
a42 = a41 (1 + r4)^k2;
a43 = a42 (1 + r4)^k3
3566.
El valor calculado del activo 4 después de tres períodos es el mismo que el valor final v4
anterior.
a31 = a3 (1 + r3)^k2;
a32 = a31 (1 + r3)^k3;
a33 = a32 (1 + r3)^k4;
a34 = a33 (1 + r3)^k5
4070.
a21 = a2 (1 + r2)^k3;
a22 = a21 (1 + r2)^k4;
a23 = a22 (1 + r2)^k5;
a24 = a23 (1 + r2)^k6
5883.
a11 = a1 (1 + r1)^k5;
a12 = a11 (1 + r1)^k6;
a13 = a12 (1 + r1)^k7
4556.48
z1 = a41/a4;
z2 = (a31 + a42)/(a3 + a41);
z3 = (a21 + a32 + a43)/(a2 + a31 + a42);
z4 = (a22 + a33)/(a21 + a32);
z5 = (a11 + a23 + a34)/(a1 + a22 + a33);
z6 = (a12 + a24)/(a11 + a23);
z7 = a13/a12;
k = QuantityMagnitude@DateDifference[x1, x8, "Day"];
(z1*z2*z3*z4*z5*z6*z7)^(365/k) - 1
0.154885
Entonces, el rendimiento de la cartera es del 15,49% anual.